Ich beschäftige mich mit Scrum und TDD und ich glaube, ich habe einige Verwirrung, über die ich gerne Ihr Feedback erhalten würde. Nehmen wir an, ich habe eine User-Story in meinem Backlog, damit ich sie als Teil von TDD entwickeln kann. Ich muss Anforderungen haben, oder?
Stimmt es, dass der Produktmanager und die Qualitätssicherung dafür verantwortlich sein sollten, die User Story in Akzeptanztests zu zerlegen?
Ich denke, dass das oben Gesagte zutrifft, da die Abnahmetests formal sein müssen, damit sie als Tests verwendet werden können, aber auch für den Menschen lesbar sind, damit das Produkt bestätigen kann, dass sie den Anforderungen entsprechen, oder?
Stimmt es auch, dass ich diese Abnahmetests später mache und sie als meine Anforderungen verwende, dh es handelt sich um eine Reihe von Anwendungsfällen, die ich (über TDD) implementiere? Ich hoffe, ich mache nicht zu viel Chaos, aber das ist der aktuelle Fluss, an den ich gerade denke.
Update
Ich denke, meine anfänglichen Absichten waren unklar, also werde ich versuchen, sie neu zu formulieren. Ich möchte mehr Details über den Scrum-Flow erfahren, mit dem eine User Story bei Verwendung von TDD in Code umgewandelt wird.
Der Ausgangspunkt liegt auf der Hand: Ein Benutzer zeigt ein Bedürfnis (oder den Vertreter des Benutzers als Produkt) an, bei dem es sich um eine kurze Beschreibung mit 1-2 Zeilen im bekannten Format handelt, die dem Produkt-Backlog hinzugefügt wird.
Bei einem Frühjahrsplanungsmeeting werden User Stories aus dem Backlog entnommen und den Entwicklern zugewiesen.
Damit ein Entwickler Code schreiben kann, benötigt er Anforderungen (insbesondere in TDD, da die Anforderungen die Anforderungen sind, aus denen die Tests abgeleitet werden).
Wann, von wem und in welchem Format werden die Anforderungen zusammengestellt?
Was ich im Sinn hatte, war, dass das Produkt und die Qualitätssicherung die Anforderungen über Abnahmetests definieren (ich denke an die automatische Verwendung von FitNesse oder der Sorte, aber das ist nicht der Kern, den ich denke), die dazu beitragen, zwei Zwecken gleichzeitig zu dienen:
- Sie definieren "Fertig" richtig.
- Sie geben einem Entwickler etwas, von dem er Tests ableiten kann.
Ich war mir nicht sicher, wann diese geschrieben wurden (vor dem Sprint, den sie ausgewählt haben, könnte dies eine Verschwendung sein, da zusätzliche Informationen eintreffen oder die Geschichte nicht ausgewählt wird. Während der Iteration könnte der Entwickler stecken bleiben und auf sie warten. ..)