Dans Scrum, qui vérifie «Terminé»?

13

Je suis responsable QA / Test dans mon organisation et jusqu'à aujourd'hui j'ai vérifié la qualité du logiciel (tests écrits et exécutés et bugs corrigés). Qui vérifiera cela dans Scrum? Comment puis-je savoir que l'équipe a écrit et exécuté tous les bons tests? D'un autre côté, je crains que si je continue à faire la vérification, l'équipe ne se sentira pas suffisamment responsabilisée. Mais j'ai besoin d'un processus de vérification que "Terminé" est bien "Terminé". Que suggérez-vous?

Eugène
la source

Réponses:

21

Une idée majeure dans Scrum est que l'équipe devrait se mettre d'accord sur une "définition du fait". Idéalement, cela ressemble à un ensemble de critères objectifs que n'importe qui peut vérifier en parcourant une liste de contrôle.

Mais pour réduire le risque que quelque chose se glisse, il est parfaitement logique d'avoir une règle selon laquelle la vérification du «fait» doit être effectuée par une personne autre que la personne qui a implémenté un élément - ou un responsable de l'assurance qualité comme vous (mais cela risque de vous faire un goulot d'étranglement).

En cas de doute, discutez avec l'équipe et le Scrum Master et décidez ensemble.

Michael Borgwardt
la source
+1 bien que le propriétaire du produit ne soit normalement pas considéré comme faisant partie de l'équipe - il est généralement tiré en dehors du cercle de l'équipe - mais a (ou devrait) avoir son mot à dire dans la définition de fait. C'est la seule façon dont le propriétaire du produit peut (est autorisé) influencer le fonctionnement de l'équipe.
Marjan Venema
1
@MarjanVenema Le Product Owner est très considéré comme faisant partie de l'équipe Scrum. En fait, sans le Product Owner, Scrum a peu ou pas de chance de réussir.
Derek Davidson PST CST
1
@Derek: Je pense que vous rencontrez un malentendu basé sur une terminologie peu claire. Il y a à la fois une «équipe Scrum» et une «équipe de développement», cette dernière faisant partie de la première, ainsi que le chef de produit et le Scrum Master.
Michael Borgwardt du
2
@MichaelBorgwardt C'est pourquoi j'ai été si clair dans ma réponse que le Product Owner fait partie de l' équipe Scrum . Je suis d'accord que le Product Owner ne fait pas partie de l'équipe de développement mais le contexte ne l'a pas précisé. J'espérais effacer la confusion. On dirait que j'en ai peut-être créé par inadvertance :)
Derek Davidson PST CST
6

Je pense qu'il y a une hypothèse implicite dans la question. Il existe une différence entre «accepté», lorsqu'un propriétaire de produit déclare qu'un élément ou une tâche de backlog a satisfait le propriétaire de produit, et «terminé», ce qui signifie que tout le travail associé à l'élément de backlog est terminé.

Cependant, il y a régulièrement plus d'une tâche que celle visible par le propriétaire du produit, généralement quelqu'un de semi-technique au mieux, y compris les tests (automatisés et manuels), la documentation et la révision. Le Product Owner est rarement en mesure de connaître les aspects techniques, et encore moins s'ils sont complétés.

Par conséquent, c'est finalement à l'équipe de déterminer ce que signifie «fait». L'organisation peut avoir des normes et différentes parties prenantes auront leurs propres exigences. Le Scrum Master ou les managers concernés sont généralement responsables de la compilation et de l'application de la liste.

Dans votre exemple, en tant que responsable QA / Test, c'est vous qui dites si les tests sont terminés. Cependant, vous n'êtes peut-être pas la meilleure personne pour dire si le code a été révisé, si les exigences de sécurité sont remplies, si le produit est internationalisé, si la documentation est complète ou quoi que ce soit d'autre "fait".

akton
la source
4

Le seul concept de «fait» est de savoir si une histoire dans son ensemble est terminée ou non. L'équipe aurait dû créer une définition du fait qui indique quand ils sentent qu'une histoire est terminée ou non. Cela comprend généralement des éléments tels que "le code a été revu", "les tests nocturnes ont été exécutés", "tous les critères d'acceptation ont été remplis", etc. attendu d'eux pour terminer une histoire.

Pendant un sprint, si vous essayez de déterminer si l'un de ces éléments dans la définition de fait a été accompli, demandez simplement. Scrum et agile, c'est une communication ouverte. Si vous faites partie de l'équipe, demandez à vos coéquipiers si quelqu'un a écrit les tests, ou les a exécutés, ou a créé le travail de nuit, etc. Si vous êtes un intervenant, demandez au maître de mêlée.

Si vous vous asseyez en dehors de l'équipe mais que vous devez toujours réviser les tests, demandez à l'équipe d'ajouter "les tests doivent être examinés par l'utilisateur user3251930" dans le cadre de la définition de terminé. Si c'est ce qu'il faut pour qu'une histoire soit faite, soyez honnête à ce sujet et intégrez-la au processus. L'intérêt de la "définition du fait" est que l'équipe puisse savoir avec certitude qu'elle a fait ce qui est nécessaire pour fournir un logiciel de qualité. S'il s'agit en partie d'un examen externe, qu'il en soit ainsi.

En fin de compte, c'est le propriétaire du produit qui signe une histoire particulière, donc à la fin de la journée, il ou elle a la décision finale de savoir si une histoire dans son ensemble est terminée ou non.

Bryan Oakley
la source
Je dois revoir les tests, sinon je ne saurais pas si les bons tests ont été écrits. La définition de "Terminé" n'inclut pas les tests exacts qui devraient être écrits.
Eugene
@ user3251930: pourquoi avez-vous besoin de les revoir? Vous ne faites pas confiance à votre équipe? Cependant, si vous avez vraiment besoin de les réviser, faites partie de la définition de "be ont été examinés par user3251930".
Bryan Oakley
Si les clients obtiennent quelque chose qui n'a pas été complètement testé, ce serait vraiment très mauvais. Peut-être qu'avec le temps je pourrai faire confiance à l'équipe, je l'espère.
Eugene
1

Première question que vous devez vous poser

Êtes-vous le Scrum Master ? si oui.

En Scrum, les processus sont contrôlés et gérés par le Scrum Master.

Comment faites-vous:

Dans la phase d'exigence, vous pouvez utiliser les user stories pour chacune d'entre elles, il existe un test qui doit être vérifié.

Dans chaque Sprint Les éléments de travail sont extraits du carnet de produits et dirigés par le propriétaire du produit. Chacun d'eux aura également des critères de vérification.

Maintenant, dans Scrum, les exigences ne changent pas après le démarrage du sprint. À la fin du sprint, vous pouvez analyser la vérification en fonction des critères de chaque élément effectué.

Si son fait ne peut être trouvé que par la réponse du propriétaire du produit.

Rappelez-vous dans Agile que vous "Embrassez le changement" même tard dans la phase de développement

Néo
la source
0

L'équipe décide. J'utilise une liste de contrôle pour ce qui est considéré comme «terminé». Qu'est-ce qui est «fait» par histoire, par sprint, par version.

Comme d'autres l'ont mentionné, la décision revient en définitive au propriétaire du produit.

sherbert
la source
est-ce seulement votre opinion personnelle ou pouvez-vous la sauvegarder d'une manière ou d'une autre?
gnat
-1

Convenez que c'est quelque chose que l'équipe de développement / test doit définir, en fonction de vos propres pratiques. Certains projets sont si agiles qu'ils sont prêts à risquer de publier des bogues dans leur flux alpha; certains considèrent tout bogue qui sort du groupe de développement comme un échec du processus.

Le projet sur lequel je travaille nécessite un examen par les pairs des modifications du code et exige que la personne qui a écrit le code fournisse / mette à jour des tests de régression ou explique pourquoi il n'est pas possible de le faire. (Ils et leurs examinateurs doivent également certifier qu'ils ont vérifié les mauvaises pratiques connues. Nous sommes généralement beaucoup plus heureux s'ils peuvent montrer qu'ils ont exécuté la suite de tests complète et ont obtenu un résultat net (ou un module propre connu). problèmes ouverts, au moins) Le code doit alors survivre à des tests unitaires et fonctionnels automatisés intensifs sur plusieurs plates-formes pour démontrer qu'il ne provoque aucune régression contre ceux-ci, et il est en outre vérifié pour les antipatterns communs par un système d'analyse de code automatisé. l'acceptons-nous ensuite dans le flux de développement principal et marquons l'élément de travail comme terminé.

Cela ne garantit évidemment pas que personne ne trouve une nouvelle façon d'échouer, mais cela réduit le risque à un niveau acceptable sans entraver considérablement la vitesse de développement.

keshlam
la source