Was ist die Definition of Done?
Die Definition von Done oder kurz DoD ist eine besondere Art von Arbeitsvereinbarung. Sie erfasst das gemeinsame Verständnis eines Teams darüber, was „erledigt“ für es bedeutet. Das Konzept der Definition von „Erledigt“ wurde durch das Scrum-Rahmenwerk populär.
Im Scrum Guide heißt es übersetzt:
„Die Definition of Done schafft Transparenz, indem sie allen ein gemeinsames Verständnis davon vermittelt, welche Arbeit als Teil des Inkrements abgeschlossen wurde. Wenn ein Product Backlog Item nicht der Definition von Done entspricht, kann es nicht freigegeben oder gar beim Sprint Review präsentiert werden. Stattdessen kehrt es zum Product Backlog zurück, damit es in Zukunft berücksichtigt werden kann.“
Viele Teams betrachten ihre Definition von Erledigt als eine Art Checkliste, um sicherzustellen, dass sie alle notwendigen Anforderungen erfüllt haben, bevor sie erklären, dass ein Punkt erledigt ist. Dies bedeutet auch, dass das DoD letztlich eine Qualitätsprüfung für das Team durch das Team darstellt.
Wie lautet die Definition of Done in SAFe oder anderen Skalierungsframeworks?
Der Scaled Agile Framework oder kurz SAFe hat keine spezifische Beschreibung einer Definition of Done, außer dass sie deren Existenz anerkennen und fördern. SAFe besteht letztlich aus einer größeren Anzahl von Scrum/Agile-Teams, daher fördert es auch die Grundprinzipien von Scrum.
Für jeden skalierten Ansatz in der Produktentwicklung, d.h. mehrere Teams, die gemeinsam an demselben Produkt arbeiten, wird empfohlen, dass diese Teams synchronisiert arbeiten und die wesentlichen Teile einer Definition des Erledigten gemeinsam nutzen. Jedes Team kann seiner „Definition of Done“ weitere Elemente hinzufügen, aber kein Team sollte Elemente liefern, die andere Teams nicht als erledigt betrachten.
Warum ist eine Definition of Done wichtig, welchen Zweck erfüllt sie?
Sobald man anfängt, in einem Team zu arbeiten, ist es wichtig, ein gemeinsames Verständnis für mehrere Dinge zu schaffen: Jedes Team sollte auf die Vision/Mission dieses Teams ausgerichtet sein. Jedes Team sollte gemeinsam erarbeitete Arbeitsvereinbarungen haben. Und als Teil der Arbeitsvereinbarungen sollte jedes Team darauf ausgerichtet sein, was „getan“ für sie bedeutet.
Dieses gemeinsame Verständnis von „erledigt“ ermöglicht es verschiedenen Personen, an unterschiedlichen Themen zu arbeiten und dennoch eine konsistente Qualität und Benutzererfahrung zu liefern. Es führt auch zu einer Vereinfachung des Einarbeitungsprozesses neuer Teammitglieder. Außerdem erleichtert es die teamübergreifende Zusammenarbeit in einer skalierten Umgebung erheblich. Und schließlich stellt sie sicher, dass die Arbeit jedes Teams und seiner Mitglieder den Anforderungen der Organisation entspricht.
Wann wird die Definition of Done erstellt?
Es wird empfohlen, dass die Teams ihre Definition of Done so früh wie möglich und spätestens vor der ersten Sprintplanung erstellen. Ohne ein gemeinsames Verständnis dessen, was „erledigt“ bedeutet, ist es grundsätzlich unmöglich, sich darauf abzustimmen, wie viel Arbeit ein Team in einen Sprint stecken kann.
Wenn ein Team nicht bereit ist, vor der Planung des ersten Sprints eine Definition of Done zu erstellen, wird es während des Sprints oder spätestens bei der Überprüfung des Sprints feststellen, dass die Qualität, die es geliefert hat, nicht konsistent ist und höchstwahrscheinlich nicht den Erwartungen der Stakeholder entspricht.
Wer erstellt die Definition of Done in Scrum?
An der Erstellung der Definition of Done sind mehrere Parteien beteiligt. Letztendlich liegt es in der Verantwortung des Scrum Teams, dieses gemeinsame Verständnis zu schaffen. Sie sollten die Beiträge der verschiedenen Interessengruppen berücksichtigen, um deren Erwartungen zu erfüllen.
Was ist typischerweise in der Definition of Done enthalten?
Eine typische Definition of Done umfasst Antworten auf die folgenden Fragen:
- Wie stellen wir sicher, dass wir die Geschäftsanforderungen erfüllen?
- stellen wir sicher, dass wir eine gleichbleibende Qualität haben?
Als Beispiel könnte eine Definition von „Erledigt“ wie folgt aussehen:
- Alle Akzeptanzkriterien sind erfüllt
- Alle notwendigen Tests wurden erfolgreich abgeschlossen
- Wir haben die Arbeit mehrfach überprüfen lassen
- Alle notwendige Dokumentation wurde erstellt
- Der Product Owner hat die Arbeit überprüft und ist zufrieden
Je nach Arbeitsbereich können Teams längere (detailliertere) und manchmal kürzere (high level) Definition of Done haben. In den meisten Fällen entwickelt sich eine Definition of Done im Laufe eines Projekts und wird immer granularer.
Was ist der Unterschied zwischen der Definition of Done und der Definition of Ready?
Die Definition of Done bezieht sich auf einen Gegenstand, der vollständig entwickelt, d.h. fertiggestellt ist. Im Gegensatz dazu beschreibt die Definition of Ready die grundlegende Anforderung an ein Item, damit ein Team mit der Arbeit daran beginnen kann.
Die Definition of Done wird zudem im Scrum Guide erwähnt, während die Definition of Ready nicht erwähnt wird. Dies ist ein Artefakt, das Teams hinzufügen können. Es gibt – wie üblich – Vor- und Nachteile, dies zu tun.
Was ist die Definition von Ready in Scrum?
Die Definition of Ready erfasst das gemeinsame Verständnis der Schritte, die ein Team unternehmen muss, um sicherzustellen, dass eine Anforderung gut definiert ist und ein Team sie in seinen nächsten Sprint mitnehmen kann.
Viele Teams verwenden das Akronym INVEST als Definition of Ready:
- I = Independent / unabhängig… ist das Element unabhängig oder haben wir in unserem Priorisierungsprozess alle Abhängigkeiten berücksichtigt
- N = Negotiable / verhandelbar… haben wir über das Item gesprochen und sind uns einig
- V = Valuable / wertvoll… haben wir ein Gespür für den Wert, den wir für unsere Benutzer schaffen
- E = Estimable / schätzbar… können wir den Aufwand für die Lieferung dieses Artikels abschätzen
- S = Sized / angemessene Größe… passt es in unseren Sprint oder sehen wir Möglichkeiten, es zu verkleinern?
- T = Testable / testbar… wissen wir, was von uns erwartet wird, d.h. haben wir die Akzeptanzkriterien erfasst/ dokumentiert?
Dies ist eine von vielen Möglichkeiten, eine Definition of Ready zu erstellen. Die wichtigsten Aspekte sind, dass mit der Arbeit an einem Item nicht begonnen wird, ohne dass das Team es diskutiert hat.
Warum ist die Definition of Ready eventuell wichtig?
Ähnlich wie die Definition of Done („Fertig“) hilft die Definition of Ready („Bereit“) einem Team, besser zusammenzuarbeiten. Für einen Product Owner ist es wichtig zu wissen, was das Team erwartet, wenn es eine Anforderung erstellt. Für das Team ist es wichtig zu wissen, in welchem Teil des Prozesses es den Product Owner dabei unterstützen kann, bessere Anforderungen zu liefern.
Wann ändern Sie die Definition of Done?
Sowohl die Definition of Done als auch die Definition of Ready sollten regelmäßig überprüft und angepasst werden. Bedeutet das, dass wir sie bei jedem Sprint verfeinern? Nein! Aber mit der Zeit werden die Teams erkennen, dass sie ihre Definition of Done aktualisieren sollten.
Um Ihnen ein konkretes Beispiel aus einem unserer eigenen Projekte zu geben. Vor einigen Jahren haben wir begonnen, ein Job-Portal aufzubauen. Ursprünglich war es nur ein Desktop-Portal. Wir stellten fest, dass 70% unseres Datenverkehrs über mobile Geräte abgewickelt wurde. Also verbrachten wir einen ganzen Sprint, um alle vorhandenen Seiten zu aktualisieren und sie responsive zu machen. Diese Anforderung ging dann in unsere Definition of Ready über, so dass wir in Zukunft jedes Mal, wenn wir eine neue Website bauten, diese sofort responsive machten, bis es für uns eine Selbstverständlichkeit war.
Was sagt der Scrum-Guide 2020 über die Definition of Done?
Abschließend empfehlen wir die Lektüre des Scrum Guide und insbesondere des neuen Scrum Guide 2020. Dieser wurde am 18. November öffentlich vorgestellt und erhält ein paar kleine aber feine Änderungen.
Möchtest du mehr über die Arbeit eines Scrum Masters erfahren?
Wenn du tiefer in die Definition of Done einsteigen willst oder herausfinden möchtest, welche Aufgaben dich als Scrum Master noch erwarten, kannst du dich mit der Rolle des Scrum Masters auf der dazugehörigen Journey-Seite beschäftigen.
Zertifizierungstrainings bieten wir zum Certified ScrumMaster an. Dieses Training eignet sich sowohl für Einsteiger in agile Prozesse als auch für erfahrene Scrum Master.
Zudem kannst du bei unseren kostenlosen Infoveranstaltungen verschiedene Themen erkunden und dich bei unseren Online Kursen umschauen.
Scrum Master & Agile Coach Online-Kurs
Verbessere deine Fähigkeiten als Scrum Master oder Agile Coach mit unserem Online-Kurs.
Tauche ein in die Welt von Agile und Scrum und lerne anhand praktischer Modelle und Branchenbeispielen, wie du besser mit agilen Teams umgehen kannst.
Zum Online-Kurs