Definition of Done
Agile Entwicklung
Anforderungen in Form von User Stories durchlaufen im agilen Vorgehen einen Prozess. Dabei ist der wichtigste Zustand Fertig oder Done.
Was ist die Definition of Done?
Die Definition of Done muss in jedem agilen Team festgelegt werden. Sie beschreibt, was alles zu tun ist, damit das Team eine Anforderung als fertig ansehen kann. Je nach Reifegrad der Verwaltung bzw. Dienstleister kann die Definition of Done sehr unterschiedlich sein. Idealerweise sollte die implementierte Funktion mit Done bereits im betriebenen Service dem Nutzer zur Verfügung stehen.
Eine Definition of Done könnte folgende Kriterien festlegen, die erfüllt sein müssen, um eine User Story als Done zu bezeichnen:
- Funktion ist implementiert.
- Code-Qualitätsstandards sind eingehalten.
- Quellcode ist dokumentiert.
- Alle automatisierten Tests sind erfolgreich gelaufen.
- Funktionale Tests sind durchgeführt.
- Service mit Funktion ist auf Test-Server installiert.
Was bedeutet Ready?
Die Definition of Done legt fest, wann eine User Story abgeschlossen ist. Auch andere Zustände, die zur Fertigstellung führen, aber viel früher im Entwicklungsprozess stattfinden, können durch Kriterien definiert werden. Der Zustand Ready beschreibt üblicherweise, welche Kriterien erfüllt sein müssen, damit ein Eintrag vom Team in die Umsetzung eingeplant werden kann. Je nach Reifegrad des Teams, definieren die Mitglieder Ready.
Eine Definition of Ready, die dem Team genügend Klarheit gibt, so dass ein Backlog-Eintrag innerhalb einer Iteration fertiggestellt werden kann, könnte z.B. folgende Kriterien enthalten:
- Die User Story ist im Produkt-Backlog angelegt.
- Akzeptanzkritieren sind festgelegt.
- Gestaltung des Formulars ist beigefügt.
- INVEST Kriterien sind erfüllt.
Das Team arbeitet neben der eigentlichen Umsetzung der Backlog-Einträge auch an dem Refinement des Produkt-Backlogs. So wird kontinuierlich der Reifegrad des Produkt-Backlogs erhöht.