Definition of Done – so geht es!

Definition of Done - echte Agilität

Mit der Definition of Done beschreiben wir, was vorhanden sein muss, damit ein Eintrag aus dem Product Backlog als fertig gelten darf. Alles was zur professionellen (Produkt)Entwicklung dazugehört, gehört auch in die Definition of Done.

Am Ende eines Sprints wird ein Inkrement erstellt. Es ist inkrementell aufgebaut und enthält damit alles neue, was zum letzten Inkrement hinzugekommen ist.

Dieses Inkrement kann dann (möglicherweise) ausgeliefert werden. Es ist also nicht zwingend für die Auslieferung vorgesehen, aber der Product Owner kann genau das tun, wenn er es für nötig hält.

So wird schnell klar: Wenn Sie Ihre Definition of Done immer erreichen, dann haben Sie die Möglichkeit jederzeit am Ende eines Sprints sich Feedback vom Kunden einzuholen, durch Lernen sich zu verbessern und haben eine sehr hohe Transparenz über den Projektfortschritt. Sie können Ihr Inkrement somit immer vorzeigen. ​

Ziel der Definiton of Done

Die Definition of Done sorgt für ein gemeinsames Verständnis was aus Sicht der Organisation und des Entwicklungsteam vorhanden sein muss, um gute Produkte zu entwickeln. Das hat positive Auswirkungen auf

  • check
    die​ Reduzierung vom Produktrisiko. Denn wenn Sie durch die Definition of Done regelmäßig etwas ausliefern können, dann erlebt der Kunde häufig den Fortschritt des Produktes. Sie lernen und verstehen die Erwartungshaltung und das hilft wiederum das Risiko, das falsche Produkt zu entwickeln, zu senken.
  • check
    ​die Flexibilität auf Produktebene. Wenn wirklich alles "done" ist, was Sie fertig haben und sie es ausliefern können, dann bewahren Sie sich Flexibilität auf Unternehmensebene, auf Unvorhersehbares zu reagieren und zwar zu jeder Zeit!
  • check
    ​die Maximierung des Kundenwertes. Denn nur, wenn Sie fertiges liefern, kann der Kunde lernen und Erfahrungen machen. Den erkennbaren Wert können Sie so optimieren!

Auf diese drei elementaren Vorteile der Definition of Done gehe ich im Folgenden nun einmal genauer ein. Dabei beschreibe dabei meine Sicht und Erfahrungen.​ Ebenso werden wir uns ansehen, was es mit unterschiedlichen Ebenen der Definition of Done auf sich hat und wie so eine Definition of Done aussehen kann.

Defintion of Done

Die Definition of Done (kurz DoD) ist ein Standardwerkzeug, das jedes Scrum Team besitzen muss. Es beschreibt, wann ein Eintrag aus dem Backlog (Product Backlog Item) als fertig angesehen werden kann. Und das gilt für alle Product Backlog Einträge.

Definition of Done

Beispiele für die Definiton of Done?

Um zu einer guten eigenen Definition of Done zu gelangen können Beispiele helfen. Einfache Möglichkeiten für die Definition of Done sind:

  • check
    ​Alle Akzeptanzkriterien sind erfüllt
  • check
    ​Code / Produkt Review wurde erfolgreich durchgeführt
  • check
    ​Entwicklungsrichlinien / Coding Guidelines sind eingehalten
  • check
    ​Es ist kein kritischer Fehler bekannt

Das Beispiel einer Definition of Done hängt sehr stark an Ihrem konkreten Produkt, das Sie entwickeln. Die Defintion of Done für Software Produkte ist anders als für Hardware Produkte. Und wieder anders für Prozessentwicklung.

Den konkreten Inhalt für Ihre Definition of Done müssen Sie, also Ihr Product Owner und Ihr Entwicklungsteam finden. Das Entwicklungsteam sollte hier federführend den Ton angeben, auch Scrum Master oder Product Owner können aber mit zusätzlichen Input helfen. Wie wir unten noch sehen, kommt der Impuls und die erste Vorgabe für die Definition of Done aus der Organisation.

Das Aufstellen der Definition of Done ist eine Diskussion und keine Übernahme einer "best practice". ​Haben Sie dabei bitte immer ein potentiell auslieferbares Produktinkrement vor Augen und überlegen, was Sie dafür benötigen.

Reduzierung des Risikos

Wenn Sie in klassischen Projekten gearbeitet, diese vielleicht sogar gemanagt oder es nur von Kollegen gehört haben: je länger das Projekt läuft und je näher die Abgabe des Projektes / Produktes kommt, desto höher steigt das Risiko. Wird die Integration klappen? Integrieren wir jetzt das Richtige? Kann der Kunde das erleben, was wir liefern?

Das Risiko aus Produktsicht kann nur klein gehalten werden, wenn Sie in kleinen Schritten überprüfen, ob...

Risiko ohne Definition of Done
  • check
    ​das Produkt lauffähig / erlebbar ist und
  • check
    ​den Kundenwünschen entspricht

Alles andere erhöht das Risiko. Das heißt nicht, dass andere Projekte nicht auch erfolgreiche Produkte entwickeln können, je mehr wir das Risiko aber unter Kontrolle haben wollen, desto mehr benötigen wir die Reduzierung des Risikos durch ein Inkrement, dass einer guten Definition of Done folgt.

Im folgenden Bild wird kein Inkrement erzeugt. Wenn der Product Owner ausliefern will, weiß er nicht was passiert. Bisher sind alle Inkremente im Blindflug, ob und wie ein Inkrement funktioniert, kann nicht bestimmt werden.​ Der Grund kann eine fehlende / falsche Definition of Done sein.

Definition of Done - undone work

Flexibilität

Wenn Sie flexibel sein und sich dem schnell wechselnden Markt stellen wollen, dann hilft Ihnen dafür nur ein Inkrement, dass einer eindeutigen Defintion of Done folgt.

Definition of Done bringt Flexibilität

Nur wenn Sie nach einer Auslieferung die Möglichkeit haben, eine andere Richtung einzuschlagen, dann haben Sie eine wirkliche Flexibilität im Markt. Und genau das schaffen Sie nur, wenn Sie ein Inkrement erzeugen, das auslieferbar ist. Und genau deshalb ist dieses Inkrement auch so entscheidend und wichtig. Um zu diesem Inkrement zu kommen, benötigen Sie die gute Definition of Done.

Deshalb ist es an dieser Stelle wichtig, zum einen natürlich den Markt genau zu kennen. Also welches Produkt in welchem Umfeld entwickeln Sie bzw. welches Problem lösen Sie.

In Relation dazu müssen Sie wissen, was können Sie alles in die Definition of Done aufnehmen​.

Maximierung des Kundenwerts

Egal wie gut Sie planen, egal wie viel Arbeit Sie im Vorfeld in der Erhebung der Kundenanforderungen stecken, die wirkliche Akzeptanz und den Erfolg sehen Sie erst dann, wenn der Kunde das Produkt in den Händen hält und eine Aussage darüber treffen kann. Er erlebt es. Nur wenn er es erlebt, damit seine Erfahrungen machen kann und letztendlich so lernt, können Sie sich an diesem Ergebnis orientieren!

Und genau das hilft - als einzige Möglichkeit - den Kundenwert nachhaltig zu maximieren.

Die Definition of Done kommt aus der Organisation

Die Definition of Done aus Organisationssicht

Wer erstellt innerhalb der Organisation diese Definition of Done? Diese wird durch die Organisation vorgegeben und von den Teams übernommen (und ggf. noch erweitert). Warum wird die Definition of Done durch die Organisation vorgegeben? Diese Frage kann man sich stellen, denn irgendwie liegt die Vermutung nahe, das macht doch das Team mit dem Product Owner!

Entwicklungsteam und Product Owner helfen in der Praxis

Ganz falsch ist die Idee mit dem Product Onwer und dem Entwicklungsteam nicht. Wenn die Organisation keinerlei Vorgaben macht, springt das Entwicklungsteam ein und fertig die Definition of Done an.

Ich mache es in der Praxis gerne so, dass in die Erstellung der Definition of Done alle eingebunden sind. Der Ansatz nach möglichst großer Zusammenarbeit funktioniert in reifen Organisationen mit etablierten und guten Teams hervorragend. Sie müssen in Ihrer Organisation abwägen, ob diese Möglichkeit bei Ihnen ebenso funktioniert. Der Fokus liegt auf einer breiten, existierende Erfahrung in Ihrem Unternehmen.

Organisationsanforderungen in der Definition of Done

Typische Themen, die in so einer Definition of Done stehen können, sind zum Beispiel Teile von Normen. Wenn ein Unternehmen im Bereich von existierenden Normen entwickelt, dann müssen oft für alle Produkte solche Normen auch eingehalten werden. Das kann sich damit direkt auf die Definition von "fertiger Arbeit" durchschlagen.

Entwickeln Organisationen unterschiedliche Produkte, dann ist es oft so, dass alle diese Produkte Normen einhalten müssen und zusätzlich produktspezifische Anforderungen haben, die in der Definition of Done festgehalten werden.

Die Definition of Done lebt!

Die Defintion of Done ist kein statisches Artefakt in Scrum. Es wird erwartet, dass sich mit wachsender Reife des Teams und dem Beherrschen von mehr Techniken und Werkzeugen auch die Definition of Done verbessert.

Im Sprint Planning wird die Definition of Done überprüft

Es gibt ein Event in Scrum, in dem diese Definition of Done überprüft wird. Und das ist das Sprint Planning. Hier haben Sie als Team in der Regel weitere wertvolle Erkenntnisse (zum Beispiel aus der Retrospektive) gewonnen, wie Sie sich verbessern können.

Im Sprint Planning entscheiden Sie dann, ob für den aktuellen Sprint die bisherige Definition of Done noch Gültigkeit hat oder ob Sie hier noch eine Anpassung ermöglichen.

Level of Done

Im Gegensatz zur Definition of Done gibt es noch das Level of Done. Das Level of Done wird immer dann wichtig, wenn Sie aus Organisationssicht nicht in der Lage sind, sofort ein potentiell auslieferbares Produktinkremement zu erstellen. Das kann unterschiedliche und z.B. physikalische Gründe haben. Verlassen wir die reine Softwareentwicklung. Wenn wir ein Produkt haben, in dem wir überwiegend nur Hardware erstellen, dann kann ​nicht immer die Hardware nach jedem Sprint releasefertig sein. Beachten Sie aber immer: nach jedem Sprint erzeugen Sie trotzdem Wert für den Kunden und es ist auch etwas "erlebbares" vorhanden. Beispiele für unterschiedliche "Level":

  • check
    ​Die Hardware funktioniert am Aufsteller am Platz des Entwicklers, eingebunden in die Umgebung ohne zum Beispiel auf bestimmte Bussysteme im Auto zurückzugreifen.
  • check
    ​Die Hardware funktioniert in einem Kontext mit anderer Hardware. Das können verschiedene Komponenten sein, die miteinander interagieren.
  • check
    ​Die Hardware ist im Systemverbund testbar und unter realen Einsatzbedingungen nutzbar.

​Achten Sie aber bitte ganz genau darauf, ob Sie dieses Level of Done nicht eigentlich dafür nutzen wollen, etwas wegzulassen. Tests wegzulassen macht kein Sinn und verkennt auch den Sinn des Level of Done.

LoD & DoD: Der Scrum Master hilft

Wenig überraschend, da es sich um prozessuale Abläufe handelt, treibt der Scrum Master auch hier die Verbesserung in der Organisation.

Fazit zur Definition on Done

Es ist mit Sicherheit nicht leicht, eine Definition of Done zu erzeugen, die ein potentiell auslieferbares Produktinkrement erzeugt. ​Nur wenn Sie von letzterem eine gutes Verständnis und eine Beschreibung haben, werden Sie ersteres überhaupt erzeugen können.

Damit das wirklich gut funktioniert, müssen Sie im Bereich der Software ein gutes Integrationskonzept haben. Tests müssen automatisch laufen können, oft eben auch auf Systemebene.​ Continuous Integration gehört dazu - ohne solche Unterstützung werden Sie kaum eine gute agile Entwicklung hinbekommen.

Eine gute Definition of Done zu haben, ist nicht alleine aus Sicht von Scrum wichtig: ​​Wenn Sie nicht wissen unter welchen Bedingungen ​Ihre Arbeit als "fertig" angesehen werden kann, laufen Sie grundsätzlich in Produktprobleme​.

Leave a Reply 0 comments

Leave a Reply:







close

Die besten Tipps... ​für eine gute Scrum Umsetzung

​Schreiben Sie sich ein, ​um die Tipps direkt zu bekommen!