Post on 15-Jan-2017
USER STORIES de A à US@martialsegura
Sommaire
Introduction Exercice d’échauffement Les origines des User Stories Définition d’une User Story Méthode INVEST Erreurs à éviter Conclusion
3
4
Exercice d’échauffement
Spécifieurs et les artistesObjectif : Reproduire le dessin du client.
Règles du jeu :L’animateur joue le rôle d’un client qui demande à ce que l’on reproduise un dessin. L’équipe de réalisation est composée de 2 groupes : les « spécifieurs » et les « artistes ».
> Mission des spécifieurs : Fournir une description en langage naturel du dessin à reproduire.
> Mission des artistes :Reproduire le dessin au mieux
5
6
Un peu d’Histoire…
Dinosaures Préhistoire
2001
JC0
Moyen Age & Cycle en V
Matrice rôle-fonctionnalité de Rachel Davies &
Tim McKinnon en 2001
2001
Les « 3C »Ron Jeffries
Extreme programming
2006
Matrice given-when-then décrivant les tests de recette
par Dan North
2003
Grille INVEST par Bill Wake
"INVEST in Good Stories and SMART tasks"
Modernité & agilité
JCVD2004
7
Suite à l’arrivée de l’Agilité
Finalement, c’est comme avant – Recueil des besoins– Recherche d’idées innovantes– Groupes de réflexion + ateliers de travail
Cependant – On ne cherche plus à tout définir à l’avance– On commence par ce qui a le plus de valeur– On se concentre sur le point de vue de l’utilisateur– On affine le besoin directement avec les
développeurs
8
Les débuts des User Stories… C’EST
L’HISTOIRE D’UN MEC …
9
Les 3 C de Ron JEFFRIES
Ron JEFFRIES
Carte
• Les Story sont traditionnellement écrite sur des cartes
• Les cartes peuvent être annotées avec des estimations, des commentaires, des critères d’acceptation, etc.
ConversationLes détails derrières les cartes peuvent être étudiés durant les conversations avec le Product owner
Confirmation La validation des tests confirme que les stories ont été développées correctement
10
« »
Une user story est une invitation à avoir une conversation avec son client et l’équipe sur un sujet particulier.
Définition d’une User Story
11
Définition d’une User Story
• Compréhensible par tous (pas de terme technique)
• Raconte une histoire liée à un ou plusieurs utilisateurs
• Légère et simple à rédiger (format post-it)
• Suffisamment claire pour permettre aux développeurs d’estimer
sa faisabilité
12
Elle se formalise ainsi…
• Une phrase– En tant que utilisateur, je veux faire cette action,
afin d’obtenir tel bénéfice de l’application
• Notes– Décrivent : le contexte, les cas nominaux, la documentation à
disposition, les contraintes techniques particulières, etc.
• Critères d’acceptation– Ils décrivent les résultat attendus de l’User Story – Ils sont accompagnés de tests fonctionnels, d’exemples ou de contre-exemples
« Si l’on ne sait pas définir un test sur une demande, c’est que l’on ne sait pas ce que l’on veut vraiment ! »
13
Exemple de User Story
• User Story– En tant que nouvel utilisateur, je veux créer un compte avec un mot de
passe sécurisé afin de me connecter à mon compte et le message « Hello <identifiant> » s’affiche.
• Notes– Les mots de passe ne doivent pas être trop courts, ils doivent pouvoir
contenir des caractères spéciaux et des chiffres
• Critères d’acceptation– Mots de passe sécurisés pouvant être créé : p@ssword, azerty$$,
planète!75, Mot_De_Passe!
14
15
INVEST-issez dans de bonnes User-Stories !
I Indépendant des stories suivantes (et si possible des précédentes)
N Négociable avec les développeurs (pour optimiser le ROI)
V Valorisant pour l’utilisateur (pas de “afin de” bateau)
E Estimable (doit pouvoir être chiffré, solution technique connue)
S Suffisamment petit pour éviter l’effet tunnel et tenir en un sprint (grand max)
T Testable (doit pouvoir être testé)
Bill WAKE
16
Racontez vos histoires…Sur un tableau de suivi, avec des post-it
En tant que <utilisateur>, je veux <action>, afin de <bénéfice>.
2US06
17
Racontez vos histoires…Sur un tableau de suivi, avec des post-it - exemple
18
Dans un tableau de suivi sous EXCELID Thème Nom Story Com-
plexitéValeur ROI Release Ordre de
priorité
1aa 1- Gallerie photo
Ajout / Suppression de photo + visu simple
En tant que visiteur, je veux voir des photos récentes des animaux et du zoo, afin de savoir si j’ai envie d’y aller R1
1ab 1- Gallerie photo
Description d’une photo
En tant que visiteur, je veux voir une description de ce que représente chaque photo, afin de préparer ma visite et peut-être trouver plus facilement ce que je cherche
R1
1ac 1- Gallerie photo
Dépôt des photos par lots + galleries multi-page
En tant que visiteur, je veux voir beaucoup de photos récentes, afin de me rassurer sur la richesse du lieu
R1
2a 2- Actus Voir les actus récentes + création simple
En tant que visiteur, je veux voir des actus récentes sur le zoo, afin de reperer des événements qui pourraient me donner envie d’y aller
R1
1bb 1- Gallerie photo
Parcourir les photos (vue slideshow)
En tant que visiteur, je veux afficher un diaporama pleine page (ou écran) des photos, afin d’en apprécier les détails et de les parcourir facilement
R2
Racontez vos histoires…
19
Dans un tableau de suivi sous EXCEL
ID Thème Nom Story Com-plexité
Valeur ROI Release Ordre de priorité
1aa 1- Gallerie photo
Ajout / Suppression de photo + visu simple
En tant que visiteur, je veux voir des photos récentes des animaux et du zoo, afin de savoir si j’ai envie d’y aller XL R1
1ab 1- Gallerie photo
Description d’une photo
En tant que visiteur, je veux voir une description de ce que représente chaque photo, afin de préparer ma visite et peut-être trouver plus facilement ce que je cherche
M R1
1ac 1- Gallerie photo
Dépôt des photos par lots + galleries multi-page
En tant que visiteur, je veux voir beaucoup de photos récentes, afin de me rassurer sur la richesse du lieu L R1
2a 2- Actus Voir les actus récentes + création simple
En tant que visiteur, je veux voir des actus récentes sur le zoo, afin de reperer des événements qui pourraient me donner envie d’y aller
XL R1
1bb 1- Gallerie photo
Parcourir les photos (vue slideshow)
En tant que visiteur, je veux afficher un diaporama pleine page (ou écran) des photos, afin d’en apprécier les détails et de les parcourir facilement
S R2
Racontez vos histoires…
20
Racontez vos histoires… Avec le logiciel Jira (User Story)
21
Racontez vos histoires… Avec le logiciel Jira (Task Board)
22
FAILS
23
Erreur courante #1Surcharger les post-it
En tant que <utilisateur>, je veux <action>, afin de <bénéfice>.
2US06
La Story
N°ID Complexité
Qui ? Qui réaliseEPIC Activité
Valeur métier
XL
24
Erreur courante #1 > Recommandation Surcharger les post-it
En tant que <utilisateur>, je veux <action>, afin de <bénéfice>.
2US06
Recherchez constamment la simplicité !
25
Erreur courante #2Transformer un cahier des charges en un backlog
Cahier des charges Backlog
26
Organisez des ateliers Vision, Personas, User Story Mapping et Roadmap avec les parties prenantes pour bien démarrer !
Erreur courante #2 > RecommandationTransformer un cahier des charges en un backlog
27
Erreur courante #3Une User Story peut servir à un découpage technique
En tant qu’utilisateur, je veux un bouton en bas, afin de valider ma page.
2US06
28
Erreur courante #3 > RecommandationUne User Story peut servir à un découpage technique
En tant qu’utilisateur, je veux pouvoir remplir un formulaire, afin de m’inscrire sur le service proposé.
2US06
Changez la formulation pour raconter une histoire !
29
Erreur courante #4Préciser tous les détails, dès la création de la User Story alors que j’en aurai besoin dans un sprint futur
30
Erreur courante #4 > Recommandation
Temps
Préciser tous les détails, dès la création de la User Story alors que j’en aurai besoin dans un sprint futur
Précisez les User Stories au plus prochedu sprint concerné par sa réalisation !
31
Erreur courante #5Les User Stories précisent chaque détail d’une page ou d’un processus
En tant qu’utilisateur, je veux un champs adresse,
afin de créer mon compte.
0,5US14
En tant qu’utilisateur, je veux un champs nom, afin de créer mon compte.
0,5US13
En tant qu’utilisateur, je veux un champs prénom,
afin de créer mon compte.
0,5US15
32
Erreur courante #5 > RecommandationLes User Stories précisent chaque détail d’une page ou d’un processus
En tant qu’utilisateur, je veux remplir un formulaire,
afin de créer mon compte.
200US07
Echangez avec les développeurs pour connaitre le niveau de détail attendu dans les users stories !
33
Erreur courante #6La User Story est beaucoup trop grosse pour entrer dans un sprint
En tant qu’utilisateur, je veux administrer mes comptes bancaires, afin de gérer personnellement mes comptes.
200US07
34
Erreur courante #6 > RecommandationLa User Story est beaucoup trop grosse pour entrer dans un sprint
En tant que <utilisateur>, je veux <action>, afin de <bénéfice>.
10USxx
En tant que <utilisateur>, je veux <action>, afin de <bénéfice>.
5USxx
En tant que <utilisateur>, je veux <action>, afin de <bénéfice>.
2USxx
Découpez l’Epic en plusieurs User Stories !
35
Erreur courante #9N’avoir que 1 ou 2 User Stories par développeur et par sprint
Création d’un effet tunnel garanti qui risque de mettre le sprint en péril
36
Erreur courante #9 > RecommandationN’avoir que 1 ou 2 User Stories par développeur et par sprint
Mieux découper les US pour produire plus de 4 User Stories par développeur / sprint
37
Erreur courante #10Passer à « done », une User Story qui ne devrait pas l’être
« Il ne reste plus qu’à intégrer »
« On n’a pas testé mais j’ai confiance ! »
« On y est presque ! »
38
Erreur courante #10 > RecommandationPasser à « done », une User Story qui ne devrait pas l’être
1/ Ne pas compter une user story « not done » dans la vélocité
2/ Reportez la user story et ses points dans le sprint suivant
3/ Essayez de mieux découper les user stories dans le futur
39
Erreur courante #11Confondre une User Story et un Use Case
User Story
Use Case
40
Erreur courante #11 > RecommandationConfondre une User Story et un Use Case
En savoir plus : http://leanmagazine.net/req/a-use-case-is-to-a-user-story-as-a-gazelle-to-a-gazebo/
41
42
« »
Le meilleur format d’une user story est celui qui fonctionne avec votre équipe !
N’oubliez pas !
43
N’oubliez pas !
• Gardez en tête qu’une user story est avant tout une histoire qui se raconte, crée la discussion et amène l’équipe à confirmer sa compréhension du besoin.
• N’hésitez pas à abuser des dessins, maquettes, schémas, wireframes, etc. Une image vaut mille mots !
• Ne soyez pas dogmatique, écrivez les user stories dont l’équipe a besoin pour développer : ni plus, ni moins !
• Demandez régulièrement à l’équipe ce qui peut être amélioré Le PO doit aider constamment l’équipe de réalisation
Des questions ?
45
Return On TIme (ROTI)
Sur une échelle de 1 à 5, quelle note donneriez-vous à cette présentation ?
Non Bof Plutôt oui Oui Au delà de mes attentes !
46
Martial SEGURA@martialsegura
Merci !
Credit PPT : http://www.slidescarnival.com/friar-free-presentation-template/425
47
Usa
ge c
omm
erci
al n
on a
utor
isé U
sage comm
ercial non autorisé