User Stories |ˈIOUZER STORIˈ|
!
!

La user story est l'unité de base de valeur métier produite pour le client
Cette document présente comment rédiger des
User Story. 	

Nous partons sur approche simple : un client,
une équipe Agile ...
User Centric
Les pratiques Agile sont orientées autour de
l’utilisateur final. Il est au centre de la démarche. 	

On racon...
Les User Stories
Compréhensible par tous	

Raconte une histoire	

Légère et simple à rédiger	

Permet de maintenir la tail...
Avec un objectif, de proposer une
vision orientée utilisateur final
Perspective client

Perspective utilisateur
Faire emerger la vision
Story Mapping

Lean Startup
Frugal Innovation
Fonctionnalités

Sprint 0
2

Génération des

1

3

C...
Il existe plusieurs pratiques pour
faire émerger les idées, tels que :
!

Le Lean Startup
Frugal Innovation
Lean Startup
(ceci est une présentation de Lean Startup pas une formation à cette pratique)
Quatre étapes

Pitch Elevator
1

Business
Model Canevas
2

Minimum
Viable Product
3

Interview
4
la génération d’idées

Pitch Elevator
Pitch Elevator

4

L’article est
géolocalisé...

5

3

Nous avons une
application Ipad...

Le prix est
affiché...

6

...h...
Le
Processus de
génération d’idées

2

1
“Accrochez-le sur un mur”
Votre public est conquis
?
Créer votre Business
Model !...
Qu’est-ce que le 

Business
Modelmen?s...
t
élé
9
7. Partenaires
clés

8. Activités
clés

Comment votre société
crée de la...
C’est pour résoudre un
besoin ou un problème

1. Propositions
de valeurs

!

Ce n’est pas à propos
de votre idée ou votre ...
Qui sont-ils ?
Pourquoi ils 

voudraient acheter ?

2. Segments
clients

!

Votre client n’existe pas
seulement pour achet...
Les clients

3. Canaux

?

Canal physique

Comment distribuer vos produits de votre
entreprise jusqu’à vos clients

Votre ...
?

4. Relations
Clients

Comment votre entreprise gagne, conserve
et fait grossir ses parts de marché
Quelle valeur le
client achète

5. Revenue

?

Comment votre société fait de l’argent
pour chaque segment client
Brevets

Physique

6. Ressources clés

?

Quels sont les actifs les plus importants
pour faire fonctionner votre Business
...
Quels partenariats pour augmenter vos
performances ?

7. Partenaires clés

?

Quels sont vos partenaires et fournisseurs
n...
?

8. Activités clés
Quelle est la chose la plus importante
que doit faire votre société pour faire
fonctionner votre Busi...
9. Coûts structurels

?

Quels sont les couts pour réaliser ce
Business Model
Le
CANEVAS...
Un ensemble
d’hypothèses ?
de supposition !

?

Comment changer une
supposition en faits
Minimum
Viable Product

Le Produit minimum viable permet de
vérifier l’existence d’un besoin, un marché.
Il permet aussi d...
Frugal Innovation
(ceci est une présentation de la Frugal Innovation pas une formation à cette pratique)
Faire plus avec moins
Technique en provenance d’Inde, elle permet de challenger les
équipes métiers/marketing pour fournir...
Sprint 0
Le sprint 0 est période de temps utilisée
pour préparer ce qui est nécessaire à la
réalisation d’un projet. 	

Le sprint 0...
À la différence du Lean Startup ou de la
Frugal Innovation, le Sprint 0 est orienté
projet	

C’est une phase qui apparait ...
Le sprint 0
Faire	
  émerger	
  le	
  projet
La forme du projet (Quoi)	

Le but (Pourquoi) 	

Les implémentations possible...
Le sprint 0
Faire	
  émerger	
  le	
  projet
La forme du projet (Quoi)	

Le but (Pourquoi) 	


leur
va
le /
nel
tion
onc
F...
L’ÉQUIPE DU SPRINT 0
Business	
  Owner	
  
!

Product	
  Owner	
  
!

Équipe	
  ar:s:que	
  
!

Équipe	
  technique	
  

R...
l’équipe projet

Client
Branding
Utilisateurs

Business

Contenu

Marketing
Technologie

Utilisateurs
L’ENVIRONNEMENT

RADIATEUR D’INFORMATION	

Affichage public des informations du projet
L’obeya, le centre des opérations
Kanban

Prototype

Tableau 	

blanc

User stories

Thème
Sprint en cours

Obstacles
L’OBEYA OU LE COCKPIT
Il est important que l’équipe soit un
espace de réflexion pour centraliser et
discuter autour des inf...
L’OBEYA OU LE COCKPIT
Cette espace peut impliquer une
adaptation de l’environnement pour
fournir un cadre de travail agréa...
Atelier client
ATELIER DES USER STORIES
Objectif 	

Identifier les User Stories	

Identifier les utilisateurs de l’application	

Identifier ...
ATELIER DES USER STORIES
Règle : 	

Quantité avant la qualité	

Respecter l’avis de tous	

Séquencer le temps par personne
STORY MAPPING
Le story Mapping
Permet de cartographier les User
Stories dans le temps et par priorité
Le squelette de notre Story Mapping

Gérer un devis

je veux créer un
devis
Mettre à jour
un devis
Supprimer un
devis

Gér...
Gérer un devis

Gérer un
contrat

fonctionnalité	

macro
Temps

je veux créer un
devis
Mettre à jour
un devis
Supprimer un...
Le squelette de notre Story Mapping

érer un devis
G

veux créer un
je
devis
1

Priorit

Mettre à jour
un devis 2
Supprime...
Les Personas
Dans la pratique précédente, nous avons
identifié les grandes fonctionnalités du produit,
nous devons identifier nos utili...
Le Persona est une représentation d’une
personne qui utilise votre produit
!

Un utilisateur type
qui permet d’aider dans ...
La fiche Persona
Marguerite passionnée par le tricot à découvert
lors du passage de son petit fils une
application Ipad sur...
Construire la fiche Persona
Marguerite L.
Âge : 87 ans
vit au : Faou
Secteur: Il n’y a plus de secteurs à cet âge
Revenus :...
La fiche Persona
Jacques est téléconseiller chez « Free sauf
pour Youtube », il assiste les personnes qui
ont besoin d’une ...
Le story board
Créer les scénarios à partir de nos personas
Je suis une mamie, je veux trouver un papi pour faire
autre chose que du tric...
Cartographier le cheminement
de l’utilisateur

Je suis une mamie, je veux trouver un papi pour faire
autre chose que du tr...
Les user stories
Je suis une mamie, je
veux 	

mettre en ligne mon
profil

Je suis un responsable,
je veux 	

consulter les...
Les story board

r un profil
Crée

...

onsulter des
C
profils

Client

nsulter les
Co
manucures
Conseiller

er pour une
V...
MMF
Minimal Marketable
Feature
Les Minimal Marketable Feature
sont
!

Le plus petit ensemble de fonctionnalités
qui doivent être réalisées pour que le cl...
La synthèse de notre activité de story
Mapping et sur story board utilisateurs
classés par autre de valeur pour le client
...
Nous développerons le produit sous la
forme de cadence en Minimal Marketable
Feature
’une
e qu
est c
Qu’
tory
ser s
u
Une user story est une façon de “spécifier” un besoin
fonctionnel. C’est essentiellement une méthode de
communication au s...
!

“En tant qu’utilisateur, je veux me connecter à Google afin
d’accéder à tous mes services en lignes”

Imaginons les crit...
Les critères d’acceptations
Un critère d’acceptation au sens classique doit être :

!

Une vision utilisateur

Ne pas prop...
Ron jeffries les trois C
Carte

•Les story sont traditionnellement écrits sur des
cartes, post-it, …

Conversation

Elle e...
Exemple depuis un site de
voyages

suis un
je
teur, je
utilisa
server
veux ré
n hôtel
u

je suis un
utilisateur, j
e veux
...
Quels sont les détails dans mon
US ?
• Je suis un utilisateur, je veux annuler une réservation	

•
•
•

Le client reçoit u...
Les détails sont ajoutés sous la forme de user stories

je suis un
utilisateur, je
veux annuler
une réservation

Je suis u...
Les détails sont potentiellement une condition de satisfaction

Le product owner peut ajouter aux users stories des
condit...
Un exemple de jeux de
développement
Je suis un joueur, je
veux que les ennemis
aient une réaction
physique quand je les
to...
Les techniques peuvent être combinées

•

Les approches ne s’excluent pas mutuellement

•

Découpage en User Story ou sous...
user
r des
dige
Ré
ries
sto
L’Iceberg du produit backlog
Sprint

Release
Future	

Release

Priorité
L’Iceberg du produit backlog
User Story
Thèmes

Une collection de
user stories sur le
même thème

Features

Des user stori...
Un exemple

Je suis un musicien, je
veux gérer mes
morceaux de musique

Clairement une Epic

Je suis un musicien, je
veux ...
Un exemple
Je suis un musicien, je
veux obtenir la liste des
musiques au format
audio	

pour une période de
temps précise ...
Terminer, en ajoutant les conditions de
satisfaction

Je suis un musicien, je veux
afficher les musiques les plus
populaire...
Un autre
exemple

Je suis un joueur, je veux
jouer en ligne en mode
multiplayer, je me
connecte à internet et je
peux joue...
Un exemple
Je suis un joueur et je
veux savoir le nombre
de joueurs qui sont dans
la partie en cours
Je suis un joueur, je...
Atelier d’écriture des user stories
Sprint 0

•

Participants : product owner, utilisateurs, client, équipe,
etc.

•
•

Ré...
Commencer Macro et itérer
je suis un Voyageur
fréquent, je veux
pouvoir contrôler
mon compte

Voyageur
fréquent

Je suis u...
Utiliser le chemin de pensée
(mindmap)
Lorgner les
hommes

Retrouver le
profil des gens
Un groupe
de femmes
Trouver une
rel...
Une autre approche
• Utiliser un autre type d’interface utilisateur (le
papier)

• Question ouverte ou fermée, des questio...
(IR)	

VEST
IN
nne
ne bo
ns u
da
toire
his
Comment rédiger une bonne
story
I - Indépendance	

N - Négociable	

INVEST

V - Valeur	

E - Estimable	

S - Size (Taille)...
INDÉPENDANce
• Éviter d’introduire des dépendances	

• Conduit àetune difficulté de la définition des
priorités de planificat...
Rendre les User Stories indépendantes

Je suis un client, je peux
payer mes articles de
mon panier avec ma
carte VISA
Je s...
Rendre les user stories indépendantes
Combiner les histoires

Les découper au travers
de différentes dimensions

Je suis u...
NÉGOCIABLE
Une user story n’est pas un contrat

• Il n’est pas nécessaire d’inclure tous les
détails

• Laisser une flexib...
Qu'est-ce qui est le plus
négociable
Une boîte de dialogue permet aux utilisateurs d’éditer
la liste des imprimantes. La b...
Je suis un utilisateur,
je peux ajouter une
imprimante à ma liste
d’imprimante
Recherche automatique
Recherche manuelle pa...
Valeur
La User Stories doit avoir une valeur
pour le client final ou faire partie d’une
minimal Marketable Feature

Je sui...
Une user story rédigée par un développeur

• Elle doit être remaniée pour montrer le bénéfice
pour les utilisateurs et les...
Estimable
Une user stories peut ne pas être estimable si :

le domaine fonctionnel
est connu

Je suis un nouvel
utilisateu...
Taille approximative
• Des petites user stories pour un futur proche
• Macro (Epic) pour les prochaines
• Les user stories...
User stories combinées
• Une Feature comprend de multiples petites histoires	

• Qui cachent souvent un grand nombre d’hyp...
Découper en histoire
combinée
Découper en groupe opérationnel (CRUD)

• Je suis un vendeur, je peux créer une nouvelle ven...
Découper en histoire
combinée
Découper en données opérationnelles

• Je suis un vendeur, je peux créer et afficher une vent...
TESTABLE
• Un test démontre que la user stories correspond
aux besoins de l’utilisateur

Un utilisateur ne
doit jamais att...
BDD ou Behavior Driven Development
User
r vos
liore
Amé
ories
St
Une user story
Scénario nominal en BDD
Scénario des cas de test en BDD
Critères d’acceptations et éléments
techniques
Élém...
Behavior Driven Developpement
C’est une pratique qui encourage la collaboration entre les
développeurs, les testeurs et le...
le langage Gherkin défini pour le BDD ou Behavior Driven
Developement
!

Aussi connu dans le monde Agile sous la pratique ...
Les tests dans les user stories sont formalisés de manière à
ajouter des critères d’acceptation
!
!

Les BDD permet d’enri...
BDD est bien plus qu’une pratique de test, c’est
une évolution dans la rédaction des Users stories
!

Les users stories pe...
Une user stories “Je suis... Je veux...Afin de...” laisse la place à des
interprétations erronées
!
!

La cause et l’effet...
Contrairement aux users stories, le “comportement” suggéré par
le BDD apporte
!

le contexte (Etant donné que),
l’événemen...
Le contexte, l’événement et le résultat sont identifiés pour
chaque action de l’utilisateur ou du système
!
!

BDD fonctio...
Avantage
!

Permet aux développeurs et aux testeurs de comprendre les actions
à réaliser et comment le système va répondre...
Le temps projet consacré au BDD permet de réduire
les anomalies et les incompréhensions durant le cycle
de vie du projet
!...
BDD en action
Une user stories à un comportement

“En tant qu’utilisateu
r enregistrer, je veux m
e connecter sur
le site afin d'accéder
...
Les critères d’acceptations
La page d’accueil doit afficher une boîte de connexion
!

Le système doit valider les identifi...
Résultats
Le testeur indique vrai ou faux, le résultat des tests d’acceptation
!
!
!

Aucune description des événements, n...
BDD permet de raconter une histoire
La matrice BDD
La matrice Given - When - then est le format utilisé pour la
rédaction en BDD
!

Given (Etant donné que) : ...
“Scénario nominal d’authentification”	

!
!

Étant donné que je suis un utilisateur enregistré avec un identifiant et un
mot...
“Scénario authentification incorrecte”	

!
!

Étant que je suis un utilisateur enregistré avec gerard et un “Password2*”
Lo...
Le cycle de vie des BDD
Une démarche de rédaction des User Stories
PO

équipe de
développement

testeur(s)
1

Rédaction US en BDD

2

cas de test ...
Rédiger des User Stories
Rédiger des User Stories
Prochain SlideShare
Chargement dans…5
×

Rédiger des User Stories

46 613 vues

Publié le

Après une première présentation sur la rédaction des User Stories, je mets à jours une nouvelle présentation.

Publié dans : Technologie
1 commentaire
45 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
46 613
Sur SlideShare
0
Issues des intégrations
0
Intégrations
562
Actions
Partages
0
Téléchargements
742
Commentaires
1
J’aime
45
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rédiger des User Stories

  1. 1. User Stories |ˈIOUZER STORIˈ| ! ! La user story est l'unité de base de valeur métier produite pour le client
  2. 2. Cette document présente comment rédiger des User Story. Nous partons sur approche simple : un client, une équipe Agile et une application pour des utilisateurs finaux
  3. 3. User Centric Les pratiques Agile sont orientées autour de l’utilisateur final. Il est au centre de la démarche. On raconte notre histoire avec les User Stories On présente notre histoire avec le résultat
  4. 4. Les User Stories Compréhensible par tous Raconte une histoire Légère et simple à rédiger Permet de maintenir la taille dans le temps !
  5. 5. Avec un objectif, de proposer une vision orientée utilisateur final Perspective client Perspective utilisateur
  6. 6. Faire emerger la vision Story Mapping Lean Startup Frugal Innovation Fonctionnalités Sprint 0 2 Génération des 1 3 Customer Experience Mapping Minimal Marketable Feature 1 Minimal Marketable Feature 2 4 cinématique utilisateur
  7. 7. Il existe plusieurs pratiques pour faire émerger les idées, tels que : ! Le Lean Startup Frugal Innovation
  8. 8. Lean Startup (ceci est une présentation de Lean Startup pas une formation à cette pratique)
  9. 9. Quatre étapes Pitch Elevator 1 Business Model Canevas 2 Minimum Viable Product 3 Interview 4
  10. 10. la génération d’idées Pitch Elevator
  11. 11. Pitch Elevator 4 L’article est géolocalisé... 5 3 Nous avons une application Ipad... Le prix est affiché... 6 ...hop, il reçoit la newsletter 7 2 J’exporte le résultat... Le résultat est analysée… 5 minutes pour présenter votre projet, en racontant une histoire qui séduit l’auditoire 1 Je prends une photo de la ... 8 Je la fais rêver... avo! Br
  12. 12. Le Processus de génération d’idées 2 1 “Accrochez-le sur un mur” Votre public est conquis ? Créer votre Business Model !!! Créer un nouveau canevas Qu’il soit visible Commencer à faire les hypothèses...
  13. 13. Qu’est-ce que le Business Modelmen?s... t élé 9 7. Partenaires clés 8. Activités clés Comment votre société crée de la valeur en fournissant un produit ou un service 1. Proposition de valeur 3. Canaux 6. Ressources clés 9. Couts structurels 4. Relations clients 5. Revenus 8. Segments clients
  14. 14. C’est pour résoudre un besoin ou un problème 1. Propositions de valeurs ! Ce n’est pas à propos de votre idée ou votre produit C’est pour satisfaire un besoin client Et identifier qui sont vos clients
  15. 15. Qui sont-ils ? Pourquoi ils voudraient acheter ? 2. Segments clients ! Votre client n’existe pas seulement pour acheter - Géographique - Sociologique - démographique Français Buveur de vin jamais content adore son Ipad
  16. 16. Les clients 3. Canaux ? Canal physique Comment distribuer vos produits de votre entreprise jusqu’à vos clients Votre entreprise Web/mobile
  17. 17. ? 4. Relations Clients Comment votre entreprise gagne, conserve et fait grossir ses parts de marché
  18. 18. Quelle valeur le client achète 5. Revenue ? Comment votre société fait de l’argent pour chaque segment client
  19. 19. Brevets Physique 6. Ressources clés ? Quels sont les actifs les plus importants pour faire fonctionner votre Business Model Humaines
  20. 20. Quels partenariats pour augmenter vos performances ? 7. Partenaires clés ? Quels sont vos partenaires et fournisseurs nécessaires pour faire fonctionner votre Business Model
  21. 21. ? 8. Activités clés Quelle est la chose la plus importante que doit faire votre société pour faire fonctionner votre Business Model
  22. 22. 9. Coûts structurels ? Quels sont les couts pour réaliser ce Business Model
  23. 23. Le CANEVAS... Un ensemble d’hypothèses ? de supposition ! ? Comment changer une supposition en faits
  24. 24. Minimum Viable Product Le Produit minimum viable permet de vérifier l’existence d’un besoin, un marché. Il permet aussi de valider les hypothèses business
  25. 25. Frugal Innovation (ceci est une présentation de la Frugal Innovation pas une formation à cette pratique)
  26. 26. Faire plus avec moins Technique en provenance d’Inde, elle permet de challenger les équipes métiers/marketing pour fournir les fonctionnalités essentielles du produit Exemple : Dacia de Renault
  27. 27. Sprint 0
  28. 28. Le sprint 0 est période de temps utilisée pour préparer ce qui est nécessaire à la réalisation d’un projet. Le sprint 0 n’a pas de durée fixe contrairement aux autres de sprint du projet
  29. 29. À la différence du Lean Startup ou de la Frugal Innovation, le Sprint 0 est orienté projet C’est une phase qui apparait après une phase d’émergence des idées
  30. 30. Le sprint 0 Faire  émerger  le  projet La forme du projet (Quoi) Le but (Pourquoi) Les implémentations possibles (Comment)
  31. 31. Le sprint 0 Faire  émerger  le  projet La forme du projet (Quoi) Le but (Pourquoi) leur va le / nel tion onc F Perspective utilisateur Les implémentations possibles (Comment) Contenu technolo gique
  32. 32. L’ÉQUIPE DU SPRINT 0 Business  Owner   ! Product  Owner   ! Équipe  ar:s:que   ! Équipe  technique   Responsable  de  la  vision  produit En  charge  des  user  stories  et   pilotage  des  ateliers  du  sprint  O En  charge  du  design  de  l’applica:on   (Thème,  guidelines,  etc.) En  charge  de  la  réalisa:on  de   l’applica:on ! Leader  technique   Responsable  de  l’organisa:on  technique  de   l’applica:on  
  33. 33. l’équipe projet Client Branding Utilisateurs Business Contenu Marketing Technologie Utilisateurs
  34. 34. L’ENVIRONNEMENT RADIATEUR D’INFORMATION Affichage public des informations du projet
  35. 35. L’obeya, le centre des opérations Kanban Prototype Tableau blanc User stories Thème Sprint en cours Obstacles
  36. 36. L’OBEYA OU LE COCKPIT Il est important que l’équipe soit un espace de réflexion pour centraliser et discuter autour des informations projet, tels que : le Kanban du projet, le portfolio projet, backlog de produit, maquette du projet, tableau blanc, etc.
  37. 37. L’OBEYA OU LE COCKPIT Cette espace peut impliquer une adaptation de l’environnement pour fournir un cadre de travail agréable et orienté sur la communication au sein de l’équipe
  38. 38. Atelier client
  39. 39. ATELIER DES USER STORIES Objectif Identifier les User Stories Identifier les utilisateurs de l’application Identifier les MMF du produit
  40. 40. ATELIER DES USER STORIES Règle : Quantité avant la qualité Respecter l’avis de tous Séquencer le temps par personne
  41. 41. STORY MAPPING
  42. 42. Le story Mapping Permet de cartographier les User Stories dans le temps et par priorité
  43. 43. Le squelette de notre Story Mapping Gérer un devis je veux créer un devis Mettre à jour un devis Supprimer un devis Gérer un contrat fonctionnalité macro Afficher un contrat Modifier un contrat User Stories
  44. 44. Gérer un devis Gérer un contrat fonctionnalité macro Temps je veux créer un devis Mettre à jour un devis Supprimer un devis Afficher un trat conFonctionnalités identifiées lors des phases amont du sprint 0. er Modifidans le temps par Business Value classer un contrat
  45. 45. Le squelette de notre Story Mapping érer un devis G veux créer un je devis 1 Priorit Mettre à jour un devis 2 Supprimer un devis 3 Gérer un contrat Afficher un contrat User Stories User stories par fonctionnalité macro, classée par ordre de priorité
  46. 46. Les Personas
  47. 47. Dans la pratique précédente, nous avons identifié les grandes fonctionnalités du produit, nous devons identifier nos utilisateurs Nous les nommons les Personas Client Conseiller
  48. 48. Le Persona est une représentation d’une personne qui utilise votre produit ! Un utilisateur type qui permet d’aider dans les prises de décision et les premières orientations du produit Jacques, 35 ans, Parisien Marguerite, 87 ans, Bretonne
  49. 49. La fiche Persona Marguerite passionnée par le tricot à découvert lors du passage de son petit fils une application Ipad sur le sujet du tricot Marguerite, 87 ans, Bretonne retraitée Veuve ! Ludovic le petit fils se voit dans l’obligation d’offrir un Ipad à sa mamie (sous peine de ne plus récupérer le sien) pour qu’elle puisse partager sa passion du tricot via l’application « je tricote pour ma famille » ! Marguerite abandonne rapidement le tricot et ce lance dans la recherche d’un nouveau mari, via la nouvelle application Ipad « Adopte un papi »
  50. 50. Construire la fiche Persona Marguerite L. Âge : 87 ans vit au : Faou Secteur: Il n’y a plus de secteurs à cet âge Revenus : 900 € /net mois (une retraite de français) Niveau informatique : Éviter le clavier Temps passé par jour : 6 heures Tablette : IPad ! Intérêts : Tricots et les papis Activités : tricots, Ipad, siestes, les feux de l’amour
  51. 51. La fiche Persona Jacques est téléconseiller chez « Free sauf pour Youtube », il assiste les personnes qui ont besoin d’une assistance téléphonique Jacques, 35 ans, Parisien Téléconseiller Marié, 2 enfants ! Durant son activité professionnelle, il a beaucoup de temps pour s’occuper de ses doigts. Il s’abonne rapidement à l’application « une bonne manucure commence par ses doigts » ! Il devient téléconseiller « une bonne manucure commence par ses doigts » en complément de son activité pour « Free sauf pour Youtube »
  52. 52. Le story board
  53. 53. Créer les scénarios à partir de nos personas Je suis une mamie, je veux trouver un papi pour faire autre chose que du tricot. Je peux créer ma fiche de profil, qui sera validée par un responsable, si ma fiche est acceptée, elle sera accessible au papi
  54. 54. Cartographier le cheminement de l’utilisateur Je suis une mamie, je veux trouver un papi pour faire autre chose que du tricot. Je peux créer ma fiche de profil, qui sera validée par un responsable, si ma fiche est acceptée, elle sera accessible au papi
  55. 55. Les user stories Je suis une mamie, je veux mettre en ligne mon profil Je suis un responsable, je veux consulter les inscriptions en attentes Je suis un papi, je veux consulter les profils Je suis un responsable, je veux valider ou rejeter des profils
  56. 56. Les story board r un profil Crée ... onsulter des C profils Client nsulter les Co manucures Conseiller er pour une Vot manucure ...
  57. 57. MMF Minimal Marketable Feature
  58. 58. Les Minimal Marketable Feature sont ! Le plus petit ensemble de fonctionnalités qui doivent être réalisées pour que le client puisse percevoir une valeur
  59. 59. La synthèse de notre activité de story Mapping et sur story board utilisateurs classés par autre de valeur pour le client Créer un profil Se connecter Liste des papis BV=6 Sélectionner un papi Sélectionner un papi Adresser une requête … BV=4 Consulter une notification … … BV=10 … …
  60. 60. Nous développerons le produit sous la forme de cadence en Minimal Marketable Feature
  61. 61. ’une e qu est c Qu’ tory ser s u
  62. 62. Une user story est une façon de “spécifier” un besoin fonctionnel. C’est essentiellement une méthode de communication au sein d’une équipe Agile ! ! Une user story est exprimée selon la matrice rôle / fonction En tant que “rôle”, je veux faire une action afin d’atteindre un objectif
  63. 63. ! “En tant qu’utilisateur, je veux me connecter à Google afin d’accéder à tous mes services en lignes” Imaginons les critères suivants : • L’utilisateur peut voir son identifiant de connexion sur la page • La barre de menu Google présente les services 
 disponibles • L’utilisateur peut accéder à tous ces services !
  64. 64. Les critères d’acceptations Un critère d’acceptation au sens classique doit être : ! Une vision utilisateur
 Ne pas proposer de solution Ne pas être interne à la fonction
  65. 65. Ron jeffries les trois C Carte •Les story sont traditionnellement écrits sur des cartes, post-it, … Conversation Elle exprime clairement et simplement l’objectif attendu pour cette fonction Confirmation Nous ajoutons les éléments qui permettront de valider que la User story fournit le service attendu par le client
  66. 66. Exemple depuis un site de voyages suis un je teur, je utilisa server veux ré n hôtel u je suis un utilisateur, j e veux annuler une réservation BV : 1 je suis un voyage ur, je v voir le eux s phot os de l'hôtel Comme je suis un vo yageur fréquent, je veux fair e une nouvelle réservation d’un voyage déjà effectué , pour gagner du temps ! BV : 2
  67. 67. Quels sont les détails dans mon US ? • Je suis un utilisateur, je veux annuler une réservation • • • Le client reçoit un remboursement complet ou partiel ? - Je rembourse directement sur son compte ou à l’intermédiaire Comment doit fonctionner l’annulation d’une réservation ? - C’est le même principe pour tous les hôtels ? Un voyageur fréquent peut-il annuler après sa réservation Une confirmation est adressée à l’utilisateur ? - Comment ?
  68. 68. Les détails sont ajoutés sous la forme de user stories je suis un utilisateur, je veux annuler une réservation Je suis un utilisateur premium, je peux annuler une réservation à la dernière minute Je ne suis pas un utilisateur premium, je peux annuler ma réservation 24 hrs à l’avance Je suis un partenaire, j’adresse un courriel pour annuler toutes mes réservations
  69. 69. Les détails sont potentiellement une condition de satisfaction Le product owner peut ajouter aux users stories des conditions de satisfaction Ce sont essentiellement des vérifications je suis un utilisateur, je veux annuler une réservation Vérifier qu’un premium peut annuler le jour même sans charge supplémentaire Vérifier qu’un non-premium paye 10% du montant en cas d’annulation le jour de sa réservation Vérifier qu’il y a bien un courriel qui est adressé en cas d’annulation Vérifier que l'hôtel est bien notifié de l’ensemble des annulations
  70. 70. Un exemple de jeux de développement Je suis un joueur, je veux que les ennemis aient une réaction physique quand je les touche Un ennemi bascule sur la gauche quand je le touche sur la gauche et sur la droite quand je le touche sur la droite Un ennemi bascule vers l’avant quand je le touche au centre Un ennemi tombe en arrière quand je le touche à la tête
  71. 71. Les techniques peuvent être combinées • Les approches ne s’excluent pas mutuellement • Découpage en User Story ou sous la forme de critères d’acceptations • Il faut essayer d’écrire les user stories à un niveau de détails approprié et de favoriser les critères d’acceptations • Au moment où elles seront mises en oeuvre, chaque user stories devra avoir une condition de satisfaction qui lui sera associée • Permet de vérifier le comportement de la user story
  72. 72. user r des dige Ré ries sto
  73. 73. L’Iceberg du produit backlog Sprint Release Future Release Priorité
  74. 74. L’Iceberg du produit backlog User Story Thèmes Une collection de user stories sur le même thème Features Des user stories macro Une description des user stories souhaitée en se positionnant dans une perspective utilisateur
  75. 75. Un exemple Je suis un musicien, je veux gérer mes morceaux de musique Clairement une Epic Je suis un musicien, je veux afficher les musiques par catégorie qui ont le mieux marché dans une période de temps précise Epic ? Je suis un musicien, je veux sélectionner une catégorie de musique selon un type de format (audio, vidéo, etc.) sur une période de temps
  76. 76. Un exemple Je suis un musicien, je veux obtenir la liste des musiques au format audio pour une période de temps précise Je suis un musicien, je veux obtenir la liste des musiques au format vidéo pour une période de temps précise ...
  77. 77. Terminer, en ajoutant les conditions de satisfaction Je suis un musicien, je veux afficher les musiques les plus populaires par catégorie dans une période de temps précise • Afficher le nombre d’albums vendus par musique • Afficher le nombre d’écoutes par musique
  78. 78. Un autre exemple Je suis un joueur, je veux jouer en ligne en mode multiplayer, je me connecte à internet et je peux jouer contre d’autres joueurs Clairement une epic En tant que joueur, je veux avoir accès à un espace central pour consulter les parties qui me sont disponibles et pouvoir rejoindre celle que je veux Epic ?
  79. 79. Un exemple Je suis un joueur et je veux savoir le nombre de joueurs qui sont dans la partie en cours Je suis un joueur, je veux rejoindre la partie en cours Je suis un joueur, je veux démarrer une nouvelle partie
  80. 80. Atelier d’écriture des user stories Sprint 0 • Participants : product owner, utilisateurs, client, équipe, etc. • • Réflexion pour générer les users stories Le but est d’écrire le plus grand nombre de user stories - Commencer avec les fonctions macro (EPIC) - travailler sur les détails pour les users stories qui seront développées prochainement • Pas de gestion des priorités pour le moment Se référer à la partie Sprint 0 pour plus de détails
  81. 81. Commencer Macro et itérer je suis un Voyageur fréquent, je veux pouvoir contrôler mon compte Voyageur fréquent Je suis un voyageur fréquent, je veux réserver un vol Je suis un voyageur fréquent, je veux ... Je suis un voyageur fréquent, je veux réserver un vol en utilisant mes miles je suis un voyageur fréquent, je veux faire une nouvelle réservation d’un Je suis un voyageur fréquent, je veux faire une mise à jour Je suis un voyageur fréquent, je veux voir si ma mise à jour à bien été prise en compte
  82. 82. Utiliser le chemin de pensée (mindmap) Lorgner les hommes Retrouver le profil des gens Un groupe de femmes Trouver une relation Trouver une date Décider qui rejoins le site
  83. 83. Une autre approche • Utiliser un autre type d’interface utilisateur (le papier) • Question ouverte ou fermée, des questions hors contextes : - Quelles informations complémentaires l’utilisateur a besoin ? - Quelles erreurs l’utilisateur pourrait faire ? - Qu’est ce que va faire généralement l’utilisateur à la prochaine étape ? Qu'est-ce qui pourrait engendrer la confusion chez l’utilisateur ?
  84. 84. (IR) VEST IN nne ne bo ns u da toire his
  85. 85. Comment rédiger une bonne story I - Indépendance N - Négociable INVEST V - Valeur E - Estimable S - Size (Taille) T - Testable
  86. 86. INDÉPENDANce • Éviter d’introduire des dépendances • Conduit àetune difficulté de la définition des priorités de planification Je suis un client, je peux payer mes articles de mon panier avec ma carte de crédit
  87. 87. Rendre les User Stories indépendantes Je suis un client, je peux payer mes articles de mon panier avec ma carte VISA Je suis un client, je peux payer mes articles de mon panier avec ma carte American Express Je suis un client, je peux payer mes articles de mon panier avec ma carte Mastercard
  88. 88. Rendre les user stories indépendantes Combiner les histoires Les découper au travers de différentes dimensions Je suis un client, je veux payer avec ma carte de crédit • Je suis un client, je veux payer avec un premier type de carte de crédit • Je suis un client, je veux payer avec un deuxième type de carte de crédit
  89. 89. NÉGOCIABLE Une user story n’est pas un contrat • Il n’est pas nécessaire d’inclure tous les détails • Laisser une flexibilité sur certaines user stories qui seront étudiées durant les itérations
  90. 90. Qu'est-ce qui est le plus négociable Une boîte de dialogue permet aux utilisateurs d’éditer la liste des imprimantes. La boîte de dialogue permet aux utilisateurs d’ajouter ou de supprimer des imprimantes. Un utilisateur peut ajouter une imprimante par une recherche automatique ou manuelle par le biais d’une adresse DNS ou d’une adresse IP. Une recherche avancée optionnelle permet de filtrer les imprimantes par adresse IP ou par le masque de réseau
  91. 91. Je suis un utilisateur, je peux ajouter une imprimante à ma liste d’imprimante Recherche automatique Recherche manuelle par adresse IP Recherche manuelle par adresse DNS Remarque : J’ai plusieurs autres approches pour ajouter une imprimante. Venez me voir si vous avez le temps
  92. 92. Valeur La User Stories doit avoir une valeur pour le client final ou faire partie d’une minimal Marketable Feature Je suis un utilisateur, je veux rechercher un emploi par fonction et par liste décroissante de salaire
  93. 93. Une user story rédigée par un développeur • Elle doit être remaniée pour montrer le bénéfice pour les utilisateurs et les clients Toutes les connexions à la base de données doivent passer par un pool de connexions Je suis un acheteur de ce système, je veux que ce système soit utilisable pour 50 utilisateurs
  94. 94. Estimable Une user stories peut ne pas être estimable si : le domaine fonctionnel est connu Je suis un nouvel utilisateur, j’ai besoin d’un écran pour les diabétiques Avec des éléments factuels Je représente tous les utilisateurs, je veux faire un zoom sur la carte sans aucun délai La User à la bonne taille Je suis un chômeur, je recherche un emploi
  95. 95. Taille approximative • Des petites user stories pour un futur proche • Macro (Epic) pour les prochaines • Les user stories sont progressivement affinées dans le temps, plus elles s’approchent de la fin, • Deux types de grandes user stories - Les user stories complexes : intrinsèquement grande et sans possibilités de les réduire - Les user stories combinées : Plusieurs user stories combinées en une seule
  96. 96. User stories combinées • Une Feature comprend de multiples petites histoires • Qui cachent souvent un grand nombre d’hypothèses •Pour déposer un objet à vendre, vous Je suis un vendeur, je peux déposer des objets à vendre devez fournir plusieurs informations concernant cet objet (description, nom, date de fin de la vente, etc.) • Certains éléments sont obligatoires, d’autres sont optionnelles •Les éléments peuvent être mis à jour une fois qu’ils ont été déposés • Une vente peut être annulée
  97. 97. Découper en histoire combinée Découper en groupe opérationnel (CRUD) • Je suis un vendeur, je peux créer une nouvelle vente • Je suis un vendeur, je peux mettre à jour une vente • Je suis un vendeur, je peux supprimer mes ventes
  98. 98. Découper en histoire combinée Découper en données opérationnelles • Je suis un vendeur, je peux créer et afficher une vente •Je suis un vendeur, je peux mettre à jour et supprimer une vente
  99. 99. TESTABLE • Un test démontre que la user stories correspond aux besoins de l’utilisateur Un utilisateur ne doit jamais attendre longtemps que l’écran apparaisse Je suis un utilisateur, je dois voir un nouvel écran en moins de 2 secondes 95% du temps
  100. 100. BDD ou Behavior Driven Development User r vos liore Amé ories St
  101. 101. Une user story Scénario nominal en BDD Scénario des cas de test en BDD Critères d’acceptations et éléments techniques Éléments graphiques
  102. 102. Behavior Driven Developpement C’est une pratique qui encourage la collaboration entre les développeurs, les testeurs et le Product Owner ! BDD est un langage naturel qui en met en avant les interactions du logiciel ! Il limite la traduction entre le langage technique (développeurs) et le langage métier (l’entreprise) ! Permet d’automatiser les tests unitaires et de non- régression
  103. 103. le langage Gherkin défini pour le BDD ou Behavior Driven Developement ! Aussi connu dans le monde Agile sous la pratique de Given / When / Then (And). ! ! Cette pratique est aussi appelée TDR pour Test Driven Requirement ou exigences pilotées par les tests.
  104. 104. Les tests dans les user stories sont formalisés de manière à ajouter des critères d’acceptation ! ! Les BDD permet d’enrichir les user stories en proposant des spécifications du comportement de la user stories Ce ne sont pas des critères d’acceptation
  105. 105. BDD est bien plus qu’une pratique de test, c’est une évolution dans la rédaction des Users stories ! Les users stories peuvent avoir leurs limites, parce qu’il n’y a pas de contexte, de règle métier ou séquences d’événements
  106. 106. Une user stories “Je suis... Je veux...Afin de...” laisse la place à des interprétations erronées ! ! La cause et l’effet ne sont pas décrits dans les users stories
  107. 107. Contrairement aux users stories, le “comportement” suggéré par le BDD apporte ! le contexte (Etant donné que), l’événement (Lorsque), et le résultat (Alors)
  108. 108. Le contexte, l’événement et le résultat sont identifiés pour chaque action de l’utilisateur ou du système ! ! BDD fonctionne comme une spécification pour le comportement du produit
  109. 109. Avantage ! Permet aux développeurs et aux testeurs de comprendre les actions à réaliser et comment le système va répondre ! ! ! Réduit les ambiguïtés dans les users stories ! ! Fournit des spécifications simples et réduis les aller-retour sur les users stories ! BDD permet de se poser les bonnes questions durant l’analyse de la user stories ! ! ! L’activité de réflexion est mieux répartie au sein de l’équipe
  110. 110. Le temps projet consacré au BDD permet de réduire les anomalies et les incompréhensions durant le cycle de vie du projet ! ! BDD c’est LEAN
  111. 111. BDD en action
  112. 112. Une user stories à un comportement “En tant qu’utilisateu r enregistrer, je veux m e connecter sur le site afin d'accéder aux informations de m on compte“
  113. 113. Les critères d’acceptations La page d’accueil doit afficher une boîte de connexion ! Le système doit valider les identifiants et les mots de passe ! ! Le système doit afficher la liste des services si l’authentification est valide ! Le système doit afficher une erreur en cas d’authentification incorrecte
  114. 114. Résultats Le testeur indique vrai ou faux, le résultat des tests d’acceptation ! ! ! Aucune description des événements, ni des actions de l’utilisateur ! ! ! La cause et l’effet sont absents ! Où est l’histoire derrière la user stories ?
  115. 115. BDD permet de raconter une histoire
  116. 116. La matrice BDD La matrice Given - When - then est le format utilisé pour la rédaction en BDD ! Given (Etant donné que) : Le contexte ! When (Lorsque) : L’action
 And (Et) : Les autres actions ! Then (Alors) : Le résultat
 And (Et) : Les autres résultats
  117. 117. “Scénario nominal d’authentification” ! ! Étant donné que je suis un utilisateur enregistré avec un identifiant et un mot de passe Lorsque j’appuie sur le bouton “connexion” ou sur la touche “Entrer” Alors l’utilisateur est redirigé vers le tableau de bord et il devra afficher l’identifiant de l’utilisateur en haut de la page et il devra actualiser la date de dernière connexion de l’utilisateur sur la page Critères d’acceptations Identifiant = adresse email Mot de passe = 6 caractères minimum en alphanumériques
  118. 118. “Scénario authentification incorrecte” ! ! Étant que je suis un utilisateur enregistré avec gerard et un “Password2*” Lorsque j’appuie sur le bouton “connexion” ou la touche “Entrer” Alors un message d’erreur est affiché à l’utilisateur ”votre identifiant doit être une adresse email”
  119. 119. Le cycle de vie des BDD
  120. 120. Une démarche de rédaction des User Stories PO équipe de développement testeur(s) 1 Rédaction US en BDD 2 cas de test en BDD 2 1 Élément technique de l’US ! US INVEST Ergonome, DA, UX... 3

×