Vorsätze zeitgerecht manifestieren

Wie schafft es eigentlich ein Team, seinen Ansprüchen gerecht zu werden? Wie werden Vorsätze verlässlich umgesetzt?
 

Diese Frage habe ich mir wieder gestellt, als ich neulich bei einem Kunden folgenden Vorsatz gesehen habe (das Logo des Kunden habe ich unleserlich gemacht):

Mit diesem Schild sollen die Teammitglieder beim Verlassen den Stockwerks (oder beim Gang zur Toilette) an einen offensichtlich sehr wichtigen Vorsatz erinnert werden: dass Anforderungen nicht umgesetzt werden, ohne vorher explizit Testfälle/Abnahmekriterien definiert zu haben.

Das ist ein sehr löblicher Vorsatz, finde ich.

Doch warum die Erinnerung daran mit so einem Schild? Zum einen scheint der Vorsatz stark von bisherigen Gewohnheiten abzuweichen, so dass eine ständige Erinnerung Not tut. Zum anderen soll sicherlich mit diesem für alle sichtbaren Schild ein gemeinsames Bewusstsein geschaffen werden. Niemand kann sich dann mehr mit Unwissenheit entschuldigen.

Beide Gründe fände ich verständlich. Dennoch halte ich so ein Schild für das falsche Mittel, dem Anspruch gerecht zu werden und das sich selbst gegebene Versprechen einzuhalten.

Kontinuierliche Verbesserung? Knapp daneben!

So prominent das Schild auch angebracht ist, es stellt nicht mehr als einen Appell an das Bewusstsein dar. Es ruft “Denk dran!”

Das ist gut gemeint – funktioniert aber kaum. So ein Appell ist einfach sehr schwach. Ihm zu folgen ist optional. Und im Zweifelsfall denkt man eben nicht dran. Außerdem sieht man das Schild schon bald nicht mehr aufgrund von Habituation. Es tritt in den Hintergrund, wird zu einen Teil des Rauschens auf den Fluren.

Timing

Dieses Schild zeugt auch von schlechtem Timing. Denn was nützt eine Erinnerung an den Vorsatz auf dem Weg zur Toilette, also zu einem Zeitpunkt, da das Thema für den Einzelnen kaum weniger relevant sein könnte?

Damit ein Vorsatz eine hohe Umsetzungswahrscheinlichkeit hat, muss an ihn dann erinnert werden, wenn es passt. Je näher dran am relevanten Moment, desto besser.

Wann wäre das bei diesem Vorsatz? Spätestens, wenn die Umsetzung handfest beginnt, also bei der Codierung. Besser jedoch früher bei der Analyse oder der Besprechung der Anforderung vor der Umsetzung. In Scrum wäre das z.B. das Spring Planning. Oder etwas allgemeiner, wenn eine User Story ans Scrum/Kanban-Brett gehängt wird.

Bei einem Review oder wenn die QS mit dem Testen beginnen will, wäre es zu spät. Und an der Stockwerk-Tür ist es nie der richtige Zeitpunkt.

Manifestation

Nach der Frage des Wann stellt sich die Frage des Wie. Wie sollte die Erinnerung an den Vorsatz zum rechten Zeitpunkt stattfinden? Je unausweichlicher eine Erinnerung die Einhaltung eines Anspruchs macht, desto besser.

Das Schild könnte einfach über dem User-Story-Brett angebracht werden. Oder die Ermahnung könnte auf alle Karten, die zur Aufzeichnung von User Stories benutzt werden, aufgedruckt sein. Aber wäre das eine zwingende Manifestation des Vorsatzes? Nein, ich glaube, auch dann würde der Vorsatz bald aus Gewohnheit überlesen.

Am besten wäre wohl, wenn sich die Überprüfung so früh wie möglich automatisiert einrichten ließe. Aber selbst wenn Tests automatisiert ausgeführt würden, würde sich daraus kein Zwang zu ihrer Definition ableiten. Wer Testfälle vergisst zu definieren, würde in der Continuous Integration keine Warnung hervorrufen.

Für andere Vorsätze ist eine automatisierte Überprüfung sicher möglich. In diesem Fall scheint mir das probate Mittel jedoch eher eine Checkliste. Eine Definition of Done ist eine Post-Production Checkliste. Sie wird vom PO bei der Abnahme einer Umsetzung abgehakt. Warum nicht auch eine Pre-Production Checkliste einführen? Die könnte abgehakt werden bei der Übergabe einer User Story an die Programmierung.

Was auf jeder öffentlichen Toilette funktioniert – die Dokumentation mittels Unterschrift, dass eine Qualitätssicherungsmaßnahme eingehalten wurde –, sollte doch auch in der Softwareentwicklung funktionieren. Die ist ungleich komplexer und kann daher von Systematik noch mehr profitieren. Ich kann dazu sehr das Buch “Checklist-Strategie: Wie Sie die Dinge in den Griff bekommen” empfehlen.

Insbesondere an Schnittstellen können Checklisten eine große Hilfe sein, z.B. bei der Übergabe von Anforderungen an den PO, der Übergabe von User Stories an die Programmierung, der Übergabe von Inkrementen an den PO.

Aber auch während der Ausführung einer Tätigkeit machen Checklisten Sinn, wenn es viel zu beachten gilt. Allemal fällt mir da der Code Review ein oder der Beginn eines Projektes.

Auch eine Checkliste ist natürlich nicht wirklich zwingend. Doch während eines bewussten und am besten gemeinschaftlichen Abhakens ist es schwerer, einen Vorsatz aus den Augen zu verlieren.

Für die Manifestation Ihrer Vorsätze in der Softwareentwicklung (oder auch zuhause) lasse Sie Ihrer Fantasie einfach mal etwas Raum. Sie werden bestimmt auf noch ganz andere Möglichkeiten kommen, Ansprüche unausweichlicher einhaltbar zu machen.

Fazit

Wer seine Ansprüche im Zuge kontinuierlicher Verbesserung steigert, der sollte sich genau überlegen, wann und wie dafür gesorgt wird, dass sie auch eingehalten werden. Appelle an Bewusstsein und Gewissen funktionieren umso weniger, je höher der Druck ist, andere Ziele zu erreichen, als die, die hinter den frisch gefassten Vorsätzen stehen.

Deshalb sollte für jeden Anspruch eine möglichst zwingende Manifestation möglichst nah am Zeitpunkt seiner Relevanz hergestellt werden. Geben Sie sich hier ruhig einige Mühe. Das ist Investitionssicherung. Denn schon in der Formulierung eines Vorsatzes steckt ja Aufwand, der nicht verschwendet werden sollte. Ganz zu schweigen von der Enttäuschung, die Sie vermeiden wollen, wenn ein Vorsatz doch nicht eingehalten wird.

Posted in Deutsche Beiträge, Podcasts.