BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Améliorer le Fonctionnement avec deux Definitions of Done

Améliorer le Fonctionnement avec deux Definitions of Done

Christian Vos, Fondateur de Rood Mitek et Consultant .Net chez Rabobank International, propose dans un article récent des versions idéales et actuelles séparées de la Definition of Done pour les équipes Agile, dans le but d'aider la Definition of Done à gagner en maturité et en qualité. Vos cite les compétences et la maturité de l'équipe en tant que raisons pour utiliser les deux versions.

Vos définit les Definitions of Done idéales et actuelles par :

La Definition of Done idéale définit toutes les étapes nécessaires pour délivrer une version terminée du développement jusqu'au déploiement en production. Aucun travail supplémentaire n'est nécessaire. La Definition of Done actuelle définit les étapes que l'équipe est pour l'instant capable d'effectuer dans un sprint.

Vos propose de rendre chacune des versions de la Definition of Done visible sur le mur pour augmenter la transparence. L'équipe et le product owner peuvent constamment travailler pour combler le vide entre elles.

Mettre deux versions sur le mur créera de la transparence pour le product owner. Cela représente la capacité actuelle de l'équipe et montre ce qui peut être amélioré. L'équipe peut essayer d'étendre régulièrement la Definition of Done actuelle avec des étapes de la Definition of Done idéale. Etendre la Definition of Done signifiera gagner en maturité et en qualité.

Vos explique que, par manque de maturité et de compétence dans les équipes agile, la Definition of Done n'inclut pas toutes les étapes nécessaires à délivrer un code prêt pour la production. Typiquement, à la fin d'un sprint, des éléments différents restent à faire. Le problème avec ce travail restant à faire est qu'il s'empile à chaque sprint et que beaucoup d'équipes le résolvent en injectant des sprints supplémentaires dédiés à la préparation de la livraison.

De nombreuses équipes résolvent cela en injectant les biens-nommés "sprints de durcissement" ou "sprints de livraison". Ces sprints sont utilisés, par exemple, pour créer les packages de déploiement, résoudre les derniers bugs, faire quelques tests finaux, et ainsi de suite - tout cela pour rendre le logiciel prêt pour la production. Quand une équipe définit une Definition of Done complète et l'applique, tout le travail restant à faire est fait à l'intérieur des sprints et il n'est pas nécessaire de faire des sprints de livraison.

Une bonne Definition of Done aide sur les points suivants, que mentionne Vos :

  • Avoir des retours et améliorer le produit et les processus
  • Avoir un meilleur planning de livraison
  • Donner du sens au burn-down chart
  • Minimiser le délai de risque
  • Améliorer la qualité et l'agilité de l'équipe
  • Créer de la transparence pour les parties prenantes

David Lowe, coach Agile chez Net-A-Porter, soutient l'idée d'avoir deux Definitions of Done.

Je pense que c'est une idée intelligente : au moins, cela admet que l'équipe sait ce qu'elle DEVRAIT faire. Bien sûr, la façon dont vous vous en rapprochez est une autre histoire.

Dans le même genre, Wouter Tengeler, propriétaire de The Motion Studio Multimedia Productions suggère la création de user stories séparées.

Je recommanderais d'ajouter des stories pour combler la différence entre la DoD actuelle et la DoD cible pour rendre la dette (technique) visible. J'opterais pour ajouter une story pour écrire le manuel utilisateur juste pour être transparent à propos de la tâche et que tout le monde sache que c'est quelque chose qui doit être fait. Quand l'équipe aura mûri, vous ajouterez l'écriture du manuel à la DoD.

Dave Meyer, spécialiste du marketing produit chez Atlassian explique, dans son récent article, comment utiliser Jira pour gérer la Definition of Done sur la durée.

Une Definition of Done est un document vivant qui doit être revu régulièrement. Comme votre équipe de développement se bat pour s'améliorer, vous pouvez rendre les pratiques plus strictes au fil du temps. Au lieu de supprimer ou modifier les options, désactivez-les simplement. Désactiver une option la conserve dans Jira mais ne la fait pas apparaître comme un problème. Cela vous permet de garder une trace de votre DoD sur la durée.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT