Die Perversion agiler Metaphern

Continuous Architecture  –  260 Kommentare

Agilität ist im Kern eine Menge von Werten. Passen die typischen agilen Begriffe eigentlich zu den Werten oder führen sie eher zu Missverständnissen?

Das agile Manifest beschreibt, was bei Agilität wichtig ist. Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge. Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen. Agilität ist also ein Modell, das im Kern auf Vertrauen, Kollaboration und Zusammenarbeit basiert.

Scrum

Agile Softwareentwicklung bedeutet heute meistens Scrum. Der Begriff "Scrum" (Gedränge) kommt aus dem Rugby-Sport. Der Begriff bezeichnet einen Vorgang, bei dem die Teams nach einem kleineren Regelverstoß um den Ball kämpfen. Rugby hat ein hohes Verletzungsrisiko. Wer schon einmal ein Bild von einem Scrum gesehen hat, dem fallen als erste Assoziationen sicher nicht Vertrauen, Kollaboration oder Zusammenarbeit ein. Schließlich geht es um einen Kampf um den Ball.

Sprint

Aber "Scrum" ist nicht der einzige problematische Begriff. Ein Scrum-Team arbeitet in "Sprints". Auch der Begriff "Sprint" ist ein Begriff aus einem sportlichen Wettbewerb und steht kaum für Kollaboration. Ein kollaboratives Sprintrennen wäre eher absurd. So gibt es zum Beispiel den Dreibeinlauf.

Außerdem steht der "Sprint" für eine kurze Anstrengung. Das ist eigentlich widersinnig: Produktentwicklung besteht aus einer Vielzahl von Sprints. Es ist viel wichtiger, langfristiger erfolgreich zu sein – gerade nicht das, was bei einem Sprint im Sport wichtig ist.

Velocity

Die "Velocity" (Geschwindigkeit) definiert, was ein Scrum-Team in einem "Sprint" erreichen kann. In einem Wettkampf gewinnt die höhere Geschwindigkeit. Das ist bei Scrum nicht so. Die Geschwindigkeit dient zur Einschätzung, was in einem Sprint geliefert werden kann. Die Aufwände werden im Vergleich zu bereits vom Team geleisteter Arbeit und gelieferten Stories abgeschätzt. Eine gute Geschwindigkeit liefert also möglichst gute Vorhersagen.

Die Einheit sind Story Points. Jedes Team wählt andere Storys als Vergleich. Ein Story Point bedeutet also bei verschiedenen Teams völlig unterschiedliche Dinge. Geschwindigkeiten lassen sich also nicht vergleichen. Bizarrer Weise werden Teams dann manchmal doch aufgrund der höheren Geschwindigkeit gelobt. In diesen Fällen gibt es einen einfachen Ausweg: Die Kapazität pro Sprint kann verdoppelt werden, indem die Story Points jeder Story und die Geschwindigkeit verdoppelt werden. Oder man nutzt einfach zur Abschätzung Zahlen im Bereich von einigen Googol oder Googolplex und erreicht so eine nahezu unglaubliche Geschwindigkeit. Natürlich hat sich nichts geändert, die Vorhersagbarkeit ist immer noch so wie vorher, aber die nominelle Geschwindigkeit ist deutlich erhöht.

Metaphern

Nun sind Begriffe eben nur Begriffe. Aber sie sind auch Metaphern und formen das Denken. Scrum, Sprint und Velocity kommen aus einer stressigen, hoch kompetitiven Umgebung. Sie stehen nicht für Vertrauen, Kollaboration und Zusammenarbeit. Aber sie können als Hinweise auf eine höhere Geschwindigkeit und Produktivität gewertet werden. Der Wunsch eine bessere Produktivität zu erreichen, ist ein wichtiger Motivator, um besser zu werden.

Aber diese Assoziationen führen zu Problemen, weil statt den Werten aus dem agilen Manifest plötzlich die Produktivität das wichtigste ist. Und das führt zu einem Missverständnis bei einem zentralen Begriff, nämlich Agilität. Gemeint ist mit Agilität die Möglichkeit, auf Änderungen flexibel zu reagieren. Agilität kann aber auch als hohe Geschwindigkeit und Produktivität interpretiert werden. Das ist aber nur mit dem agilen Wert der Wertschätzung der Individuen vereinbar, wenn man verstanden hat, dass höherer Druck eben nicht zu besserer Produktivität führt. Sonst führt dieses Missverständnis zu einer Perversion von Agilität. Aber leider ist Scrum durch die Metaphern für Personen attraktiv, die sich von Agilität einen Wettbewerbsvorteil versprechen und Druck nicht nur gewohnt sind, sondern ihn manchmal durchaus als Möglichkeit sehen, um Ziele zu erreichen.

Das Produkt Scrum

Scrum ist auch aus anderen Gründen attraktiv. Es gibt zahlreiche zertifizierte Scrum Master und Scrum-Trainings. Das erleichtert die Umsetzung von Scrum und ist sicher ein Vorteil. Aber es kann auch schiefgehen. Das Produkt "Scrum" scheint nicht sehr komplex: Es gibt nur wenige Regeln und Rollen. Wenn diese Regeln alle befolgt werden, dann ist man scheinbar agil. Aber Agilität ist entsprechend dem agilen Manifest eine Sammlung von Werten. Werte umzusetzen bedeutet eigentlich eine Änderung in der Kultur. Das ist alles andere als einfach und kaum als Produkt zu kaufen. So kann eine Umsetzung von Scrum entstehen, die zwar die Mechanismen verwendet, aber die Werte teilweise sogar pervertiert.

Außerdem können die konkreten Scrum-Praktiken den Blick auf die Verbesserung des Prozesses verstellen, denn alles ist ja schon definiert. Diese Verbesserungen sind ein wichtiger Teil von agilen Methoden. Aber Scrum kann natürlich ein guter Startpunkt in eine Umsetzung agiler Werte sein, wenn man die Praktiken entsprechend weiterentwickelt.

XP

Es gibt auch andere Vorgehensweisen in der agilen Welt. Extreme Programming (XP) beispielsweise stellt schon vom Begriff her das Entwickeln in den Vordergrund. "Kundeneinbeziehung" und "keine Überstunden" sind Praktiken aus dem Extreme Programming, sodass einige agile Werte direkt in Praktiken umgesetzt werden. Als Metapher steht der Begriff "Extreme Programming" sicher nicht für höhere Produktivität oder andere Dinge, die einen Wettbewerbsvorteil versprechen und ist daher für einige Zielgruppen nicht attraktiv. Extreme Programming als Begriff scheint für unstrukturiertes Coden und Hacken zu stehen, aber in Wirklichkeit ist es ein sehr regulierter Prozess, bei dem Praktiken diszipliniert umgesetzt werden müssen. Also hat auch die Metapher “Extreme Programming” einige Probleme.

"Developer Anarchy" ist nicht nur von der Metapher, sondern auch von den Vorgehensweisen her sogar noch viel aggressiver.

Crystal

Zwischen dem sehr zeremoniellen Vorgehen bei Scrum auf der einen und dem disziplinierten Ansatz von Extreme Programming auf der anderen Seite, gibt es noch die Crystal-Methoden. Diese zeichnen sich durch wenige Grundregeln aus, die sich sehr stark an den Werten des agilen Manifests orientieren und die menschliche Interaktion in den Mittelpunkt stellen. Um das blinde Umsetzen von möglicherweise unpassenden Praktiken zu verhindern, setzt Crystal stark darauf, einen gelebten Prozess für jedes Projekt zu erstellen, zu reflektieren und auf die Bedürfnisse der aktuellen Situation anzupassen.

Dabei kann man sich nach dem Baukastenprinzip bei anderen Vorgehensweisen bedienen und sich so ein passendes Vorgehensmodell schaffen. Das verhindert die sklavische Umsetzung eines Prozesses. Diese Freiheiten können allerdings bei manchen Teams zu Überforderung führen, was in der Folge wieder zu weniger agilem und mehr statischem Vorgehen führt.

Fazit

Die Begriffswelt von Scrum wie "Scrum", "Sprint" oder "Geschwindigkeit" beziehungsweise "Velocity" erzeugt Assoziationen, die kaum zu den agilen Werten passen, aber höhere Produktivität versprechen und daher für bestimmte Zielgruppen attraktiv sind, aber leider dann vielleicht aus den falschen Gründen. Extreme Programming und Developer Anarchy stellen dazu einen Gegenentwurf dar, der das Coden in den Vordergrund stellt, aber auch einige agile Werte unmittelbar umsetzt. Oft wird Scrum als Produkt und fester Prozess missverstanden, ein Baukasten wie Crystal legt den Fokus eher von Anfang an auf eine Anpassung des Prozesses.

Bei aller Kritik gilt aber dennoch, dass das Adaptieren eines klaren Prozesses wie Scrum ein Schritt in die richtige Richtung sein kann und Scrum eine gute Basis für agile Softwareentwicklung darstellen kann. Dennoch sollte man sich über die Herausforderungen im Klaren sein.

Zum Abschluss dazu ein passendes Zitat von Amitai Schleier: Was auch immer “agil” bedeuten könnte, eines ist sicher: es ist das Gegenteil davon Menschen zu sagen, was zu tun ist.

Vielen Dank an meine Kollegen Tobias Erdle, Robert Glaser, Markus Harrer, Hanna Prinz und Sonja Scheungrab sowie Tanja Maritzen für die Kommentare zu einer früheren Version des Artikels.

tl;dr

Viele Begriffe und Metaphern aus der agilen Welt führen zu Assoziationen, die kaum den agilen Werten entsprechen.