Apptiva Logo

Definition of Ready und Definition of Done in der Softwareentwicklung

Ein kurzer Leitfaden zu Definiton of Done und Definition of Ready

Publiziert am von Robin Geissmann

In der agilen Softwareentwicklung helfen klare Richtlinien und Standards, einen reibungslosen Entwicklungsprozess zu gewährleisten. Zwei solche Standards sind die Definition von Ready (DoR) und die Definition von Done (DoD).

Diese dienen als Leitfaden für Entwickler, um sicherzustellen, dass Anforderungen klar definiert sind und dass das Endprodukt den Qualitätsstandards entspricht. Diese Definitionen sind und können nicht für alle Teams oder Projekte gleich sein.

Definition of Ready (DoR)

Die Definition von Ready (DoR) dient um sicherzustellen, dass alle erforderlichen Informationen vorhanden sind, bevor mit der Umsetzung einer Aufgabe begonnen wird.

Man sollte sich aber bewusst sein, dass eine DoR auch immer einen administrativen Overhead generieren kann. Deshalb ist es wichtig, sich zu Fragen, ob und in welchem Umfang das Projekt eine benötigt. Eine DoR kann folgende Kriterien beinhalten:

Akzeptanzkriterien definiert

Für jede User Story werden klare Akzeptanzkriterien festgelegt, die die spezifischen Bedingungen beschreiben, die erfüllt sein müssen, damit die Story als abgeschlossen betrachtet werden kann.

Klare technische Umsetzung

Die technische Umsetzung der Story wird definiert, einschliesslich der erforderlichen Schnittstellen, Komponenten und möglichen Architekturänderungen. Komplexe Änderungen werden visualisiert, um ein besseres Verständnis zu gewährleisten.

UI-Änderungen mit Mockup

Wenn UI-Änderungen erforderlich sind, müssen diese mindestens als Mockup visualisiert sein, um eine klare Vorstellung der erwarteten Ergebnisse zu vermitteln.

Angemessene Grösse

User Stories werden angemessen dimensioniert, um innerhalb von maximal 5 Arbeitstagen abgeschlossen werden zu können. Zu umfangreiche Stories werden in überschaubare Aufgaben unterteilt.

Definition of Done (DoD)

Die Definition von Done (DoD) beschreibt die Anforderungen, die erfüllt sein müssen, damit eine Aufgabe als abgeschlossen betrachtet werden kann.
Mehr noch als die DoR ist sie ein sehr gutes Instrument um die Qualität des Projektes zu gewährleisten. Eine DoD kann folgende Punkte umfassen:

Code-Qualität

Der implementierte Code erfüllt die vereinbarten Qualitätsstandards, einschliesslich der Einhaltung von Coding-Richtlinien und der Vermeidung von Duplikaten.

Unit-Tests

Für den implementierten Code werden Unit-Tests geschrieben und erfolgreich durchgeführt, um die technische Funktionalität sicherzustellen.

Integrationstests

Die Integration des Codes wird erfolgreich getestet, um sicherzustellen, dass er ordnungsgemäss mit anderen Systemkomponenten interagiert.

Erfüllung der Akzeptanzkriterien

Alle in den Akzeptanzkriterien festgelegten Bedingungen werden erfüllt, und die Funktionalität wird gemäss den Anforderungen umgesetzt.

Aktualisierung der Dokumentation

Die Dokumentation des Systems und das Benutzerhandbuch werden aktualisiert, um die Änderungen der User Story zu reflektieren.

Code-Review abgeschlossen

Der implementierte Code wird von einem anderen Teammitglied überprüft und genehmigt, um potenzielle Fehler zu identifizieren.

Erfolgreiche Abnahme durch Entwicklung

Ein unbeteiligter Entwickler hat die Lösung getestet und die Funktionalität verifiziert.

Fazit

Die Definition of Ready und Definition of Done sind wesentliche Bestandteile unseres Entwicklungsprozesses, die sicherstellen, dass Anforderungen klar definiert sind und das Endprodukt den Qualitätsstandards entspricht. Durch die konsequente Anwendung dieser Standards streben wir eine effiziente und qualitativ hochwertige Softwareentwicklung an.