À qui appartient la définition de Terminé

Publié par Louis-Philippe Carignan le mardi 9 avril 2013 à 12:10

Vous êtes dans une situation où vous démarrez une équipe Scrum. Lors de ce démarrage, l’une des étapes est de mettre en place la définition de Terminé pour que tous soit d’accord sur ce que représente une fonctionnalité terminée. Une fois en place, qui doit maintenir et respecter cette définition? À qui appartient-elle? Est-ce la responsabilité de l’équipe de la mettre à jour et de la respecter? Ou est-ce au propriétaire de produit de s’assurer qu’elle est respectée?

En regardant dans le guide Scrum écrit par les créateurs de Scrum, on ne retrouve pas d’informations pertinentes pour répondre à cette question. Bien que la définition soit bien expliquée pour démontrer son utilité, les auteurs ne précisent pas à qui appartient la définition.

Dans le livre « Choisir l’Agilité », les auteurs Mathieu Boisvert et Sylvie Trudel expliquent à la page 14 qu’ « Elle assure une qualité uniforme de la part de tous les membres de l’équipe de projet, car ils sont engagés à respecter cette définition ». Il est clair que pour eux, l’équipe doit respecter cette définition. Mais leur appartient-elle?

Pour trouver une réponse à cette question, voyons voir le contenu de la définition de Terminé.

Premièrement, nous avons des tâches techniques qui doivent être faites pour assurer la maintenance du produit sur le long terme. Des tâches comme le réusinage (refactoring), les plans de tests et les documents expliquant les choix de design sont quelques-uns des éléments que l’on retrouve dans la définition de Terminé pour l’équipe de réalisation. Par exemple, un projet est lancé dans une entreprise où l’on utilise une plate-forme logicielle qui est à la base de plusieurs logiciels. Puisque cette plate-forme doit vivre plus longtemps que le projet lancé, plusieurs tâches techniques devront être ajoutées à la définition de Terminé pour assurer la viabilité de la plate-forme même si le produit est périmé.

Deuxièmement, nous retrouvons aussi des tâches dans la définition de Terminé pour la mise en production d’une nouvelle version. Le guide utilisateur et les notes de livraison, bien que faîtes par l’équipe, ont plus d’intérêt pour les gens qui utiliseront ou supporteront le logiciel que ceux qui le développent.

Et finalement, on retrouvera les tâches qui se terminent par « ility » (Ex : Scalability, Security, Usability) dans la définition de Terminé. Le propriétaire de produit peut spécifier le niveau de qualité qu’il désire mais doit négocier avec son équipe lorsque ses demandes sont accompagnées de coûts trop élevés. Par exemple, l’équipe doit suivre des normes d’interface visuelle pour respecter l’image de marque de la compagnie. À certains moments, elle peut déroger si l’effort est trop coûteux. Dans le cas d’un stimulateur cardiaque, la définition de Terminé peut exiger une stabilité hors-pair à cause de la nature de l’appareil où l’équipe doit faire le nécessaire pour l’atteindre.

Nous avons donc 3 types de tâches dans la définition de Terminé :

  • Pérennité du logiciel
  • Support pour la mise en production
  • Requis par le monde Affaires

Bien que je sois d’accord que l’équipe doit respecter la définition de Terminé, certains éléments de la définition ne leur appartiennent pas. Par exemple, les requis du monde Affaires leur sont dictés. L’équipe peut suggérer ou améliorer mais à prime à bord, ce sont des contraintes provenant du monde Affaires qui viendront ajouter des tâches à la définition de Terminé.

À mon avis, la définition de Terminé est une entente entre le propriétaire de produit et l’équipe de réalisation. Le propriétaire de produit et l’équipe ont chacun le droit d’ajouter certains éléments à la définition de Terminé. Le propriétaire de produit identifie les éléments pour le monde Affaires tandis que l’équipe identifie les éléments techniques. Cependant, l’équipe est responsable de réaliser toutes les tâches pour la respecter.

blog comments powered by Disqus

0 Comments:

Post a comment

Comments have been closed for this post.