Support de présentation : "Atelier : boostez vos Backlog Grooming/Refinement avec l'Example Mapping !"
Le support à imprimer pour faciliter l'atelier : https://www.slideshare.net/JeanPierreLambert1/atelier-boostez-vos-backlog-groomingrefinement-avec-lexample-mapping-support-imprimer
Cette œuvre de Jean-Pierre Lambert est mise à disposition selon les termes de la licence Creative Commons Attribution 4.0 International. https://creativecommons.org/licenses/by/4.0/
2. Backlog Grooming / Backlog Refinement
2
…? !
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
3. Spécifications exécutables ?
3
• Spec by Example
• Behavior-Driven
Development
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
4. Example Map
4
Blog de Cucumber
Example Mapping Introduction
http://bit.ly/example-map
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
5. Règles des ateliers
• Phases d’atelier en petits groupes
• Phases d’atelier limitées dans le temps (timebox)
• Plusieurs exercices donnés, mais il n’est pas
prévu que réussissiez à tous les faires dans le
temps imparti : prenez les un par un, dans
l’ordre, et avancez à votre rythme
• Phases d’atelier suivies d’un debrief collectif
• Il y aura parfois des questions bonus !
5
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
6. Créons les groupes !
6
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
7. Premier Example Map, ensemble
7
Login
Utilisateur
connu, mauvais
mot de passe
Utilisateur
connu, bon mot
de passe
Jaune = User Story
Bleu = Règle
Vert = Exemple
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
8. Premier Example Map, ensemble
8
Login
Utilisateur
connu, mauvais
mot de passe
Utilisateur
connu, bon mot
de passe
Jaune = User Story
Bleu = Règle
Vert = Exemple
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
9. Atelier 1 [10 minutes]
Exercice 1
Complétez le précédent Example Map en
intégrant la subtilité suivante :
« Un message d’erreur est affiché lors d’un
échec de connexion »
9
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
10. Atelier 1 [10 minutes]
Exercice 2
Complétez le précédent Example Map en
intégrant la subtilité suivante :
« Anti-spammeurs : il ne faut pas indiquer si
l’identifiant existe ou pas dans le système »
10
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
11. Atelier 1 [10 minutes]
Exercice 3
Complétez le précédent Example Map en
intégrant la subtilité suivante :
« Il ne faut pas afficher de message si
l’utilisateur valide le formulaire de connexion
alors qu’aucun des deux champs n’est rempli »
11
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
12. Atelier 1 [10 minutes]
Exercice 4
Complétez le précédent Example Map en
intégrant la subtilité suivante :
« Une fois connecté, on redirige les utilisateurs
mobile sur la page d’accueil mobile et les
utilisateurs desktop/tablette sur la page
d’accueil desktop »
Conseil : la notion d’utilisateur mobile vs.
desktop est déjà implantée dans le produit
12
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
13. Atelier 1 [10 minutes]
Exercice 5
Complétez le précédent Example Map en
intégrant la subtilité suivante :
« Anti-spammeurs : mise en place d’un captcha
pour éviter les connexions par robot »
13
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
14. Atelier 1 [10 minutes]
Exercice 6
Complétez le précédent Example Map en
intégrant la subtilité suivante :
« L’utilisateur peut récupérer son mot de
passe »
14
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
15. Atelier 1 [10 minutes]
Debrief
• En gros c'est ce qu'aurait fait le PO qui aurait
bossé dans son coin, et qui arrive (avec sa
spec ?) et présente l’US
• Ne mélangeons pas exemples et règles
15
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
16. Atelier 2 [20 minutes]
Exercice 1
Créer un nouvel Example Map correspondant au
besoin suivant :
« La page d’accueil propose trois mises en page
différentes en fonction de la largeur d’écran du
terminal utilisé par l’utilisateur; mise en page A
jusqu’à 400, mise en page B jusqu’à 1200 et mise
en page C au-delà »
Question bonus : quels cas sont intéressants ?
16
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
17. Atelier 2 [20 minutes]
Exercice 2
Créer un nouvel Example Map correspondant au
besoin suivant :
« L’utilisateur peut rechercher d’autres profils ;
la recherche de profil n’affiche que les profils
proches de l’utilisateur, en tenant compte du
choix de proximité qu’il a configuré dans ses
préférences : ville, région ou pays »
Question bonus : que veulent dire ces options :
« ville », « région » et « pays » ?
17
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
18. Atelier 2 [20 minutes]
Exercice 3
Créer un nouvel Example Map correspondant au besoin suivant,
et complétant le fonctionnel de l’Example Map précédent :
« Chaque jour, la page d’accueil de l’utilisateur propose une liste
de 100 profils qui correspondent à ses préférences de recherche.
Cette liste est figée pour la journée, mais on ne re-propose pas
les profils qui ont déjà été passés en revue par l’utilisateur (mis
en favoris ou refusé) »
Question bonus 1 : qu’est-ce que la notion de « journée » ?
Question bonus 2 : que se passe-t-il lorsque l’utilisateur change
ses préférences de recherche ?
18
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
19. Atelier 2 [20 minutes]
Exercice 4
Créer un nouvel Example Map correspondant au besoin
suivant :
« Lorsque l’utilisateur met en favori un profil, il lui est
proposé d’envoyer un message ; en sachant que seuls
les utilisateurs payant ont le droit d’envoyer des
messages mais qu’en Allemagne on peut envoyer 5
messages gratuitement, contrairement à la France »
Question bonus : que se passe-t-il lorsque l’utilisateur
met en favori un profil alors qu’il n’est pas un utilisateur
payant ?
19
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
20. Atelier 2 [20 minutes]
Debrief
• Utilisation des cartes rouges « question » ?
• Imaginez ce que ça peut donner sans
« spec » mais juste avec un besoin formulé !
• C'est le BDD...
• Heuristique : trop d’exemples = plusieurs
règles sont mélangées
20
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
21. Atelier 3 [10 minutes]
Reprendre les Example Maps de l’atelier
précédent et simplifier l’écriture de leurs
exemples.
Question bonus 1 : comment condenser
plusieurs cas similaires ?
Question bonus 2 : comment condenser
l’écriture de scénarios complexes ?
21
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
22. Atelier 3 [10 minutes]
Debrief
• Rien n’égale la liberté du crayon + papier
(feutre + bristol) : dessins, tableaux, flèches,
formules…
• Un véritable bonus pour booster la réflexion, à
la fois communiquer plus d’information tout
en ne réduisant pas la génération d’idée
22
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
23. Atelier 4 [10 minutes]
Reprendre les Example Maps de l’atelier
précédent et les découper en plusieurs User
Stories :
• Plus petites
• Mais toujours pertinentes : qui apportent de
la valeur utilisateur et démontrable
Question bonus : comment découper facilement
une User Story à partir de son Example Map ?
23
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
24. Atelier 4 [10 minutes]
Debrief
• C’est facile !
• Souvent il suffit de regrouper les règles pour
voir émerger les nouvelles User Stories
24
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
25. En résumé
• L’atelier parfait pour expliciter tous les comportements
attendus et « avoir une spec béton »
• L’atelier parfait aussi pour explorer un besoin et faire
émerger la solution (le BDD !)
• Vous pouvez diverger : c’est un atelier dynamique, en
écrivant certaines choses on pense à d’autres etc.
• Le côté physique est important : on peut dessiner, faire des
flèches, des tableaux… On peut changer l’ordre des cartes à
volonté… On peut réécrire des cartes, ou les raturer
• Trop d’exemples = plusieurs règles mélangées
• Trop de règles = découper en plusieurs User Stories
25
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
26. Comment l’utiliser
au quotidien
• Comme réunion pour définir les scénarios d’acceptation
automatisée (plus de détail dans la slide suivante…)
• … Ou juste comme moyen de faciliter les échanges lors du
Backlog Grooming/Refinement
• Le mindset est essentiel : les « 3 Amigos »
• Se pose la question du partage de l’information au sein de
l’équipe avec seulement certains membres de présent
• L’atelier marche aussi à plus de 3 et avec des phases en sous-
groupes
• Sans automatisation : utiliser la pile de cartes comme spec !
• Complémentarité avec le User Story Mapping
26
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
27. Automatisation
des tests d’acceptation
• On est sensé lister les scénarios en séance, pas les écrire
dans le détail
• Les outils s’accompagnent de contraintes supplémentaires !
• La rédaction du « Gherkin » (Given – When – Then) ou autre
n’implique pas forcément l’Amigo Produit, qui assure par
contre une relecture
• L’exemple devient un cas de test automatisé : cela tire des
ficelles techniques et implique les bonnes pratiques de test
• … Et comment le partager ? Qui pousse dans GIT ?
27
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
28. Merci ! Questions ?
jp-lambert.me
www.twitter.com/jpierrelambert
www.linkedin.com/in/jp-lambert
contact@jp-lambert.net
www.youtube.com/c/ScrumLife
Cette œuvre de Jean-Pierre Lambert est mise à
disposition selon les termes de la licence Creative
Commons Attribution 4.0 International.
28