Golden Paths in DevOps - Der Weg zwischen den Welten
Vor Kurzem habe ich eine kleine Umfrage gestartet. Dabei wollte ich wissen, welchen Freiheitsgrad DevOps- oder Feature-Teams haben sollten, hinsichtlich ihrer Tool Auswahl und der Gestaltung ihrer Prozesse.
Zur Auswahl standen drei Optionen:
Am Ende gab es ein Kopf-an-Kopf-Rennen zwischen dem Wunsch nach absoluter Freiheit und einem Zwischenmodell, also etwas zwischen absoluter Freiheit und strikten Vorgaben.
Absolute Wahlfreiheit als naheliegende Lösung?
Lasst uns aber zunächst nochmal reflektieren, warum es für eine Organisation Sinn macht über diese Frage nachzudenken: DevOps stellt hohe Anforderungen an die Teams. Sie müssen in aller Regel in der Lage sein mit einer übersichtlichen Teamgröße, meist 7-9 Mitglieder, ein breites Spektrum an Technologien, Fachlichkeit und Prozessen abzubilden. Damit das möglich ist, bietet es sich an, sich an den Stärken und Fähigkeiten der einzelnen Teammitglieder zu orientieren und damit, ihnen auch die Wahl hinsichtlich der eingesetzten Tools und Prozesse zu erlauben. Das macht Sinn und entspricht dem Prinzip die Entscheidung dorthin zu geben, wo auch die Arbeit getan werden muss. Aus dem Blickwinkel des Teams kann damit ein lokales Maximum an Produktivität erreicht werden.
Wie läuft das in großen Organisationen?
Betrachten wir nun eine größere Organisation mit mehreren Teams, mehreren Produkten, die zu betreuen und zu betreiben sind, werden wir feststellen, dass das Herstellen eines lokalen Maximums nicht mehr für das Gesamtsystem der Organisation trägt. Denn unterschiedliche Teams werden unterschiedliche Prozesse entwickeln und jeweils eigene Tools auswählen, die ihnen für ihre Aufgabe am geeignetsten erscheinen. Die wesentlichen Nachteile dieses Vorgehens sind im ersten Moment in den einzelnen Teams gar nicht spürbar, liegen aber auf der Hand:
Empfohlen von LinkedIn
Die Gegenposition zur Wahlfreiheit wäre, jedem Team für jedes Produkt genaue Prozesse und Tools vorzuschreiben und die Einhaltung dieser Vorgaben einzufordern. Damit ist einem möglichen Wildwuchs Einhalt geboten. Der Preis dafür liegt jedoch in einer geringeren Effizienz der einzelnen Teams. Sie müssen nun ihre Aufgaben mit Prozessen und Tools lösen, die nicht zu 100% auf sie (oder ihre Aufgabe) zugeschnitten sind. Möglicherweise wird dies auch zu Kompromissen in den durch die Teams erstellten Lösungen führen und sich damit auch auf die Leistung gegenüber den Kunden auswirken.
Ein übersichtliches Startup kann vielleicht gut damit leben dem Team alle Freiheitsgrade zu ermöglichen und wird dafür vielleicht auch mit einer höheren Performance belohnt. Mit der Größe und Komplexität der Organisation wird dieser Vorteil kleiner. Es ist also gut abzuwägen für welches Modell man sich entscheidet.
Der Weg dazwischen...
Das führt uns zur dritten Option, ein Weg dazwischen: Spotify hat die geschilderten Erfahrungen und Effekte der absoluten Wahlfreiheit in der eigenen Organisation erlebt. Nachdem die Organisation gewachsen ist, sich mehr und mehr Teams gebildet haben, entstand etwas das Spotify “rumour driven development” nannte. Spotify hat sich jedoch nicht für strenge Vorgaben und Regeln entschieden um das Problem zu lösen, sondern für einen Mittelweg. Entstanden sind die Golden Paths. Die Golden Paths definieren einen erprobten und bewährten Weg Probleme zu lösen, zum Beispiel eine CI/CD Toolchain mit entsprechenden Templates und Dokumentation. Die Teams dürfen davon abweichen, wenn sie besondere Bedürfnisse haben, die über die Standardlösungen nicht oder nicht ausreichend abgebildet werden können. Der Vorteil in der Verwendung der Golden Paths liegt auch darin, dass dieser mit Hilfe von detaillierten Tutorials beschrieben ist. Jeder Entwickler wird damit in die Lage versetzt sich in kürzester Zeit einzuarbeiten und produktiv zu werden.
Wie so oft liegt also die beste Lösung nicht immer direkt auf der einen oder anderen Seite, ist nicht Schwarz oder Weiß. Es bleibt eine Abwägung, die jede Organisation für sich treffen muss. Abhängig vom Reifegrad der Organisation, der Teams und der einzelnen Individuen.
Agile Coach, Child, Heckler, Wise Fool and Dreamer. Science over cult. Research over simplistic answers.
2 JahreIch vermute, der Golden Path ermöglicht sogar höhere Effizienzen als die vorgeschriebenen Tools und Prozesse, selbst wenn alle Teams eigentlich dieselben Tools und Prozesse verwenden. Vorschriften führen häufig dazu, dass Unterstützungsmaßnahmen für die Umsetzung ausbleiben. Eine Vorschrift ist schnell erlassen. Tutorials, Schulungen, unterstützende Automatisierung ist aufwändig und kostet. In der Folge hat jedes Team einen hohen Einarbeitungsaufwand bzw. Startaufwand. Jedes Team lernt neu. Beim Golden Path ist das Unternehmen quasi gezwungen den Teams den Start im Projekt so angenehm wie möglich zu machen, weil sei ansonsten vom Standard abweichen.