Definition of Done (DoD) ist eine Prüfliste mit Anforderungen, die eine User Story erfüllen muss, damit das Team sie als abgeschlossen betrachten kann. Während die Akzeptanzkriterien einer User Story umfassen eine Reihe von Testfällen, die erfüllt sein müssen, um zu bestätigen, dass die Software wie vorgesehen funktioniert.
Der entscheidende Unterschied liegt darin, dass DoD für alle User Stories gemeinsam ist, während die Akzeptanzkriterien spezifisch für einzelne User Stories sind. Die Akzeptanzkriterien für jede User Story variieren je nach den spezifischen Anforderungen dieser Story.
Mit anderen Worten, sowohl die Definition of Done als auch die Akzeptanzkriterien müssen erfüllt sein, damit eine User Story als abgeschlossen gelten kann. Das Produktinkrement gilt nicht als abgeschlossen, es sei denn, beide Prüflisten sind vollständig erfüllt. Daher müssen wir zwei Aspekte der Definition of Done definieren: das DoD und die Akzeptanzkriterien:
Definition of Done im Vergleich zu Akzeptanzkriterien
Definition of Done:
Die Definition of Done ist als Prüfliste strukturiert, wobei jedes Element als Überprüfungspunkt für eine Story oder ein PBI dient. Ihr Zweck ist es, sicherzustellen, dass das Entwicklungsteam sich auf die Qualität der gelieferten Arbeit einigt. Sie fungiert als Prüfliste, um die Vollständigkeit von jedem Produkt-BacklogElement (auch bekannt als PBI oder User Story). Die Elemente der Definition of Done sollen auf alle Elemente im Produkt-Backlog anwendbar sein, nicht nur auf einzelne User Stories. Sie lässt sich wie folgt zusammenfassen:
- Gilt für das gesamte Produktinkrement
- Deutet darauf hin, dass das Produktinkrement in den meisten Fällen potenziell lieferbar ist
- Im Scrum Guide definiert
- Dient als Kommunikationsinstrument zwischen den Teammitgliedern:
- Gesamte Softwarequalität
- Ob das Inkrement lieferbar ist
Ziele der Definition of Done
- Schafft ein gemeinsames Verständnis von Qualität und Vollständigkeit innerhalb des Teams
- Funktioniert als Prüfliste zur Überprüfung von User Stories (oder PBIs)
- Stellt sicher, dass das am Ende eines Sprints produzierte Inkrement von hoher Qualität ist und dass alle Beteiligten die Qualitätsstandards klar verstehen
Beispiel – Definition of Done
Zum Beispiel können Teams in der Softwarebranche die folgenden Fragen stellen, um ihre DoD zu definieren:
- Code peer-reviewed?
- Code abgeschlossen?
- Code überprüft?
- Code eingecheckt?
- Einheitstests bestanden?
- Funktionsprüfungen bestanden?
- Akzeptanztests abgeschlossen?
- Product Owner hat überprüft und akzeptiert
Akzeptanzkriterien
Eine User Story ist eines der zentralen Artefakte in agile Entwicklung, aber Scrum erfordert die Verwendung von User Stories oder Akzeptanzkriterien nicht ausdrücklich. Wenn ein Produkt-Backlog-Element zu groß ist, um in einen Sprint zu passen, wird es typischerweise in User Stories aufgeteilt und anschließend in eine Reihe von Aufgaben, wie unten gezeigt, weiter zerlegt:
Akzeptanzkriterien
User Stories enthalten Akzeptanzkriterien, weshalb wir oft die Definition des Fertigstellens und Akzeptanzkriterien in unseren Scrum-Prozessen gemeinsam sehen. Die User Story liefert den Kontext für die Funktionalität, die das Team liefern sollte. Akzeptanzkriterien geben detaillierte Anleitungen darüber, was die Funktion tun soll und wie der Kunde sie akzeptieren wird. Zusammen definieren sie das vollständige Ergebnis.
Einige Akzeptanzkriterien werden während der laufenden Backlog-Refinement-Sitzung vor Beginn des Sprints entdeckt, während andere unmittelbar nach Sprint-Planung, damit das Team ein Gespräch mit der User Story führen kann. Daher sind Akzeptanzkriterien ein einzigartiges Merkmal einer User Story oder eines Produkt-Backlog-Elements.
- Gilt für einzelne PBI/Story
- Akzeptanzkriterien variieren je nach PBI/Story
- Nicht im Scrum-Guide definiert
- Dient als Kommunikationsmittel, um spezifische Anforderungen einer PBI/Story zu erfüllen
- Auch bekannt als Akzeptanztests, Zufriedenheitsbedingungen oder in einigen Fällen „Testfälle“
Ziele der Akzeptanzkriterien
- Klären, was das Team vor Beginn der Arbeit festlegen sollte
- Sicherstellen, dass alle ein gemeinsames Verständnis der Anforderungen teilen
- Helfen, dass Teammitglieder verstehen, wann eine Story abgeschlossen ist
- Helfen, die Story durch automatisiertes Testen zu verifizieren
Beispiel – Akzeptanzkriterien
- Der Benutzer kann das Formular nicht absenden, ohne alle erforderlichen Felder auszufüllen
- Die Informationen aus dem Formular werden in der Registrierungsdatenbank gespeichert
- Gäste können per Kreditkarte zahlen
- Nach dem Absenden des Formulars wird eine E-Mail-Bestätigung an den Benutzer gesendet
Beispiel einer Benutzerstory mit Akzeptanzkriterien
Das Bild unten zeigt ein Beispiel für Akzeptanzkriterien einer Benutzerstory.
Beispiel der Definition von Fertigstellung