Les conditions de succès et la définition de terminée s'invitent au restaurant

Publié par Louis-Philippe Carignan le vendredi 5 octobre 2012 à 20:00

Pour tenter de bien expliquer les conditions de succès ainsi que la définition de terminée à quelqu'un, un collègue (merci Marc-André) a utilisé l’analogie d’un restaurant pour souligner l'importance de ces deux concepts. Je trouvais l’idée intéressante alors j’en profite pour l’expliquer à nos lecteurs.

Imaginez un restaurant avec deux pièces : la salle à manger et la cuisine. Le Product Owner (PO) est assis dans la salle à manger tandis que son équipe de réalisation est dans la cuisine.

Le PO a le droit de passer les commandes qu’il veut au serveur. Celui-ci les apporte à son équipe qui les cuisinera. Lorsque le PO n’est pas assez clair avec sa commande, il y a de fortes chances que le plat préparé ne corresponde pas exactement à ce que le PO avait commandé.

Par exemple, si le PO commande un hamburger, il se peut que l’équipe lui retourne un hamburger avec une tranche de laitue parce qu’elle croyait que c’était ça que le PO préférait. Le PO, insatisfait, retourne alors le plat en demandant une tranche de tomates, de la moutarde et aimerait bien garder sa tranche de laitue puisque cela lui plait finalement. 

Dans notre exemple, les tranches de tomates et de laitue, ainsi que la mourtade, sont les conditions de succès de la commande du PO. Elles permettront à l’équipe de savoir quel type de hamburger ils doivent cuisiner à leur PO. Sans ces conditions de succès, il y a de fortes chances que le PO retourne son plat à quelques occasions jusqu’à ce que son besoin soit comblé.

On peut observer cela dans des équipes Scrum lorsque la vélocité d’une équipe varie d’une itération à l’autre. Sans de bonnes conditions de succès, il sera difficile de combler les besoins du client parce que ceux-ci ne sont pas bien exprimés au début d’une itération. À la revue d’itération, le PO n’acceptera pas certaines stories puisqu’elles ne respecteront pas ses conditions de succès. Mais puisque ces dîtes conditions n’avaient pas été dictées explicitement au début de l’itération, l’équipe de réalisation avait fait de son mieux pour répondre à son client.

Quant à la définition de terminée, elle demande à l’équipe de nettoyer la cuisine après le souper. Une fois tous les mets cuisinés, il faut laver la vaisselle, nettoyer le plancher et fermer les lumières. Si les chaudrons ne sont pas propres, il faudra plus de temps pour préparer la prochaine commande. Dans la vraie vie, cela implique de faire du réusinage (refactoring), de la documentation ainsi que toute autre tâche nécessaire pour s’assurer qu’on a terminé une story. À la longue, si ces tâches ne sont pas faites, il sera de plus en plus pénible d’ajouter et/ou modifier des fonctionnalités au logiciel. 

Bonne cuisine!

 

 

blog comments powered by Disqus

0 Comments:

Post a comment

Comments have been closed for this post.