Un scénario enchaîne des petites histoires

De l'intérêt d'une big picture

La technique des "user stories" est très efficace couplée à un développement par itérations. Les stories alimentent le backlog de produit et sont développées pendant l'itération. La tendance est à avoir des stories très petites, ce qui présente des avantages en terme de gestion et de suivi. Mais cela a l'inconvénient de rendre les choses plus difficiles à comprendre. Une story est à replacer dans un contexte plus large pour qu'on voit à quoi elle sert.

En fait une story ne suffit pas pour raconter une histoire qui parle aux utilisateurs. Par exemple lors de la revue de fin d'itération, à laquelle participent de nombreuses personnes, il convient de préparer une grosse histoire qui enchaîne des user stories. C'est ce qu'on appelle un scénario.

Je travaille actuellement sur un projet de gestion documentaire et lors de la revue de jeudi dernier, 2 scénarios ont été présentés. Nous avions identifié et sélectionné pour ce sprint des stories comme :

  • créer un document
  • télécharger un document existant
  • commenter un document
  • désigner les approbateurs
  • déléguer l'approbation
  • approuver un document

La démonstration a montré d'abord le cas d'un nouveau document créé et approuvé (scénario 1), puis celui d'un document téléchargé puis délégué dans un mécanisme d'approbation en série (scénario 2).

Souvent les scénarios font référence à des utilisateurs fictifs, appelés user1 ou toto. Il est préférable de choisir de vrais utilisateurs. De la même façon, plutôt que de prendre des documents appelés doc1, il vaut mieux s'appuyer sur un exemple réel qui rend les choses plus concrètes et facilite leur compréhension.

Les scénarios sont utiles pour la démonstration en fin de sprint, mais c'est mieux de les élaborer bien avant. En début de sprint, ils donneront à toute l'équipe le contexte pour le travail de développement.

Jeff Patton suggère de les écrire en groupe en les considérant comme un blockbuster.

On peut aussi mieux s'assurer de la cohérence avec les stories et les cas de test associés en les référençant explicitement dans le scénario.