web-dev-qa-db-fra.com

Une définition de "Terminé" dans le cas où plusieurs équipes de développement travaillent sur un même produit

L'un des tests Scrum contient la question de la définition décrivant le mieux "Terminé" lorsque plusieurs équipes de développement effectuent un travail sur un même produit.

Une bonne réponse indique que ces équipes de développement doivent avoir une telle définition de "Terminé" qui peut rendre leur travail combiné potentiellement libérable.

Ce qui ne ressort pas clairement de la bonne réponse à ce quiz, c'est:

  • les équipes peuvent-elles avoir différentes définitions de "Terminé"? Dans quelle mesure?
12
user174829

Lorsque toutes les équipes définissent "Terminé" d'une manière qui prend en compte le travail effectué par d'autres équipes, vous vous assurez que la fonctionnalité est complète.

Si chaque équipe définit "fait" différemment et s'attend simplement à ce que les autres équipes connaissent cette définition, vous rencontrerez plusieurs problèmes:

  • Lorsqu'un problème d'intégration survient, aucune équipe ne voudra se charger de le résoudre. Après tout, cela a été "fait" quand ils ont commencé à intégrer les choses, donc ça doit être quelque chose avec le travail de l'autre équipe.

  • Lorsque vous avez plus d'une poignée d'équipes, il devient difficile de se souvenir de la "définition du fait" de tout le monde - surtout lorsqu'il y a des différences entre les équipes.

  • La définition de fait n'est pas garantie d'inclure que le travail d'intégration fonctionne correctement.

La réponse acceptée indique clairement que les choses ne se font que lorsque le travail de toutes les équipes est intégré et fonctionne correctement. Il doit être libérable et donc pouvoir être accepté par les utilisateurs finaux dans son intégralité.


Modifier en réponse aux commentaires: Cela ne signifie pas que chaque équipe a la même définition de fait. Cela signifie partie de la définition de chaque équipe de fait est le plus grand système et les autres composants d'intégration ne sont pas cassés.

16
Greg Burghardt

Je pourrais imaginer une situation, où une équipe définit "Done" comme "Development Done" (c'est-à-dire le code fusionné pour le repo) tandis que d'autres le définit comme "Testing Done" (c'est-à-dire le code publié en Q/A et testé).

Cela conduirait intrinsèquement à de graves problèmes car l'état global du produit serait largement indéfini et il serait donc difficile de dire si nous pouvons réellement le publier ou non.

6
Pawel Gorczynski