LebSource

Steuern

Eine Definition of Done schreiben, die Streit beendet

Die meisten Streitigkeiten in einer ausgelagerten Zusammenarbeit drehen sich nicht um Qualität. Sie drehen sich darum, ob die Arbeit fertig war, und das hat niemand definiert.

7 October 20257 Min. Lesezeit

Fast jedes unangenehme Gespräch in einer Outsourcing-Zusammenarbeit ist dasselbe Gespräch. Die Arbeit wurde geliefert, die Rechnung kam, und eine Seite hält den Punkt für erledigt, die andere nicht. Keine von beiden ist unehrlich. Sie legen zwei verschiedene Maßstäbe an, die beide völlig vernünftig sind, weil nie jemand einen davon aufgeschrieben hat.

Eine Definition of Done ist das billigste Dokument der Softwareentwicklung. Sie ist meist eine Seite lang, sie kostet einen Nachmittag, und sie beseitigt die gesamte Kategorie von Streit, die sie abdeckt.

Warum Projekte am Wort „fertig“ scheitern

In einem Team, das seit Jahren zusammenarbeitet, ist fertig ein gemeinsames Gespür. Alle wissen, dass eine Änderung erst fertig ist, wenn sie einen Test hat, reviewt wurde, einen Eintrag im Changelog hat und auf Staging geprüft wurde. Niemand sagt es, weil es seit dem zweiten Jahr niemand mehr sagen musste.

Holen Sie jemanden von außen, und dieses Gespür wandert nicht mit dem Ticket mit. Diese Person hat ihr eigenes Gespür, gebildet an anderen Systemen mit anderen Standards. Wenn beide auseinandergehen, zeigt sich das im denkbar schlechtesten Moment: bei der Abnahme, mit einer Frist im Rücken und Geld daran. Der Streit fühlt sich dann wie ein Streit über Kompetenz an, obwohl es in Wahrheit ein Streit über eine ungeschriebene Regel ist.

Das ist nicht spezifisch für Outsourcing. Es ist spezifisch für jeden, der Ihre Gewohnheiten nicht dadurch aufgenommen hat, dass er ein Jahr neben Ihnen saß, und dazu zählt auch jede neue Angestellte. Outsourcing lässt es nur früher passieren und mit einer Rechnung dabei.

Es ist ein Vertrag mit Ihrem künftigen Selbst

Der Grund, es aufzuschreiben, ist nicht, einen Anbieter in die Pflicht zu nehmen. Es ist, Ihr eigenes Team zu zwingen zu entscheiden, was es wirklich braucht, bevor Druck entsteht, zu etwas Ja zu sagen, das fast fertig ist.

Das ist der unangenehme Teil. Die meisten Teams merken mitten beim Formulieren ihrer Definition of Done, dass sie sich intern nicht einig sind. Eine Person hält jede Änderung für testpflichtig, eine andere hält Tests für die Stellen, die kaputtgehen, eine dritte hat nie darüber nachgedacht. Diese Uneinigkeit war immer da und hat still uneinheitliche Review-Standards erzeugt. Das Dokument schafft das Problem nicht, es legt es offen, und darin liegt der größte Teil seines Werts.

Was hineingehört

Beschränken Sie es auf Dinge, die eine Person prüfen kann, die nicht im Gespräch dabei war. Wenn zwei vernünftige Menschen dieselbe Änderung ansehen und uneins sein könnten, ob eine Zeile erfüllt ist, ist die Zeile nicht fertig.

  • Der Code wird von einer anderen Person als der Autorin oder dem Autor geprüft und freigegeben.
  • Die automatisierten Prüfungen auf dem Branch laufen durch, und was als Prüfung zählt, ist benannt und nicht bloß mitgemeint.
  • Es gibt Tests für das Verhalten, das im Ticket beschrieben ist, auf der Ebene, die Ihr Team tatsächlich nutzt.
  • Es wurde auf Staging mit realistischen Daten von jemandem durchgespielt, und dieser Jemand ist im Ticket benannt.
  • Alles, was ein Nutzer oder ein anderer Entwickler wissen muss, ist schriftlich festgehalten: Release Notes, eine aktualisierte README, eine Architekturnotiz, je nachdem, was zutrifft.
  • Feature Flags, Migrationen und Konfigurationsänderungen sind beschrieben, einschließlich der Frage, wie man sie rückgängig macht.
  • Fehlerbehandlung und Logging existieren für die Fehlerpfade, nicht nur für den glatten Fall.

Sieben Zeilen sind viel. Fünf halten eher. Das Dokument, dem gefolgt wird, ist kurz genug, dass jemand es beim Review im Kopf behalten kann.

Was nicht hineingehört

Abnahmekriterien für ein bestimmtes Ticket sind kein Teil der Definition of Done. Sie beschreiben, was dieses Arbeitspaket leisten muss, sie ändern sich jedes Mal, und sie gehören ins Ticket. Die Definition of Done beschreibt, was für jedes Arbeitspaket gelten muss, unabhängig davon, was es tut. Beides zu vermischen erzeugt ein Dokument, das entweder riesig oder nutzlos ist.

Wünsche gehören ebenfalls nicht hinein. Wenn Sie schreiben „die Performance wird gemessen und verschlechtert sich nicht“ und in diesem System hat noch nie jemand die Performance gemessen, haben Sie die Messlatte nicht angehoben. Sie haben eine Zeile geschrieben, die jedes Mal übersprungen wird, und damit allen beigebracht, dass das Dokument Dekoration ist.

Ebenso wenig gehören Dinge hinein, die Sie aus der Ferne nicht prüfen können. Ein Kriterium, das davon abhängt, dass jemand zu einem Schreibtisch geht, ist in einem verteilten Team kein Kriterium.

Eine Definition je Team, nicht je Ticket

Manche Teams versuchen, den Standard abzustufen: leicht bei kleinen Änderungen, vollständig bei großen. Im Prinzip ist das vernünftig und in der Praxis bricht es zusammen, denn die Abstufung selbst wird zum Streitpunkt. Alle halten ihre eigene Änderung für klein.

Ein Standard, auf alles angewandt, mit ausdrücklichen und schriftlichen Ausnahmen, wenn Sie wirklich einmal um zwei Uhr nachts etwas ausliefern müssen. Dass die Ausnahme sichtbar ist, ist der Punkt. Ein Standard, der sich still beugt, ist kein Standard, und ein verteiltes Team kann eine Beugung nicht von einer Regel unterscheiden, bevor es Ihnen sechs Monate lang zugesehen hat.

Das Abnahmegespräch

Mit einer Definition of Done hört die Abnahme auf, ein Urteil zu sein, und wird zu einem Abgleich. Entweder ist die Checkliste erfüllt oder nicht, und lautet die Antwort, sie sei erfüllt und Sie seien trotzdem unzufrieden, ist das wirklich nützliche Information: Ihrer Definition of Done fehlt eine Zeile, und Sie haben gerade herausgefunden, welche.

Ergänzen Sie die Zeile. Ergänzen Sie sie nicht nachträglich für die Rechnung, über die Sie gerade streiten. Nehmen Sie den Verlust bei diesem Posten hin, ändern Sie das Dokument, und es wird nicht wieder vorkommen. Eine neue Regel auf Arbeit anzuwenden, die unter der alten fertiggestellt wurde, ist die Art, wie guter Wille verbraucht wird, und guter Wille ist das, was das nächste schwierige Gespräch billig macht.

Prüfen Sie die Definition, nicht nur die Arbeit

Sehen Sie sich das Dokument einmal im Quartal mit beiden Seiten im Raum an. Zwei Fragen: Welche Zeile haben wir am häufigsten übersprungen, und welches Problem hat es trotz der Liste in die Produktion geschafft? Die erste sagt Ihnen, welche Zeile unrealistisch ist und gestrichen oder geändert gehört. Die zweite sagt Ihnen, was fehlt.

Eine Definition of Done, die sich seit einem Jahr nicht geändert hat, ist entweder außerordentlich gut geschrieben oder, weit wahrscheinlicher, nicht in Gebrauch. Sie ist ein Arbeitsinstrument für die Art, wie dieses konkrete Team dieses konkrete System baut, und beides bewegt sich fortlaufend.

Nächster Schritt

Bereit, Ihr Team aufzubauen oder zu erweitern?

Sagen Sie uns, was Sie brauchen, und wir vermitteln Ihnen vorab geprüfte libanesische Fachkräfte, die sich in Ihr Team einfügen.