Qu’est-ce que c’est qu’une “user story” ? Dans les projets agiles, on ne commence pas par écrire un document de spécification dans une phase initiale qui serait ensuite suivie par une phase de réalisation et enfin de validation. Non. A la place, on initialise une liste de “user story”, ou “histoires utilisateur”. Dans la stratégie SCRUM, cette liste s’appelle un “product backlog”. Ces “histoires utilisateur” sont de petites descriptions très courtes d’un besoin utilisateur. On peut formaliser ces descriptions pour en faciliter l’écriture en suivant par exemple le schéma suivant :

Dans le but de …, En tant que …, J’ai besoin de …

En début d’itération, l’équipe définit les critères d’acceptation des “histoires utilisateur”. Ce sont ces critères qui vont constituer la spécification détaillée.

Cette explication que j’ai essayé de rendre synthétique est encore trop longue. Sans compter qu’elle est abstraite et évidemment incomplète. J’ai essayé récemment d’explorer une métaphore.

Un projet est comme le travail de déplacement d’un tas de cailloux initial vers un tas de cailloux final

Un projet est un travail de déplacement d’un tas de cailloux initial : le product backlog, vers un tas de cailloux final : l’ensemble des fonctionnalités réalisées et testées, les fameux RTF (Running Tested Feature).

Les cailloux sont les user stories. Nous en avons de différentes tailles.

Pour transporter ces cailloux, nous avons une bassine dont la capacité correspond à la vélocité, c’est à dire la capacité de l’équipe à transporter les cailloux depuis le tas initial vers le tas final.

Chaque voyage de la bassine est une itération.

En début d’itération, il faut remplir la bassine au plus juste en choisissant les cailloux en fonction de leur taille, mais aussi de leur valeur. Si les cailloux sont trop gros, il faudra les casser en morceaux plus petits.

Souvent, on va prendre quelques gros cailloux d’une valeur relativement élevée et compléter avec des petits cailloux de moindre valeur, mais permettant de compléter la bassine.

Contrairement à ce que nous soumet la métaphore, la taille de la bassine est rarement connue dès le début. Il faudra tâtonner un peu pendant les premières itérations. Si tout se passe bien, l’équipe trouvera rapidement son rythme de croisière.