La Définition du Fini (DoD) en Scrum

La Définition du Fini (DoD) en Scrum

Le 4ème principe de l’agilité : “Les personnes en charge du métier ou des affaires et les personnes en charge de la réalisation doivent travailler ensemble chaque jour, tout au long du projet.” Pour maximiser les échanges entre les individus, il faut s’assurer qu’ils parlent un même langage et partagent un objectif commun.
Scrum propose la mise en place de la Définition du Fini (Definition of Done – DoD) pour aligner l’ensemble de l’équipe sur ce qui est “Fini”.

Pourquoi une Définition du Fini ?

La Définition du Fini est une liste de critères, que le livrable, doit respecter pour être considéré comme fini. Cette définition peut concerner l’ensemble des items du Backlog : Features, Epic, US

La Définition du Fini permet de :

  • Garantir la qualité de l’incrément du sprint
  • S’aligner sur un même objectif
  • Guider les équipes dans leurs réflexions lors des développements ou les tests
  • Réduire la dette technique

Comment identifier la Définition du Fini ?

La définition du fini est identifiée, lors d’un atelier, par l’équipe Scrum : le PO, le Scrum master, les développeurs, les testeurs…la participation des parties prenantes est souhaitable. Elle est initialisée pendant le sprint 0 et une même équipe Scrum peut avoir une définition du Fini différente d’un projet à l’autre.
Scrum n’identifie pas de cérémonie pour réaliser ce travail mais cela pour être réalisé via un brainstorming lors du l’atelier de grooming ou affinage d’US. L’animation de ce point se fait généralement par le Scrum master.
En sortie de l’atelier, on a une liste de critères permettant d’identifier les items finalisés.
Exemple du Définition du Fini

  • Toutes les tâches de développement sont terminées
  • Les tests unitaires sont rédigés
  • Le commit de base de données est partagé
  • La revue croisée du code a été réalisée
  • Les critères d’acceptation ont été validés
  • Le Scrum Board est à jour
  • Les tests d’intégration ont été joués

La Définition du Fini doit être :

  • Claire et compréhensible par l’ensemble de l’équipe projet
  • Partagée avec l’ensemble des acteurs projet via un wiki, outil de suivi d’US, Scrum Board..
  • Au début simple et contient les engagement qu’on peut tenir

Cycle de vie de la Définition du Fini

la Définition du Fini n’est pas figée, elle évolue tout au long de la réalisation du produit. Cette définition peut évoluer à chaque sprint. Elle peut être complétée par de nouveaux critères identifiés lors de la rétrospective par exemple ou modifiée pour s’adapter aux nouvelles méthodes de travail de l’équipe.

Storyotypes

La Définition du Fini se détermine pour chaque item du Backlog. On peut avoir des DoD pour les US, DoD pour les Features, DoD pour les Epics…
On peut même avoir des DoD différentes par type d’US : US fonctionnelle, US technique / Spike, US correction de bug, US d’exploration…
Dans ce cas on peut identifier une DoD par type d’item qu’on appelle Storyotype.
La mise en place des Storyotype permet de :

  • Optimiser la qualité en personnalisant les DoD par type d’item
  • Se focaliser sur les critères nécessaires par type d’item ce qui fera gagner du temps à l’équipe Scrum
  • Eviter une longue liste de DoD où il faut chercher les critères applicables à chaque item

Qui vérifie la Définition du Fini ?

C’est l’équipe Scrum qui vérifie la Définition du Fini.
L’acteur qui fait la vérification dépend de l’organisation et des contraintes de l’équipe.
Je trouve pratique lors de l’identification de la DoD de mettre en face de chaque critère une liste d’acteurs qui peuvent le vérifier. Et en fonction des contraintes et des difficultés rencontrées lors du sprint on peut choisir qui vérifie tel ou tel critère.

Exemple :

La Définition du Fini (DoD)

Par exemple, si les développeurs sont en difficulté sur un sprint le PO peut les décharger de la validation des critères d’acceptation.

La Définition du Fini est un document collaboratif et vivant entre les acteurs du projet. Pour bien identifier une Définition du Fini sur un projet, l’équipe doit trouver un équilibre entre la qualité et sa capacité à faire. Il ne faut pas chercher la sur-qualité et mettre les objectifs du sprint en difficulté.
Une Définition du fini doit être réalisable ajustable et adaptée à l’équipe et au projet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *