Des exigences comme points de départ de conversation, pas des spécifications exhaustives.
Les récits utilisateur ne sont pas des documents d'exigences. Ce sont des espaces réservés pour des conversations.
Ron Jeffries a capturé cela sous la forme des « 3 C » :
Carte : Une brève description qui tient sur une fiche. « En tant qu'utilisateur, je veux réinitialiser mon mot de passe afin de pouvoir retrouver l'accès à mon compte. »
Conversation : Le dialogue entre les développeurs et les clients qui étoffe les détails. Que signifie « réinitialiser » ? Lien par courriel ? Code par texto ? Questions de sécurité ?
Confirmation : Les critères d'acceptation qui vous indiquent quand le récit est terminé. « Étant donné un courriel valide, lorsque je clique sur "réinitialiser le mot de passe", alors je reçois un courriel avec un lien de réinitialisation dans la minute. »
La carte n'est pas l'exigence. La conversation est l'exigence. La carte est juste un rappel pour avoir la conversation.
Pourquoi des fiches ?
Les fiches forcent la concision. Vous ne pouvez pas faire tenir un document d'exigences sur une fiche. C'est intentionnel — les détails doivent émerger par la conversation, pas par la documentation.
Le format classique du récit est :
En tant que [type d'utilisateur] Je veux [une capacité] Afin de [valeur métier]
Par exemple :
La clause « afin de » est cruciale. Elle explique pourquoi la fonctionnalité compte. Cela aide les développeurs à prendre de bonnes décisions concernant l'implémentation et aide les propriétaires de produit à prioriser.
Les mauvais récits omettent le pourquoi :
Les bons récits relient les fonctionnalités à la valeur :
L'acronyme INVEST décrit les qualités de bons récits :
Indépendant : Les récits peuvent être développés dans n'importe quel ordre. Aucune dépendance entre les récits.
Négociable : La portée est flexible. Les détails sont négociés par la conversation.
Valeur : Chaque récit apporte de la valeur aux utilisateurs. Pas de « récits techniques » sans bénéfice utilisateur.
Estimable : L'équipe peut estimer sa taille. Sinon, le récit nécessite une clarification ou une division.
Small (Petit) : Un récit devrait prendre moins d'une semaine de travail. Idéalement quelques jours.
Testable : Il y a des critères d'acceptation clairs. Vous pouvez vérifier quand c'est terminé.
Lorsqu'un récit viole INVEST, corrigez-le :
En tant que client, je veux recevoir un courriel de confirmation après avoir commandé afin d'avoir un enregistrement de mon achat. Acceptation : le courriel arrive dans les 5 minutes, inclut le numéro de commande et les articles, a un lien de désabonnement.
Implémenter le système de gestion des utilisateurs. (Pas indépendant — trop gros. Pas testable — pas de critères clairs. Pas petit — pourrait prendre des mois.)
Les récits volumineux doivent être divisés. Mais comment ?
Diviser par étape de flux de travail : « L'utilisateur peut compléter la caisse » →
Diviser par variation de données : « L'utilisateur peut payer pour la commande » →
Diviser par opération : « L'utilisateur peut gérer son profil » →
Diviser par performance : « La recherche retourne des résultats rapidement » →
Chaque récit divisé devrait être déployable indépendamment. Si vous ne pouvez pas déployer un support partiel de carte de crédit (seulement Visa, pas Mastercard), c'est quand même une division — vous livrez de la valeur de manière incrémentale.
Lors de la division, continuez à demander : « Quelle est la plus petite chose qui apporte de la valeur utilisateur ? » Divisez jusqu'à ce que chaque morceau soit petit et valable.
Cela vaut la peine de répéter : les récits ne sont pas des spécifications.
Les documents d'exigences traditionnels tentent de spécifier chaque détail à l'avance. Cela échoue parce que :
Les récits embrassent l'incertitude. La carte capture l'intention. La conversation remplit les détails juste à temps. La confirmation vérifie la compréhension.
Le client reste impliqué tout au long. Lorsque les développeurs ont des questions, ils demandent au client — pas au document. Cela maintient l'équipe alignée et s'adapte à l'apprentissage.
Les récits encouragent également le report des décisions. Vous n'avez pas à décider de chaque cas limite à l'avance. Gérez d'abord le chemin principal. Lorsque vous rencontrez un cas limite, ayez une conversation à ce moment-là.
C'est l'approche XP des exigences : juste assez, juste à temps, par la conversation.