use-case

Le cas des cas d'utilisation

Un lecteur de mon livre Scrum m'interpelle à propos des use-cases

En effet dans le chapitre 13 “De la vision aux stories”, après avoir présenté la démarche pour arriver aux stories, j’ai écrit un paragraphe sur les use-cases (qui ne font pas partie de la démarche) pour rappeler qu’ils sont différents des user stories, et moins bien adaptés au développement agile. Christophe, mon lecteur, argumente pour défendre l’intérêt des use-cases. Coïncidence, j’ai rencontré ces derniers jours des utilisateurs de la technique des use-cases.

Use-case et user story

Un use-case, des user stories ?

L’autre jour à Marseille dans sa présentation, pour parler des user stories, Thierry a dit des histoires d’utilisation. Tiens, un mélange entre cas d’utilisation et histoires d’utilisateur ! J’avais fait un billet sur les différences entre les deux il y a déjà 2 ans. Depuis, j’ai beaucoup pratiqué les histoires (d’utilisateur), et plus du tout les cas (d’utilisation). Je n’ai vu aucune des équipes que j’ai suivies en faire. Le seul endroit où j’ai vu des cas d’utilisation, c’est dans le guide méthode d’une administration : la pratique y était présentée comme obligatoire sur les projets et expliquée avec des exemples.
Les courbes de croissance d'un projet (1)

Les courbes de croissance d'un projet (1)

Le beurdone montre la décroissance du reste à faire tandis que le burnup montre la croissance de ce qui est fait (et à faire)

Le beurdone introduit par Scrum représente un moyen nouveau et intéressant de montrer l’avancement d’un projet. Cependant il souffre de 2 inconvénients : il ne montre pas l’évolution du périmètre il ne montre pas le débit Les différentes courbes de croissance que je vais présenter permettent d’offrir ces indicateurs importants. Dans son aspect le plus simple, un burnup est une courbe de croissance de ce qui a été fait.

User stories et use-cases

Histoires d’utilisateur et cas d’utilisation, ce n’est pas la même chose. jc de QualityStreet présente les différences entre les cas d’utilisation et les histoires d’utilisateur. Son étude présente bien ce que sont ces 2 techniques, mais sa comparaison s’inscrit dans le cadre de techniques de spécifications des exigences fonctionnelles. Or les histoires d’utilisateur ne sont pas vraiment une technique de spécification. Les différences exposées dans son billet entre ces 2 techniques sont donc à replacer à l’aune de cette distinction.

User Stories

Lors des derniers projets auxquels j’ai participé ou que j’ai coachés, les exigences ont été définies par des “user stories”. J’ai depuis longtemps utilisé, et intensivement, les cas d’utilisation. J’ai pratiqué et recommandé le développement par itérations guidé par les cas d’utilisation(use case driven). Je trouve toujours que c’est une technique intéressante pour spécifier (bien qu’elle soit souvent mal utilisée). Cependant elle ne permet pas, à elle seule, de bien gérer le contenu des itérations.