Der Weg zur Exzellenz ist mit ständigem Wandel gepflastert
Head of Engineering Juho Anttila spricht über den DevOps-Erfolg bei der Produktentwicklung von Valamis.
“Es ist nicht die stärkste Spezies, die überlebt … Es ist diejenige, die sich am besten an Veränderungen anpassen kann.”
— Charles Darwin
Es ist eine Sache, nur über die Veränderungen in einem Unternehmen zu lesen, und eine andere, an diesen Veränderungen tatsächlich teilzuhaben (und teilweise als Treiber dafür zu fungieren).
In den letzten drei Jahren hatte ich die Ehre, Teil dessen zu sein, was man nur als “DevOps-Transformation von Valamis” bezeichnen kann.
Auf einer hohen Ebene wurde dieser ganze Prozess durch ein ausgezeichnetes Buch inspiriert: Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations von Nicole Forsgren, Jez Humble und Gene Kim.
Wir begannen als Lehrbuchbeispiel für eine Produktorganisation, die bewährten (aber etwas ineffizienten) Entwicklungs- und Lieferprozessen folgte, wobei die Softwareentwicklung in monatelangen Zyklen erfolgte und größere Versionen ein paar Mal im Jahr veröffentlicht wurden.
Als das Produkt selbst große Sprünge nach vorne machte, brachte dies neue Herausforderungen mit sich. Der Dominoeffekt bedeutete, dass die Bereitstellung neuer Software-Inkremente viel Planung erforderte und oft stressige und riskante Projekte waren. Die Reaktionszeiten für Probleme und Änderungsanfragen waren nicht optimal, insbesondere wenn man moderne Softwareentwicklungsmetriken verwendet.
Jetzt, drei Jahre später, haben wir alles umgedreht. Was früher ein großes, monolithisches Produkt war, wurde auf Dutzende von unabhängigen Diensten reduziert, die in vielen Fällen völlig unabhängig voneinander entwickelt, getestet und eingesetzt werden können.
Kürzlich haben wir einen großen Erfolg gefeiert, indem wir eine wichtige DevOps-Kennzahl erreicht haben: die Vorlaufzeit für Änderungen auf weniger als 2 Stunden. Das ist die Zeit, die ein Entwickler benötigt, um eine Änderung in das Code-Repository einzutragen, bis diese Änderung in der Produktion läuft und ordnungsgemäß getestet und genehmigt wurde.
Die durchschnittliche Vorlaufzeit für einige Änderungen kann zwar höher sein, aber wir sprechen immer noch von nur ein paar Tagen selbst für die schwierigsten Änderungen.
Insgesamt ist das eine enorme Verbesserung, die uns fest in die Kategorie der leistungsstarken Unternehmen einreiht, die bereits mit der prestigeträchtigen Gruppe der Eliteunternehmen flirtet.
Die Vorlaufzeit für Änderungen ist nicht die einzige wichtige Kennzahl, bei der wir uns verbessert haben.
Die Häufigkeit der Bereitstellung ist von einmal alle paar Wochen auf mehrere Male pro Woche gestiegen. Als direkte Folge der häufigeren Bereitstellung kleinerer Änderungen haben wir auch die Fehlerquote bei Änderungen deutlich unter die magische Grenze von 15% gedrückt.
Heutzutage verlaufen die meisten unserer Einsätze völlig problemlos, so dass sie fast schon zu Routineaufgaben bei einem Morgenkaffee werden.
“Leistungsträger wissen, dass sie Geschwindigkeit nicht gegen Stabilität eintauschen müssen oder umgekehrt, denn wenn sie Qualität einbauen, erhalten sie beides.”
— Nicole Forsgren, Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
So sehr es auch Spaß macht, diese Erfolge zu feiern, muss ich doch anmerken, dass nichts davon als selbstverständlich angesehen werden kann. Viele Mitarbeiter in der gesamten Organisation haben eine Menge Arbeit geleistet, um die erforderlichen technischen und prozessualen Änderungen zu ermöglichen.
Der offensichtlichste Teil davon sind die architektonischen Änderungen, die erforderlich sind, um unser Produkt in diese unabhängigen Module umzuorganisieren. Das allein hat alle unsere Entwicklungsteams viel Mühe gekostet, ganz zu schweigen von den vielen Stunden, die wir mit der Planung der Architektur und der Lösung von Problemen verbracht haben.
Eine vielleicht noch größere Herausforderung war es, eine ganze Organisation von Fachleuten auf ein völlig anderes Prozessmodell auszurichten. Die Umstellung von geplanten, stark koordinierten großen Release-Projekten auf kontinuierliche Lieferung betrifft alle Bereiche des Unternehmens.
So hat sich beispielsweise unser Qualitätssicherungsteam von der Überprüfung streng definierter großer Änderungspakete zur Überwachung eines kontinuierlichen Stroms von Produktinkrementen entwickelt. Oder das Operations-Team, dessen Schwerpunkt sich von der Überwachung der Produktionsumgebung auf die Automatisierung der Auslieferung und hochentwickelte Überwachungs- und Protokollierungsfunktionen verlagert hat.
Das Wichtigste, was ich aus dem Ganzen mitnehme, ist, dass keine Veränderung dieser Art ohne zwei Hauptbestandteile erfolgreich sein wird.
- Erstens brauchen wir in allen Teilen unseres Unternehmens talentierte und motivierte Mitarbeiter, die die Vision und die Fähigkeiten teilen, die für einen solchen Paradigmenwechsel erforderlich sind.
- Aber das reicht nicht aus ohne die wichtigste Zutat: das Engagement auf Unternehmensebene für kontinuierliche Verbesserungen und Veränderungen, das gemeinsame Bestreben, die Besten auf dem Markt zu werden.
Die in den letzten drei Jahren in Valamis erzielten Ergebnisse sind der Beweis dafür, dass wir diese Zauberformel gefunden haben. Veränderungen sind immer eine Herausforderung, aber unsere Mitarbeiter haben sich der Situation immer wieder gewachsen gezeigt.
Solche Fahrten können manchmal etwas holprig sein, und der Wandel selbst hört nie auf, aber wenn ich mir anschaue, wie weit wir gekommen sind, habe ich nichts als Vertrauen in unsere Fähigkeit, uns kontinuierlich bei allen Kennzahlen zu verbessern, die in der modernen (und zukünftigen?) Softwarebranche Spitzenleistungen definieren.