Sebastian Schneider

Hey, ich bin Sebastian! Schön, dass du da bist! Schau dich in Ruhe um, besuche meine professionell gedrehten Lecturio Kurse und komm in meine kostenlose Academy

Schlagwörter:

Etwa  Minute(n) Lesezeit

Aktuell überarbeite ich meine Webseite umfassend. Daher können einige Links ins Leere führen, Texte unvollständig sein und es kann an manchen Stellen noch zu Problemen kommen. Ich werde diesen Hinweis entfernen, sobald die Seite vollständig aktualisiert ist. Bis dahin bitte ich um etwas Geduld. Schaue auch unter den letzten Updates nach, wenn du etwas bestimmtes suchst.

Dein Scrum Team liefert am Ende eines Sprints ein Feature aus, das zwar funktioniert, aber noch nicht getestet, dokumentiert oder gar deployt ist. Ist das Feature dann wirklich "fertig"? Wahrscheinlich nicht. Hier kommt die "Definition of Done" (DoD) ins Spiel. Sie ist ein essenzieller Bestandteil von Scrum und definiert, was genau "fertig" bedeutet. In diesem Blogartikel erfährst Du, was die DoD ist, warum sie so wichtig ist, wie Du sie erstellst und welche Vorteile sie Deinem Team bietet. Sie ist das Commitment zum Inkrement.

Was ist die Definition of Done?

Die DoD ist eine klare und für alle verständliche Checkliste mit konkreten Kriterien, die ein Inkrement (z.B. ein Feature oder eine User Story) erfüllen muss, um als "fertig" zu gelten. Sie stellt sicher, dass alle Teammitglieder das gleiche Verständnis von "fertig" haben und verhindert Missverständnisse und Nacharbeit. Die DoD wird vom gesamten Scrum Team gemeinsam erarbeitet und ist für alle verbindlich. Sie hilft den Entwicklern auch beim Schätzen, wie viel im Sprint möglich ist.

Definition of Done (DoD)

Warum ist die Definition of Done so wichtig?

Ohne eine klare DoD tappst Du im Dunkeln. Du weißt nicht genau, wann ein Inkrement wirklich abgeschlossen ist und riskierst, 

  • technische Schulden anzuhäufen oder
  • ein nicht funktionierendes Produkt zu liefern

Die DoD bietet folgende Vorteile:

  • Transparenz: Jeder im Team weiß, was erwartet wird und was "fertig" bedeutet.
  • Vorhersehbarkeit: Durch die klaren Kriterien lässt sich der Fortschritt besser abschätzen und planen.
  • Qualität: Die DoD stellt sicher, dass alle wichtigen Aspekte, wie z.B. Tests und Dokumentation, berücksichtigt werden.
  • Effizienz: Nacharbeit wird minimiert und die Teamkommunikation verbessert.
  • Vertrauen: Die DoD schafft Vertrauen innerhalb des Teams und gegenüber dem Product Owner und den Stakeholdern.

Wie erstellst Du eine effektive Definition of Done?

Die Erstellung der DoD ist ein iterativer Prozess. Beginnt mit den Grundlagen und erweitert die Liste im Laufe der Zeit. Hier sind einige wichtige Punkte, die Du berücksichtigen solltest:

  • Gemeinsam erarbeiten: Das gesamte Scrum Team sollte an der Erstellung der DoD beteiligt sein.
  • Spezifisch und messbar: Die Kriterien sollten klar formuliert und überprüfbar sein. Vermeide vage Formulierungen wie "gut getestet".
  • Realistisch: Die DoD sollte den aktuellen Fähigkeiten des Teams entsprechen und im Laufe der Zeit angepasst werden.
  • Sichtbar: Die DoD sollte für alle sichtbar sein, z.B. an einem Whiteboard oder im digitalen Tool.
  • Regelmäßig überprüfen und anpassen: Die DoD ist kein statisches Dokument. Sie sollte regelmäßig überprüft und bei Bedarf angepasst werden.

Wo fange ich an?

Ein erster Schritt ist es, dass sich der Scrum Master in der Organisation schlau macht, ob es seitens der Organisation bereits Anforderungen an eine Definition of Done gibt. Wenn ja, ist diese natürlich zu berücksichtigen. Wenn nein, erstellt das Scrum Team selbst eine.

Konkrete Beispiele für eine Definition of Done:

Hier sind einige Beispiele für Kriterien, die in einer DoD enthalten sein könnten:

  • Code: Der Code ist geschrieben, reviewed und committed.
  • Tests: Unit-Tests, Integrationstests und Akzeptanztests wurden erfolgreich durchgeführt.
  • Dokumentation: Die notwendige Dokumentation ist erstellt und aktuell.
  • Deployment: Das Inkrement wurde in die Staging-Umgebung deployed.
  • Review durch den Product Owner: Der Product Owner hat das PBI abgenommen.
  • Usability: Das Inkrement erfüllt die Usability-Anforderungen.
  • Performance: Das Inkrement erfüllt die Performance-Anforderungen.

Hinweis 1: Berücksichtige auch hier immer: Die Definition of Done ist sehr stark abhängig von deinem Produkt und deinem Kontext. Du kannst diese also niemals einfach "kopieren" und anwenden, sondern musst diese Inhalte bei dir anpassen.

Hinweis 2: Du wirst schnell merken, dass zu viele und zu detaillierte Einträge nicht dazu einladen, die DoD jedes mal zu überprüfen. Zu wenige Einträge machen sie manchmal fast überflüssig. Ebenso verhält es sich mit der Detaillierung.

Meine Erfahrungen und Tipps aus der Praxis:

  • Fangt klein an: Es ist besser, mit einer kleinen, aber effektiven DoD zu starten und diese im Laufe der Zeit zu erweitern.
  • Bezieht den Product Owner ein: Der Product Owner sollte in die Erstellung der DoD involviert sein, um sicherzustellen, dass die Kriterien seinen Erwartungen entsprechen.
  • Lebt die DoD: Die DoD ist nur so gut, wie sie angewendet wird. Stellt sicher, dass das Team die Kriterien ernst nimmt und konsequent anwendet.
  • Reflektiert regelmäßig: Nutzt die Sprint-Retrospektive, um die DoD zu überprüfen und zu verbessern.
  • Automatisiert, was möglich ist: Automatisierte Tests und Deployments können die Einhaltung der DoD erleichtern.

Das Level of Done: Wenn "fertig" noch nicht ganz "fertig" ist

Neben der Definition of Done begegnen wir in der Praxis manchmal dem Konzept des "Level of Done". Dies wird relevant, wenn du organisationsbedingt nicht nach jedem Sprint ein potentiell auslieferbares Produktinkrement erstellen kannst. Das kann verschiedene Gründe haben, besonders außerhalb der reinen Softwareentwicklung. Denke beispielsweise an die Hardware-Entwicklung: Es ist (aktuell) oft unrealistisch, nach jedem Sprint ein fertiges, auslieferbares Hardware-Produkt zu haben. Trotzdem solltest du in jedem Sprint Wert für den Kunden generieren und "erlebbares" schaffen. Hier kommt das Level of Done ins Spiel. Es beschreibt Zwischenstufen auf dem Weg zum finalen "fertig". Ein weiteres Beispiel sind (noch) verzahnte Produkte, die in einer Skalierung erst im Verbund für einen Anwender wirklich erlebbar sind. So etwas findest du oft bei Unternehmen, die entweder beginnen mit Scrum zu arbeiten, noch keine hohe Reife erlangt haben oder sogar Fake-Agile betreiben.

Betrachten wir einmal Beispiele für verschiedene Level of Done in der Hardware-Entwicklung:

  • Level 1: Die Hardware funktioniert am Aufsteller am Arbeitsplatz des Entwicklers, eingebunden in eine Testumgebung, die aber nicht alle Aspekte des finalen Systems abbildet (z.B. ohne Anbindung an die Bussysteme im Auto).
  • Level 2: Die Hardware funktioniert im Kontext mit anderer Hardware und interagiert erfolgreich mit verschiedenen Komponenten.
  • Level 3: Die Hardware ist im vollständigen Systemverbund testbar und kann unter realen Einsatzbedingungen genutzt werden.

Unterschiede

Der Unterschied zur DoD: Während die DoD die endgültigen Kriterien für ein "fertiges" Inkrement definiert, beschreibt das Level of Done Zwischenstufen auf dem Weg dorthin. Es ermöglicht dir, inkrementell Wert zu liefern, auch wenn die vollständige Fertigstellung nach Scrum-Definition noch nicht möglich ist.

Gefahren

Die Gefahr der Fehlinterpretation: Achtung! Das Level of Done darf nicht als Ausrede dienen, wichtige Aspekte der DoD zu vernachlässigen. Es geht nicht darum, z.B. Tests wegzulassen, sondern darum, den Fortschritt in komplexen Umgebungen messbar zu machen. Ein niedrigeres Level of Done bedeutet nicht, dass Qualitätsstandards ignoriert werden dürfen. Tests, Code Reviews und Dokumentation bleiben essentiell, auch wenn das Produktinkrement noch nicht vollständig "auslieferbar" ist. Das Level of Done dient der Transparenz und dem Verständnis des aktuellen Entwicklungsstandes, nicht der Umgehung von Qualitätskriterien.

Zusammenspiel

Die DoD und das Level of Done ergänzen sich. Die DoD bildet den übergeordneten Rahmen für "fertig", während das Level of Done die Zwischenstufen auf dem Weg dorthin beschreibt. Jedes Level of Done sollte dennoch die relevanten Aspekte der DoD berücksichtigen, auch wenn sie in einem reduzierten Umfang umgesetzt werden.

Fazit

Die Definition of Done ist ein unverzichtbares Werkzeug für jedes Scrum Team. Sie schafft Transparenz, Vorhersehbarkeit und Qualität und trägt maßgeblich zum Erfolg des Produktes bei. Nimm Dir die Zeit, eine effektive DoD zu erstellen und lebe sie konsequent. Du wirst sehen, dass es sich lohnt! Nutzen solltest du sie immer im Sprint Planning und überprüfen in der Sprint Retrospektive.

>