“J’arrive pas à découper mes User Story ! 😭”
INVEST et 3C sont trop théoriques ? 😩 Je dis OUI et je dis STOP au bullshit ! 🖐️
Voilà 13 façons ultra PRATIQUES pour découper une User Story ! 👇
🔗 PAR CONJONCTION
Quand la US contient les mots-clefs : et, ou, mais, si, quand, alors, aussi bien que, « virgule »…
Exemple : Le client d’un site e-commerce doit pouvoir choisir entre plusieurs moyens de paiement pour procéder à son achat
🐘 US initiale 🐘
En tant que client je veux choisir de payer par carte bancaire, par Paypal ou par chèque afin de procéder à mon achat
✂️ US 1 : En tant que client je veux choisir de payer par carte bancaire afin de procéder à mon achat
✂️ US 2 : En tant que client je veux choisir de payer par Paypal afin de procéder à mon achat
✂️ US 3 : En tant que client je veux choisir de payer par chèque afin de procéder à mon achat
✅ PAR CRITÈRES D’ACCEPTATION
Quand la US contient beaucoup de critères d’acceptation (5 et +), ils peuvent devenir des US à part entière
Exemple : Le client d’un site e-commerce souhaite gérer les factures pour ses achats
🐘 Critères d’acceptation de la US initiale 🐘
Etant donné un client sur la page sommaire des factures quand il clique sur le bouton « consulter » d’une facture alors la facture s’ouvre
Etant donné un client sur la page sommaire des factures quand il clique sur le bouton « imprimer » d’une facture alors la fenêtre d’impression s’ouvre
Etant donné un client sur la page sommaire des factures quand il clique sur le bouton « réclamation » d’une facture alors le formulaire de contact s’ouvre
✂️ US 1 : En tant que client je veux consulter une facture afin de vérifier mes informations d’achat
✂️ US 2 : En tant que client je veux imprimer une facture afin de garder une copie de mon achat
✂️ US 3 : En tant que client je veux porter une réclamation sur une facture afin de corriger une information erronée
⚙️ PAR ÉTAPE D’UN WORKFLOW
Lorsque l’utilisateur accomplit une tâche selon un flux de travail, il est certainement possible de découper la US par étape, de telle sorte que le début et la fin du flux de travail soient comblés en priorité, là où est la valeur (passer une commande : panier, livraison, paiement…)
Ensuite, il suffira de poursuivre avec les étapes intermédiaires, de façon incrémentale
Exemple : Le chargé d’accueil d’un magasin doit pouvoir renseigner les données d’un client pour l’inscrire au programme de fidélité, faire des tests sur le format des données saisies, en contrôler la conformité et afficher les erreurs potentielles et les succès
🐘 US initiale 🐘
En tant que chargé d’accueil je veux renseigner les données d’un client en base afin de l’inscrire au programme de fidélité
✂️ US 1 : En tant que chargé d’accueil je veux renseigner directement les données d’un client en base afin de l’inscrire au programme de fidélité
✂️ US 2 : En tant que chargé d’accueil je veux contrôler l’intégrité des données entrées afin de garantir l’intégrité de la base client fidélité
✂️ US 3 : En tant que chargé d’accueil je veux contrôler la conformité des données entrées afin de garantir la qualité de la base client fidélité
🎬 PAR SCÉNARIOS
Quand la US inclut plusieurs alternatives, imaginer les différents cas qui peuvent survenir : quand tout va bien, quand il se passe X, etc.
Il faudra ensuite réaliser en priorité les scénarios qui apporteront de la valeur et dont le risque est élevé puis, ceux dont le risque est moindre ou qui apportent moins de valeur
Exemple : Un conseiller projet doit pouvoir assigner des interventions à des artisans partenaires chez des clients, depuis le site internet
🐘 US initiale 🐘
En tant que conseiller projet je veux assigner des interventions à un artisan afin de mettre en œuvre les projets des clients chez eux
✂️ US 1 : En tant que conseiller projet je veux assigner des interventions à un artisan disponible afin de mettre en œuvre les projets des clients chez eux
✂️ US 2 : En tant que conseiller projet je veux voir facilement lorsqu’un artisan est absent afin de ne pas lui assigner d’intervention
✂️ US 3 : En tant que conseiller projet je veux voir facilement lorsqu’un artisan a déjà son planning plein afin de ne pas lui assigner une intervention supplémentaire
🧮 PAR OPÉRATIONS
Quand la US inclut plusieurs opérations, comme de la gestion ou de la configuration, il est certainement possible de découper la US par étape de gestion (compte, commande, items, etc.)
Le CRUD est le plus connu, pour définir les actions de base : Create (créer), Retrieve / Read (consulter), Update (modifier), Delete (supprimer)
Ensuite, il suffit de prioriser les actions en fonction des besoins immédiats et des impacts
Exemple : Un client ayant besoin de louer un véhicule, souhaite gérer ses réservations depuis le site internet, pour éviter de contacter une agence et ainsi être autonome
🐘 US initiale 🐘
En tant que client je veux gérer moi-même une réservation de véhicule afin de gagner en autonomie
✂️ US 1 : En tant que client je veux créer moi-même une réservation de véhicule afin de gagner en autonomie
✂️ US 2 : En tant que client je veux supprimer moi-même une réservation de véhicule que j’ai effectuée afin de gagner en autonomie
✂️ US 3 : En tant que client je veux consulter une réservation de véhicule que j’ai effectuée afin de vérifier les informations
✂️ US 4 : En tant que client je veux modifier moi-même une réservation de véhicule que j’ai effectuée afin de gagner en autonomie
🎛️ PAR VARIATION DANS LES DONNÉES
Quand la US inclut plusieurs formats ou types de données, il peut être évident de découper la US en fonction de la variation du type de données (types de paiements, types de livraisons, type de rayons / produits, langues, etc.). Peut-être que tout n’est pas utile immédiatement…
Ensuite, il suffit de prioriser les types en fonction des besoins immédiats et de leur utilité
Exemple : Un client ayant besoin de rechercher un véhicule sur le site internet de location pour obtenir des informations
🐘 US initiale 🐘
En tant que client je veux rechercher un véhicule dans le catalogue afin d’en obtenir des informations
✂️ US 1 : En tant que client je veux rechercher un véhicule par sa marque afin d’obtenir directement des informations sur un véhicule que je connais
✂️ US 2 : En tant que client je veux rechercher un véhicule en spécifiant sa catégorie afin de trouver un véhicule dont je ne connais pas la marque
✂️ US 3 : En tant que client je veux rechercher un véhicule par sa capacité afin de trouver un véhicule dont la taille conviendrait à mon usage
✂️ US 4 : En tant que client je veux rechercher un véhicule par sa dispo géographique afin d’obtenir des résultats de recherche plus précis
🎚️ PAR VARIATION DANS LES RÈGLES D’AFFAIRES
Quand la US inclut plusieurs règles d’affaires, on pourra considérer que certaines règles ne sont pas à prendre en compte dès le début et que des actions « Quick win » pourront être utilisées pour y pallier (action manuelle, message d’explication, message d’information, liste manuelle…)
Exemple : Un conseiller projet doit pouvoir assigner des interventions à des artisans partenaires chez des clients, depuis le site internet, pour mettre en œuvre un projet
🐘 US initiale 🐘
En tant que conseiller projet je veux planifier l’intervention d’un artisan chez un client afin de répondre à une demande du client
✂️ US 1 : En tant que conseiller projet je veux directement planifier l’intervention d’un artisan chez un client afin de répondre à une demande du client
✂️ US 2 : En tant que coordinateur je veux bloquer une demande d’intervention qui n’aurait pas d’artisan assigné afin de garantir l’intervention au client
✂️ US 3 : En tant que chargé du stock je veux bloquer une demande d’intervention pour laquelle le matériel n’est pas en stock afin d’éviter une intervention inutile
💻 PAR TYPE DE MATÉRIEL OU D’INTERFACE
Quand l’utilisateur accède aux services via différents matériels et configurations, il est certainement possible de découper une US et de prioriser en fonction du type de matériel (ordinateur, tablette, smartphone…) et de la configuration (navigateur, résolution, couleurs, saisie clavier ou non…) de l’utilisateur
Les interfaces seront souvent différentes et adaptées pour chacun d’entre eux. Il vaut mieux démarrer par des interfaces très simples (champ de formulaire, etc.) avant de proposer mieux (auto-complétion, date picker, localisation automatique, etc.)
Exemple : Un client souhaite rechercher un véhicule de location disponible, à une date précise, sur le site internet
🐘 US initiale 🐘
En tant que client je veux rechercher un véhicule disponible à une date définie afin de pouvoir le réserver
✂️ US 1 : En tant que client je veux rechercher un véhicule disponible à une date saisie depuis mon ordinateur afin de pouvoir le réserver depuis chez moi
✂️ US 2 : En tant que client je veux rechercher un véhicule disponible à une date saisie depuis mon smartphone afin de pouvoir le réserver en mobilité
✂️ US 3 : En tant que client je veux rechercher un véhicule disponible depuis un calendrier afin de pouvoir le réserver plus rapidement
🙍♂️ PAR PERSONA OU RÔLE
Quand plusieurs utilisateurs interviennent sur un besoin, il s’agit de découper une US en fonction des rôles de ceux qui vont utiliser le produit
Il faut se mettre à la place de chacun des rôles ou utilisateurs pour adresser leurs points de vue et besoins complémentaires pour couvrir toute la chaîne de valeur
Exemple : Un client d’un site internet de bricolage a besoin d’être aidé par un conseiller, en visio, sur un sujet requérant une certaine expertise
🐘 US initiale 🐘
En tant que client je veux être aidé sur un sujet requérant une certaine expertise afin de pouvoir avancer sereinement sur mon projet
✂️ US 1 : En tant que client je veux pouvoir m’adresser à un conseiller compétent et expert afin de pouvoir être accompagné sur un projet requérant de l’expertise
✂️ US 2 : En tant que conseiller je veux une base d’expertise sur les principaux sujets techniques des clients afin de pouvoir accompagner au mieux les clients à projets
✂️ US 3 : En tant que DRH je veux proposer un catalogue de formations pertinentes aux conseillers afin de les faire monter en expertise pour répondre mieux aux besoins clients
🚀 PAR NIVEAU DE PERFORMANCE OU DE QUALITÉ
Quand une fonctionnalité ou un produit doit atteindre un certain niveau de performance ou de qualité, les exigences non fonctionnelles (performance, sécurité, utilisabilité…) peuvent constituer des US à part, pour chaque niveau d’optimisation (affichage en moins de 60 sec, moins de 30 sec, en temps réel, sans rechargement…)
Commencer avec un niveau de qualité ou de performance minimum, puis améliorer l’expérience avec des optimisations
Attention à ne pas faire de la non-qualité et créer de la dette technique !
Exemple : Un client souhaite trouver un véhicule de location disponible autour de sa position, sur l’application mobile
🐘 US initiale 🐘
En tant que client je veux trouver un véhicule de location disponible et proche de ma position depuis mon mobile afin de le réserver
✂️ US 1 : En tant que client je veux trouver manuellement un véhicule de location disponible et proche de ma position depuis mon mobile afin de le réserver
✂️ US 2 : En tant que client je veux trouver manuellement un véhicule de location disponible et proche de ma position, en moins de 5 sec afin de gagner du temps
✂️ US 3 : En tant que client je veux trouver automatiquement un véhicule de location disponible et proche de ma position, en temps réel afin d’être plus précis
🧶 PAR NIVEAU DE COMPLEXITÉ
Quand une US inclut différents niveaux de complexité, il s’agit de chercher à les identifier, à les décomposer, puis à les prioriser en allant du plus simple (moins de critères d’acceptation, livraison rapide, feedbacks plus tôt) au plus complexe
L’idée est de partir d’abord sur des choses simples et non automatisées pour tester des informations et des hypothèses de travail
Exemple : Un manager doit pouvoir programmer des interventions à des artisans partenaires chez des clients, depuis le site internet
🐘 US initiale 🐘
En tant que manager je veux programmer des interventions à un artisan afin de mettre en œuvre les projets des clients
✂️ US 1 : En tant que manager je veux programmer sans contrainte des interventions à un artisan afin de mettre en œuvre les projets des clients
✂️ US 2 : En tant que manager je veux programmer des interventions à un artisan dans un certain ordre afin de répondre aux urgences des clients
✂️ US 3 : En tant que manager je veux programmer des interventions à un artisan en spécifiant des horaires afin de répondre aux contraintes des clients
✂️ US 4 :En tant que manager je veux programmer des interventions à un artisan en utilisant des dates flexibles afin d’offrir de la souplesse
🦾 PAR L’EFFORT PRINCIPAL
Quand une User Story requiert la mise en place d’un socle commun à d’autres User Story, le plus gros du travail ira sur l’une d’entre elles (pour l’implémentation) et les autres seront des variations ou des évolutions
Exemple : Un e-mail est envoyé automatiquement au client pour l’informer du statut de l’intervention de l’artisan
Il faudra créer toute la structure d’envoi de mail pour le 1er mail (structure, trame, routage, etc.), mais le reste sera plus simple
🐘 US initiale 🐘
En tant que client je veux être informé des mises à jour de l’intervention de l’artisan par e-mail afin de me donner de la visibilité
✂️ US 1 : En tant que client je veux être informé de la date et de l’heure de l’intervention de l’artisan par e-mail afin de me permettre de m’organiser
✂️ US 2 : En tant que client je veux être informé de l’intervention de l’artisan, la veille par e-mail afin de ne pas oublier
✂️ US 3 : En tant que client je veux être informé de la clôture de l’intervention de l’artisan par e-mail afin de pouvoir laisser un avis
🎓 PAR NIVEAU DE CONNAISSANCE
Quand une partie d’une User Story requiert des connaissances pour la réaliser au mieux, il s’agit de chercher à identifier les différents niveaux de connaissance ou de maîtrise dont on dispose sur la réalisation d’une US, puis de la découper : une US pour ce qui est connu, puis une autre là où c’est moins maîtrisé
Cela peut déboucher sur un spike (une US exploratoire) et / ou des items techniques
Un e-mail est envoyé automatiquement au client pour l’informer du statut de l’intervention de l’artisan
Exemple : Mais l’équipe n’a pas encore connaissance des solutions de routage de mail existantes sur le marché…
🐘 US initiale 🐘
En tant que client je veux être informé des mises à jour de l’intervention de l’artisan par e-mail afin de me donner de la visibilité
✂️ Spike : Étudier les solutions de routage e-mail du marché afin de trouver la plus pertinente
✂️ Item technique : Installer la solution de routage e-mail du marché sélectionnée afin de pouvoir router des e-mails aux clients
✂️ US : En tant que client je veux être informé de la clôture de l’intervention de l’artisan par e-mail afin de pouvoir laisser un avis
Découvrez et téléchargez le split poker de Olivier le Lan. Lors d’un product backlog refinement, donnez un set de carte à chacun des participants. Les participants doivent proposer un découpage au product owner des user-stories estimées au-dessus de 5 points d’effort.
Cela permettra au product owner de faire le choix du découpage qui lui semble le plus cohérent sans fermer la porte à plusieurs visions possibles de découpage.
Un exercice très simple, participatif et d’apprentissage réel.