Was ist die Definition of Done für agile Teams?

Veröffentlicht: 2022-08-23

Heutzutage scheint es, als würde sich jeder nur darum kümmern, Dinge agil zu machen. Das liegt vor allem an der Fähigkeit von Agile, sich an Veränderungen anzupassen und Kundenfeedback einzubeziehen, die beide in der heutigen Welt unerlässlich sind, in der sich die Technologie ständig weiterentwickelt und unzählige Informationen nur wenige Klicks entfernt sind – einschließlich öffentlicher Kundenbewertungen.

Um auf Kundenfeedback zu reagieren und es in Produkte und Prozesse zu integrieren, bedarf es selbstorganisierender Teams, die ihre Arbeit ständig optimieren, um effizienter zu sein, wobei sie sich regelmäßig ändern können, um neue Anforderungen zu erfüllen, die täglich auftauchen. Wenn es um die Projektplanung geht, kann dieses schwankende Umfeld die Dinge schwierig machen: Harte Fristen und ein vorgegebener Satz von Ergebnissen sind fast nicht vorhanden.

Wenn also eine Grundlage von Agile schnell arbeitet und sich schnell und häufig ändert, während das Projekt weiterhin iteriert wird, was ist dann die Definition von „fertig“ in Agile? Wann kannst du wirklich sagen, dass du fertig bist? Das ist eine interessante Frage. Aber lassen Sie uns zunächst etwas mehr Hintergrundinformationen zu Agile und seinen Methoden erhalten.

Wie Arbeit in Agile erledigt wird

Einfach ausgedrückt, verfolgt Agilität im Projektmanagement einen iterativen Ansatz zur Planung und Steuerung von Projektprozessen, bei denen Veränderungen gefördert werden. Es steht am anderen Ende des Spektrums von traditionellen Projektmanagement-Methoden wie Wasserfall mit ihren strengen Strukturen.

Agile ist ein Prozess, der für kleine Teams eingerichtet wurde, um in kurzen „Sprints“ zu arbeiten, was ihnen hilft, schnell auf die Unvorhersehbarkeit von Änderungen in einem Projekt zu reagieren. Die Teams treffen sich regelmäßig vor und nach den Sprints, um ihre Arbeitsweise anzupassen und die im Projekt aufgetretenen Änderungen zu berücksichtigen.

Verwandt: Agile Sprint-Planungsvorlage

Durch diesen Rahmen schaffen Unternehmen das Produkt, das der Kunde wünscht, und nicht eines, das in einem Vakuum entworfen wurde, ohne Kenntnis von Bedürfnissen und Marktströmungen. Teams können bessere Wege finden, um das richtige Produkt während des Projekts zu entwickeln, da sie in der Lage sind, nach Bedarf zu schwenken. Dies macht Unternehmen wettbewerbsfähiger, macht es aber auch schwierig, etwas als erledigt zu markieren, wenn es eine scheinbar endlose Aufgabenliste mit Funktionsaktualisierungen und anderen Korrekturen gibt.

Die Definition of Done in Agile

Nachdem wir nun den Kontext kennen, wollen wir uns der anfänglichen Frage zuwenden, wie Sie feststellen können, wann Sie in Agile fertig sind. Eine Antwort ist, dass Sie fertig sind, wenn Sie den Sprint beendet haben, was eine kurze Arbeitsdauer während des Projekts ist, oft einen Tag oder ein paar Tage, aber nicht länger als einen Monat. An diesem Punkt trifft sich das Team und reflektiert über die geleistete Arbeit, was sich geändert hat und die beste Vorgehensweise für die Zukunft. Es gibt einen Plan, aber dieser Plan wird angepasst, um die Realitäten der Arbeit widerzuspiegeln.

Iterationen beenden

Idealerweise sollte das Projekt nach jeder Iteration abgeschlossen sein. Aber das ist nicht oft der Fall. Es treten Dinge auf, die angegangen werden müssen, und bringen das Projekt dazu, schnell auf diese Änderungen zu reagieren. Daher ist ein Release nach jedem Sprint nicht ratsam. Aber es ist wichtig, dass jedes Feature im Sprint abgeschlossen wird, um den Fortschritt des Projekts zu verfolgen.

Fertig zu sein bedeutet daher sicherzustellen, dass jede Funktion vollständig entwickelt, getestet, gestaltet und vom Product Owner akzeptiert wird. Erst dann ist es erledigt. Und es gibt viele „Done's“ in Agile. Aber wenn es Zweifel an diesen Aktivitäten gibt, dann ist dieser Sprint noch nicht fertig und sollte sicherlich nicht versendet werden.

Jede Funktion hängt von der Fertigstellung einer anderen Funktion ab, bevor das Produkt wirklich fertig und lieferbar ist. Damit wäre das Ganze erledigt. Jeder Sprint hat jedoch eine Funktion, die bis zu seinem Abschluss erledigt werden sollte. Fertig bedeutet, dass diese Funktion selbst versendet werden kann, wenn sie selbst versendet werden müsste.

Dieser gesamte Prozess kann beschleunigt werden, wenn Ihr Team mit agiler Software arbeitet. Agile Software ermöglicht es Teams, bei Bedarf zusammenzuarbeiten, ohne den Fokus auf ihre eigene Arbeit zu verlieren, und stellt sicher, dass die Dinge wirklich „erledigt“ werden. Sehen Sie sich das kurze Video unten an, um zu sehen, wie agile Software Ihrem Team helfen kann.

Schulungsvideo zum Projektmanagement (wiji2obiqx)

Je nach Team unterschiedlich

Aber jedes Team hat seine eigene Definition of Done, was nur eine andere Art zu sagen ist, dass die Kriterien für alle User Stories akzeptiert wurden. Aber was auch immer diese Definition ist, sie bestimmt die Qualität der Arbeit und bewertet, wann eine User Story abgeschlossen ist.

In Bezug auf die Softwareentwicklung ist erledigt, wenn etwas nach Standards codiert, überprüft, implementiert, getestet, integriert und dokumentiert ist. Im Dienstleistungskontext bedeutet dies, dass jede Aufgabe der User Story abgeschlossen ist und der Product Owner sie überprüft hat und ihre Erwartungen erfüllt hat.

Agilität bedeutet, dass das Team weiß, was von ihm erwartet wird, und es hat es geliefert. Done ist ein Mittel zur Transparenz. Es stellt sicher, dass die Qualität der Arbeit zum Zweck des Produkts und der Organisation passt.

Kann die Definition of Done variieren?

Agile ist die übergeordnete Methodik und der agile Prozess kann mit einer Vielzahl von Frameworks ausgeführt werden. Einige davon sind Scrum, Extreme Programming, Adaptive System Development, DSDM, Feature Driven Development, Kanban, Crystal und andere.

Diese Prozesse sind Möglichkeiten, innerhalb eines agilen Rahmens zu arbeiten, aber sie haben unterschiedliche Ansätze und Merkmale, die sich am besten für die eine oder andere Art von Projekt eignen. Es liegt an Ihnen, zu entscheiden, welche davon die beste ist, wenn Sie an Ihrem Projekt arbeiten. Das bedeutet nicht, dass Sie sich nur für eine entscheiden müssen. Eine Kombination aus einigen oder vielen eignet sich am besten für die Anforderungen Ihres Projekts. Diese Flexibilität von Agile und seinem Prozess ist einer der treibenden Faktoren für seine breite und wachsende Attraktivität. Obwohl es sich um unterschiedliche Prozesse innerhalb von Agile handelt, halten sie sich alle an dieselbe Definition of Done.

Die Prinzipien sind konstant

Agile gibt es seit 2001, als eine kleine Gruppe das Agile Manifest als Antwort auf traditionelle Ansätze zur Verwaltung der Softwareentwicklung erstellte. Das Manifest skizzierte grundlegende Ideen, die in jedem agilen Framework vorhanden sind. Die vier Hauptstoßrichtungen des Manifests sind:

  1. Konzentrieren Sie sich auf Einzelpersonen und Interaktionen statt auf Prozesse und Tools
  2. Eine funktionierende Software zu erstellen ist wichtiger als eine umfassende Dokumentation
  3. Die Zusammenarbeit mit Kunden ist wichtiger als Vertragsverhandlungen
  4. Der Prozess folgt dem Wandel statt einem Plan

Es gibt auch 12 Prinzipien der agilen Softwareentwicklung. Diese Prinzipien fließen in unser Verständnis ein, wann eine Aufgabe oder ein Projekt wirklich abgeschlossen ist:

  1. Kundenzufriedenheit wird erreicht, indem kontinuierlich wertvolle Software geliefert wird
  2. Änderungen der Anforderungen werden immer akzeptiert, egal wie früh oder spät im Projekt
  3. Funktionierende Software wird in kürzerer Zeit geliefert
  4. Entwickler und Geschäftsleute müssen während des gesamten Projekts täglich zusammenarbeiten
  5. Kommunikation von Angesicht zu Angesicht ist am besten
  6. Motivierte Teams entstehen durch die Schaffung einer Kultur der Wertschätzung, des Vertrauens und der Befähigung
  7. Der Fortschritt wird durch funktionierende Software gemessen
  8. Agile Prozesse fördern nachhaltige Entwicklung
  9. Agilität wird durch Qualitätsbewusstsein in der technischen Entwicklung und im Design unterstützt
  10. Agiles Management basiert auf Einfachheit
  11. Die beste Architektur, Anforderungen und das beste Design kommen von selbstorganisierten Teams
  12. Teams sind effektiver, wenn sie reflektieren und sich anpassen

Agile außerhalb der Softwareentwicklung

Während Agile in der Welt der Softwareentwicklung geboren wurde, hat es sich in letzter Zeit in die breitere Geschäftswelt ausgebreitet. Die Ideen des agilen, schlanken und organisatorischen Lernens haben sich aus dem kleinen Kreis der Softwareentwicklung heraus bewegt, wobei Unternehmen aller Art die Priorisierung von Stand-up-Meetings und visuelles Management verwenden.

Agile war nie nur als Werkzeug des IT-Projektmanagements gedacht. Die Techniken der Agilität können den Managementprozess in anderen Unternehmensprojekten verändern. Die Verwendung von agilem Denken für Change-Management-Projekte ist ein Beispiel, das sehr gut funktioniert.

Einige Aspekte von Agile, die in Unternehmensprojekten verwendet werden können, umfassen Backlogs, also die Funktionen und Merkmale, die Teil des endgültig gelieferten Projekts sein werden. Frühlings- oder kurze Projekte innerhalb des Projekts sind eine weitere Möglichkeit, die Geschwindigkeit und Anpassungsfähigkeit von Agile auf andere Projekte anzuwenden.

Ein weiteres ist das Konzept funktionsübergreifender Teams, die eine effizientere Kommunikation ermöglichen. Die kontinuierliche Integration hilft auch bei der Transparenz zwischen verschiedenen Aspekten des Projekts, was zu mehr Effizienz führt. Es gibt auch Informationsstrahler, iterative und inkrementelle Entwicklung, Scrum-Meetings, Timeboxing, Use Cases, User Stories und vieles mehr. All diese Dinge helfen Unternehmen, Dinge auf eine Weise zu erledigen, die sich von der traditionellen Wasserfallmethode unterscheidet.

Um die Transparenz und Zusammenarbeit zu haben, die für die Arbeit in einer agilen Umgebung erforderlich sind, in der jeder weiß, was erledigt bedeutet und wann das Team tatsächlich fertig ist, sind die richtigen Tools erforderlich. ProjectManager verfügt über ein Echtzeit-Dashboard und Planungsfunktionen, die mit Metriken gefüttert werden, sobald sie auftreten, sodass alle Mitglieder des Teams auf derselben Seite sind. Sehen Sie, wie es Ihnen helfen kann, Ihre Aufgaben effizienter zu erledigen, indem Sie diese kostenlose 30-Tage-Testversion nutzen.