Qu'est-ce que la Definition of Done ?
La Définition de Done, ou DoD en abrégé, est un type particulier d'accord de travail. Elle capture la compréhension partagée d'une équipe sur ce que « terminé » signifie pour elle. Le concept de Définition de Done a été popularisé par le cadre Scrum.
Le Scrum Guide stipule :
« La Definition of Done crée de la transparence en donnant à tous une compréhension partagée du travail qui a été accompli dans le cadre de l'Incrément. Si un Product Backlog Item ne répond pas à la Définition de Done, il ne peut pas être livré ni même présenté lors du Sprint Review. Au lieu de cela, il retourne au Product Backlog pour être pris en compte ultérieurement. »
Beaucoup d'équipes considèrent leur Définition de Done comme une sorte de checklist pour s'assurer qu'elles ont rempli toutes les exigences nécessaires avant de déclarer un élément terminé. Cela signifie également que la DoD représente finalement un contrôle qualité pour l'équipe, par l'équipe.
Quelle est la Définition of Done dans SAFe ou d'autres frameworks de mise à l'échelle ?
Le Scaled Agile Framework, ou SAFe en abrégé, n'a pas de description spécifique d'une Définition of Done, si ce n'est qu'il reconnaît et encourage son existence. SAFe se compose finalement d'un plus grand nombre d'équipes Scrum/Agile, c'est pourquoi il promeut également les principes fondamentaux de Scrum.
Pour toute approche de mise à l'échelle dans le développement produit, c'est-à-dire plusieurs équipes travaillant ensemble sur le même produit, il est recommandé que ces équipes travaillent de manière synchronisée et partagent les éléments essentiels d'une Définition de Done. Chaque équipe peut ajouter des éléments supplémentaires à sa « Definition of Done », mais aucune équipe ne devrait livrer des éléments que d'autres équipes ne considéreraient pas comme terminés.
Pourquoi une Definition of Done est-elle importante, quel objectif remplit-elle ?
Dès qu'on commence à travailler en équipe, il est essentiel de créer une compréhension commune sur plusieurs points : chaque équipe devrait être alignée sur la vision/mission de cette équipe. Chaque équipe devrait avoir des accords de travail élaborés ensemble. Et dans le cadre de ces accords de travail, chaque équipe devrait s'aligner sur ce que « terminé » signifie pour elle.
Cette compréhension commune de « terminé » permet à différentes personnes de travailler sur différents sujets tout en livrant une qualité et une expérience utilisateur cohérentes. Elle simplifie également le processus d'intégration des nouveaux membres de l'équipe. De plus, elle facilite considérablement la collaboration entre équipes dans un environnement à grande échelle. Et enfin, elle garantit que le travail de chaque équipe et de ses membres répond aux exigences de l'organisation.
Quand la Definition of Done est-elle créée ?
Il est recommandé que les équipes créent leur Definition of Done le plus tôt possible et au plus tard avant la première planification de Sprint. Sans une compréhension commune de ce que signifie « terminé », il est fondamentalement impossible de s'accorder sur la quantité de travail qu'une équipe peut intégrer dans un Sprint.
Si une équipe n'est pas prête à créer une Definition of Done avant de planifier le premier Sprint, elle constatera pendant le Sprint ou au plus tard lors de la revue de Sprint que la qualité livrée n'est pas cohérente et ne correspond très probablement pas aux attentes des parties prenantes.
Qui crée la Definition of Done en Scrum ?
Plusieurs parties sont impliquées dans la création de la Definition of Done. En fin de compte, c'est la responsabilité de l'équipe Scrum de créer cette compréhension commune. Elle devrait prendre en compte les contributions des différentes parties prenantes afin de répondre à leurs attentes.
Que contient généralement la Definition of Done ?
Une Definition of Done typique comprend des réponses aux questions suivantes :
- Comment nous assurons-nous de répondre aux exigences métier ?
- Comment nous assurons-nous d'avoir une qualité constante ?
Par exemple, une Definition of Done pourrait ressembler à ceci :
- Tous les critères d'acceptation sont remplis
- Tous les tests nécessaires ont été réalisés avec succès
- Nous avons fait vérifier le travail plusieurs fois
- Toute la documentation nécessaire a été créée
- Le Product Owner a examiné le travail et est satisfait
Selon le domaine de travail, les équipes peuvent avoir des Definition of Done plus longues (plus détaillées) et parfois plus courtes (haut niveau). Dans la plupart des cas, une Definition of Done évolue au cours d'un projet et devient de plus en plus granulaire.
Quelle est la différence entre la Definition of Done et la Definition of Ready ?
La Definition of Done concerne un élément entièrement développé, c'est-à-dire terminé. En revanche, la Definition of Ready décrit l'exigence de base pour qu'un élément puisse être pris en charge par une équipe.
De plus, la Definition of Done est mentionnée dans le Scrum Guide, tandis que la Definition of Ready ne l'est pas. C'est un artefact que les équipes peuvent ajouter. Il y a – comme d'habitude – des avantages et des inconvénients à le faire.
Qu'est-ce que la Definition of Ready en Scrum ?
La Definition of Ready capture la compréhension commune des étapes qu'une équipe doit suivre pour s'assurer qu'une exigence est bien définie et que l'équipe peut l'intégrer dans son prochain Sprint.
De nombreuses équipes utilisent l'acronyme INVEST comme Definition of Ready :
- I = Independent / indépendant… l'élément est-il indépendant ou avons-nous pris en compte toutes les dépendances dans notre processus de priorisation
- N = Negotiable / négociable… avons-nous discuté de l'élément et sommes-nous d'accord
- V = Valuable / valeur… avons-nous une idée de la valeur que nous créons pour nos utilisateurs
- E = Estimable / estimable… pouvons-nous estimer l'effort nécessaire pour livrer cet élément
- S = Sized / taille appropriée… cela rentre-t-il dans notre Sprint ou voyons-nous des possibilités de le réduire ?
- T = Testable / testable… savons-nous ce qui est attendu de nous, c'est-à-dire avons-nous capturé/documenté les critères d'acceptation ?
C'est l'une des nombreuses façons de créer une Definition of Ready. Les aspects les plus importants sont de ne pas commencer à travailler sur un élément sans que l'équipe en ait discuté.
Pourquoi la Definition of Ready est-elle potentiellement importante ?
Tout comme la Definition of Done (« Terminé »), la Definition of Ready (« Prêt ») aide une équipe à mieux collaborer. Pour un Product Owner, il est important de savoir ce que l'équipe attend lors de la création d'une exigence. Pour l'équipe, il est important de savoir à quelle étape du processus elle peut aider le Product Owner à fournir de meilleures exigences.
Quand modifie-t-on la Definition of Done ?
Tant la Definition of Done que la Definition of Ready devraient être régulièrement examinées et ajustées. Cela signifie-t-il que nous les affinons à chaque Sprint ? Non ! Mais avec le temps, les équipes réaliseront qu'elles devraient mettre à jour leur Definition of Done.
Pour te donner un exemple concret tiré de l'un de nos propres projets : il y a quelques années, nous avons commencé à construire un portail d'emploi. À l'origine, c'était uniquement un portail desktop. Nous avons constaté que 70% de notre trafic provenait d'appareils mobiles. Nous avons donc passé un Sprint entier à mettre à jour toutes les pages existantes pour les rendre responsive. Cette exigence a ensuite été intégrée à notre Definition of Ready, de sorte qu'à l'avenir, chaque fois que nous construisions un nouveau site web, nous le rendions immédiatement responsive, jusqu'à ce que cela devienne une évidence pour nous.
Que dit le Scrum Guide 2020 sur la Definition of Done ?
Pour conclure, nous recommandons la lecture du Scrum Guide et en particulier du nouveau Scrum Guide 2020. Celui-ci a été présenté publiquement le 18 novembre et contient quelques petits mais importants changements.
Si tu veux approfondir la Definition of Done ou découvrir quelles autres tâches t'attendent en tant que Scrum Master, tu peux explorer le rôle du Scrum Master sur la page Journey dédiée.
Nous proposons des formations certifiantes pour le Scrum Master. Cette formation convient aussi bien aux débutants dans les processus agiles qu'aux Scrum Masters expérimentés.
De plus, tu peux explorer différents sujets lors de nos sessions d'information gratuites et parcourir nos cours en ligne.
Cours en ligne Scrum Master & Agile Coach
Améliore tes compétences en tant que Scrum Master ou Agile Coach avec notre cours en ligne.
Plonge dans l'univers de l'agilité et de Scrum et découvre, à travers des modèles pratiques et des exemples concrets, comment mieux travailler avec des équipes agiles.
Accéder au cours en ligne