La Definition of Done, ou définition de « terminé », est la liste des critères qu’un élément doit satisfaire pour être considéré comme réellement achevé : codé, relu, testé, documenté, déployé sur l’environnement prévu.
Partagée par toute l’équipe, elle garantit une qualité homogène et supprime la principale source de malentendu en fin de sprint. Sans elle, le mot « terminé » signifie quelque chose de différent pour chaque personne et l’incrément devient invérifiable.
Ce que contient une Definition of Done
Le contenu dépend du contexte technique, mais quelques éléments reviennent presque toujours : la relecture du code par un pair, les tests automatisés écrits et passants, l’absence de régression sur l’existant, la documentation à jour, le déploiement effectif sur un environnement accessible.
S’y ajoutent, selon les secteurs, des exigences de conformité, d’accessibilité, de sécurité ou de performance. L’essentiel est que chaque critère soit vérifiable sans discussion : « le code est propre » n’est pas un critère, « le code passe l’analyse statique sans erreur bloquante » en est un.
Definition of Done et critères d’acceptation
La confusion entre les deux notions est fréquente. La Definition of Done est générique : elle s’applique à tous les éléments sans exception. Les critères d’acceptation sont spécifiques à un élément donné et décrivent le comportement attendu de cette fonctionnalité précise.
Un élément est terminé lorsqu’il satisfait à la fois ses propres critères d’acceptation et la Definition of Done commune. Les deux sont nécessaires et aucun ne remplace l’autre, contrairement à ce que laisse croire l’usage courant qui les mélange.
Une Definition of Done trop ambitieuse au démarrage se retourne contre l’équipe : plus rien n’est jamais terminé et elle finit contournée. Mieux vaut partir d’une liste courte et réaliste puis la renforcer sprint après sprint. Le Scrum Guide précise qu’elle relève de l’équipe, sauf standard minimal imposé par l’organisation.