t2informatik » Wissen kompakt » Definition of Done

Was ist eine Definition of Done?

Welche Vorteile bietet sie und welche Beispiele gibt es?

Definition of Done – Definition

Die Definition of Done ist eine Checkliste mit Qualitätskriterien, die beschreibt, welche Kriterien erfüllt sein müssen, damit die Erstellung eines Produkts als erledigt betrachtet werden kann. Da Menschen unterschiedliche Vorstellungen von Qualität haben, ist es wichtig, sich gemeinsam im Team auf eine Definition of Done (DoD) festzulegen. Damit liegt die Verantwortung für die DoD auch beim Team und sie wirkt als Selbstverpflichtung für das Team. Anhand der definierten Kriterien lässt sich fortan feststellen, ob ein Backlog Item, ein Feature oder eine User Story tatsächlich fertig bzw. done ist.

Der Sinn einer Definition of Done

„Ich bin fast fertig.“ Oder: „Die Aufgabe ist zu 90% erledigt.“ Vielleicht haben Sie solche Aussagen auch schon einmal gehört, die Hinweise zum Fortschritt einer Aufgabe liefern, aber nicht sonderlich konkret sind. Was bedeutet „fast fertig“? Welche 10% fehlen noch zur Fertigstellung? Mit einer Definition of Done erzeugen Sie Klarheit. Durch die Verwendung einer DoD wissen Sie, was benötigt wird, damit etwas als „fertig“ gelten kann. Diese Klarheit hängt nicht von persönlichen Einschätzungen ab; sie ist das Ergebnis von vereinbarten Kriterien, die allesamt erfüllt sein müssen, so dass aus einem „fast fertig“ ein „Fertig“ bzw. „Done“ wird. Darüber hinaus steht eine Definition of Done für einen Qualitätsanspruch, für eine Ausrichtung auf Werte und Prozeduren.

Das Commitment des Teams

Damit die Definition of Done ihre größtmögliche Wirkung entfalten kann, empfiehlt es sich, sie für alle Beteiligten jederzeit gut sichtbar, idealerweise als Ausdruck an einer Wand, zu veröffentlichen. Durch diese Transparenz steigt das Commitment des Teams, die vereinbarten Kriterien zu erfüllen. Eine DoD, die nur vom Product Owner erstellt wurde, führt nicht zu einem solchen Commitment.

Die Definition of Done in der Praxis

Beispiele für eine Definition of Done

Sie können eine Definition of Done ausformulieren oder als Kriterienliste anlegen. Wenn Sie Software entwickeln, könnte eine ausformulierte DoD wie folgt lauten:

„Eine User Story gilt als fertig, sofern die Akzeptanzkriterien erfüllt sind, die Codeerzeugung nach Standard XYZ erfolgt ist, der Code in der Versionsverwaltung gesichert, die manuelle Überprüfung durch ein Teammitglied und die automatisierten Tests keine Fehler ergeben haben und die Dokumentation angepasst wurde.“

Häufig entscheiden sich Organisationen dazu, ihre Definition of Done als Kriterienliste anzulegen, denn dies bietet die Option, einzelne Kriterien separat abzuhaken. Eine solche Liste könnte unter anderem folgende Punkte beinhalten:

  • Alle Akzeptanzkriterien werden erfüllt
  • Der Code ist vollständig implementiert und kommentiert
  • Der Code wurde im Pair Programming erarbeitet
  • Die Coding Standards von XYZ und die internen Konventionen ABC wurden eingehalten
  • Der Code steht unter Versionsverwaltung
  • Ein Code Review wurde durchgeführt
  • Die Unit-Tests wurden durchgeführt und bestanden
  • Eine Dokumentation wurde erstellt
  • Ein Eintrag im Change Log wurde angelegt

Bei der Erstellung einer Definition of Done sollten Teams darauf achten, dass die festgelegten Kriterien überprüft werden müssen. Je mehr Kriterien definiert werden, desto mehr Kriterien gilt es zu überprüfen. Würde die Überprüfung nicht stattfinden, wäre schon bald der Sinn der DoD hinfällig. Anspruch und Realität müssen also zusammenpassen.

Der Unterschied zu Akzeptanzkritieren

Es gibt einen wesentlichen Unterschied zwischen Akzeptanzkriterien und einer Definition of Done: Akzeptanzkriterien beziehen sich immer konkret auf ein Item wie bspw. eine User Story. Sie sorgen für mehr Klarheit, was im Rahmen der User Story umzusetzen ist, und sind sie Quelle für Akzeptanztests. Die Definition of Done hingegen bezieht sich bspw. auf das generelle Arbeiten mit User Storys, d.h. die dort formulierten Kriterien sind invariant. Müssen bspw. Entwicklungen vor der Freigabe einer Peer-Prüfung und einem QA-Test unterzogen werden, finden sich diese Kriterien in der DoD und nicht in den Akzeptanzkriterien der User Story wieder. Zum Fertigstellen einer User Story reicht also nicht, lediglich die Akzeptanzkriterien zu erfüllen, auch die Kriterien der DoD müssen erfüllt sein. Grundsätzlich kann die Erfüllung der Akzeptanzkriterien auch ein Kriterium bei der DoD darstellen.

Vorteile einer Definition of Done

Das Arbeiten mit einer Definition of Done bietet verschiedene Vorteile:

  • Es gibt ein gemeinsames Verständnis von Qualität und das Commitment des Teams, diese Qualität zu liefern. Dabei ist der Qualitätsgedanke umfassender, denn er bezieht sich auf mehr als nur eine Aufgabe oder eine User Story.
  • Jeder im Team weiß, was von jedem erwartet wird und was das Team als Einheit zu liefern hat.
  • Der Anspruch im Team, qualitative Arbeit zu leisten, steigt.
  • Die vereinbarten Kriterien lassen sich überprüfen, d.h. die DoD ist ein Arbeitsmittel.
  • Es lassen sich für verschiedene Aspekte DoDs definieren, bspw. für User Storys, Features, Sprints oder Releases. So entstehen zu Themen passende DoDs, die sich auch gemeinsam im Team weiterentwickeln lassen.
  • Es entsteht Klarheit darüber, ob ein Backlog Item, ein Feature oder eine User Story tatsächlich „done“ ist.

 

Definition of Done Guide - t2informatik Download

Jetzt den Definition of Done Guide kostenlos downloaden.

Alles Wichtige zur Definition of Done inklusive Vorteile und Beispiele auf 6 Seiten zum Mitnehmen.

Hier klicken »

Herausforderungen für Unternehmen

Die konsequente Anwendung der Definition of Done

Unternehmen stehen bei der Nutzung einer Definition of Done vor mehreren Herausforderungen:

  • Wie gelingt die konsequente Anwendung einer Definition of Done?
  • Wie wird das Zusammenspiel zwischen verschiedenen DoDs organisiert?
  • Wie lässt sich die Definition of Done weiterentwickeln?

Bei der Nutzung einer Definition of Done stellt sich Organisationen früher oder später die Frage, ob es akzeptabel ist, nicht immer alle Kriterien vollständig zu erfüllen. Vielleicht sind die definierten Kriterien doch umfangreicher als ursprünglich beabsichtigt, vielleicht ist es in Einzelfällen in Ordnung, technische Schulden zu akzeptieren? Eine allgemeingültige Antwort auf die Frage gibt es nicht; sie liegt in einer Grauzone. Für eine Organisation ist es aber wichtig zu unterscheiden, ob es eine einmalige Abweichung sein wird oder ob die DoD dauerhaft verändert werden soll. Die Weiterentwicklung der Kriterien kann so zur Reduzierung oder im umgekehrten Fall zur Aufstockung von Kriterien führen.

Die Verwendung mehrerer DoDs auf verschiedenen Ebenen kann zu einem Overhead und einem Verlust an Transparenz führen. Sind die Akzeptanzkriterien einer User Story erfüllt, gilt es die Definition of Done zu überprüfen. Die DoD für die Entwicklung von User Storys ist naheliegend. Ergänzend greift bspw. die Definition of Done des Sprints und dann evtl. die des Releases. Wo verwalten Organisationen die entsprechenden Informationen? Wie erfolgt die Abnahme einer User Story, wenn auf einer anderen Ebene ein Kriterium nicht erfüllt wurde? Führt das Arbeiten mit mehreren DoDs in der Konsequenz nicht dazu, dass Kriterien der höheren Ebenen schrittweise in Richtung der User Storys verlagert werden? Auch diese Fragen lassen sich nicht allgemeingültig beantworten. In anderen Worten: Organisationen müssen einen pragmatischen Weg im Umgang mit den DoDs der verschiedenen Ebenen finden und gegebenenfalls nicht nur eine einzelne Definition of Done sondern auch das Zusammenspiel verschiedener DoDs weiterentwickeln.

Gerne stellen wir Ihnen Wissen, Erfahrung und 100% Leidenschaft für Ihre Softwareentwicklung und Anforderungsanalyse zur Verfügung. Wir helfen Ihnen bei der Erhebung, Strukturierung und Verwaltung von Anforderungen und achten dabei auf Konsistenz, Vollständigkeit und Nachvollziehbarkeit. Wir unterstützen Sie beim Identifizieren von technischen Zusammenhängen und berücksichtigen Stakeholder, Ziele und Randbedingungen. Und wir realisieren Ihre Anforderungen unter Berücksichtigung Ihrer Definition of Done.

Hier erfahren Sie mehr zum Thema Softwareentwicklung »

Weitere Details und Hintergründe

Share This