Eine Definition von „Fertig“ ist eine gemeinsame, explizite Festlegung der Bedingungen, die erfüllt sein müssen, bevor ein Arbeitsschritt als abgeschlossen gilt. Im Gegensatz zu Akzeptanzkriterien, die sich auf ein einzelnes Element beziehen, gilt sie einheitlich für alle Leistungen eines Teams und spiegelt den Qualitätsstandard wider, den das Team an sich selbst anlegt.
Ziel ist es, Vollständigkeit objektiv und einheitlich zu definieren. Ohne eine solche Definition bedeutet „fertig“ das, was der jeweilige Entwickler darunter versteht – abhängig von Zeitdruck und den jeweiligen Auftraggebern. Für den einen bedeutet „fertig“ Tests, Dokumentation, Barrierefreiheitsprüfungen und die Bereitstellung; für den anderen, dass der Code auf seinem Rechner kompiliert. Diese Unterschiede bleiben unbemerkt, bis die Folgen sichtbar werden, typischerweise in Form von spät entdeckten Fehlern oder Nacharbeiten vor der Auslieferung.
Eine typische Definition umfasst den Abschluss von Code-Reviews, die Einhaltung eines vereinbarten Standards für die automatisierte Testabdeckung, das Bestehen aller Tests, die Erfüllung der Barrierefreiheitsanforderungen, die Aktualisierung der Dokumentation, die Berücksichtigung von Sicherheitsaspekten, die Einhaltung definierter Leistungsgrenzen und die Bereitstellung in mindestens einer Staging-Umgebung. Der genaue Inhalt ist weniger wichtig als die Tatsache, dass die Vereinbarungen getroffen, schriftlich festgehalten und tatsächlich umgesetzt werden und nicht nur Ziele bleiben.
Die wichtigste Funktion besteht darin, die unbemerkte Anhäufung versteckter Arbeit zu verhindern. Aufgaben, die ohne Tests, Dokumentation oder Barrierefreiheitsmaßnahmen als abgeschlossen markiert werden, erscheinen zwar als Fortschritt, schaffen aber Verpflichtungen, die später – meist unter ungünstigeren Bedingungen – erfüllt werden müssen. Ein Team, das von stetiger Leistung berichtet, während sich dieser Rückstand auftürmt, macht sich etwas vor, und die Quittung kommt Monate später in Form einer unerklärlichen Verlangsamung.
Es schützt auch die Qualität unter Druck, also genau dann, wenn sie am wichtigsten ist und am ehesten vernachlässigt wird. Je näher ein Abgabetermin rückt, desto größer wird der Druck, die Standards zu senken, und diese Senkung erfolgt selten offenkundig; Aufgaben werden einfach als erledigt markiert, während Teile ausgelassen werden. Die Definition als unumstößlich zu behandeln und stattdessen den Umfang zu reduzieren, wenn der Zeitplan gefährdet ist, ist die Disziplin, die Teams mit realer Geschwindigkeit von solchen unterscheidet, deren gemeldeter Fortschritt aus der Zukunft herrührt.
Die Definition sollte sich mit zunehmender Leistungsfähigkeit weiterentwickeln, anstatt einmalig festgelegt zu werden. Ein Team ohne automatisierte Bereitstellung kann sie anfangs nicht einbeziehen, sollte sie aber hinzufügen, sobald die entsprechende Funktion vorhanden ist. Die regelmäßige Überprüfung der Definition, typischerweise im Rahmen von Retrospektiven, und die Anhebung des Standards mit der Weiterentwicklung der Praktiken machen sie zu einem Instrument für gezielte Verbesserungen und nicht zu einer statischen Checkliste.
Die Definition muss zudem erreichbar sein, denn ein Standard, den das Team unter normalen Bedingungen nicht erfüllen kann, wird stillschweigend ignoriert, anstatt offen neu verhandelt zu werden. Eine ignorierte Definition ist schlimmer als eine moderate, da sie die gemeinsame Bezugsgrundlage vollständig beseitigt. Setzt man den Standard auf ein Niveau, das das Team tatsächlich halten kann, und hebt ihn dann mit zunehmender Leistungsfähigkeit gezielt an, entsteht ein Standard, der das Verhalten tatsächlich steuert.
Wenn eine Arbeit den Standard tatsächlich nicht erfüllt, ist es ehrlich, die Ausnahme explizit zu dokumentieren, anstatt den Status „Fertig“ neu zu definieren. Ein Artikel, der aus einem bestimmten Grund ohne eine bestimmte Prüfung versendet wird und dessen Nachbesserung dokumentiert ist, stellt eine bewusste Entscheidung dar. Derselbe Artikel hingegen, der als „Fertig“ markiert wird, ohne dass die fehlende Prüfung dokumentiert ist, ist eine technische Schuld, der niemand zugestimmt hat und an die sich niemand erinnern wird.
Da die Definition festlegt, was Qualität in der Praxis bedeutet, bedarf sie der Zustimmung der für die Folgen Verantwortlichen und nicht nur des Projektteams. In der Praxis wird sie festgelegt innerhalb , mit den Zugänglichkeits- und Benutzerfreundlichkeitsstandards, die abgeleitet wurden von UX-Audit Kriterien und die Leistungsschwellenwerte von Webleistung Budgets, so dass der Standard die gesamte Verpflichtung und nicht nur die funktionale widerspiegelt.