Methoden & Tools

DevOps-Performance mit KPIs optimieren

von Ronny Wenzel

Bei der DevOps-Umsetzung in Organisationen zeigen sich häufig Defizite. Weil KPIs zu wenig oder falsch genutzt werden, lässt sich DevOps nicht sinnvoll steuern. Aber die Optimierung lohnt sich – finanziell, zeitlich und für den Team-Spirit.

 

DevOps ist eine Erfolgsgeschichte. Laut einer Prognose der Analysten von Research and Markets soll der globale DevOps-Markt bis zum Jahr 2030 rund 32 Milliarden Dollar umfassen (2023: 10,6 Milliarden Dollar) – bei einer jährlichen Wachstumsrate von 14,9 Prozent. Der zunehmende Fokus auf die Automatisierung von Geschäftsprozessen und die steigende Nachfrage nach abteilungsübergreifender Zusammenarbeit werden als Hauptgründe für das Wachstum genannt.

Allerdings ist beileibe nicht alles Gold, was im DevOps-Bereich glänzt, und die erhofften Vorteile stellen sich nicht automatisch ein. Zumal in Zeiten des Kostendrucks Aufwand und Ertrag kritischer geprüft werden. Viele DevOps-Teams stellen fest, dass es nicht mehr ausreicht, nur einige wenige Metriken zu messen. Sie benötigen mehr Kennzahlen, um ihre Performance und ihren Wert nachzuweisen. Eine großartige Engine zu bauen, ist eine Seite der Medaille – die Teams müssen sicherstellen, dass der Motor die Firma ans richtige Ziel bringt.

DevOps-KPIS von DORA bis Flow

Management und Optimierung basieren in der Regel auf Kennzahlen. Nicht umsonst ist der Deming- oder PDCA-Zyklus die Grundlage der Optimierungsansätze in vielen Management-Konzepten, etwa auch in ITIL. Zudem gibt es erprobte Methoden für DevOps-Kennzahlen, etwa die Arbeiten von Googles DevOps Research and Assessments-Team (DORA), das regelmäßig Analysen zum aktuellen Implementierungsstand und zu Best Practices im DevOps-Umfeld herausbringt. DORA-Kennzahlen zur Steuerung lassen sich zum Teil sogar dazu verwenden, um einen DevOps-Reifegrad zu definieren. Auch das Flow-Framework definiert mögliche Kennzahlen zur Messung und Verbesserung von Software-Delivery-Organisationen.

DevOps ohne übergreifende Steuerung

Jedoch agieren viele Organisationen wie ein unkoordinierter Schleppverband, der einen Frachter in verschiedene Richtungen zieht. Unsere Erfahrung zeigt: In acht von zehn Kundenprojekten im Umfeld der DevOps-Optimierung ist ein übergreifendes Steuerungswerkzeug nicht oder nicht durchgängig vorhanden. Schließlich ist ein Kernprinzip von DevOps die Selbstorganisation mit hohen Freiheitsgraden für Teams. Dies wird allerdings oft mit völliger Freiheit gleichgesetzt, was zu individuellen, teamspezifischen Ansätzen der Kennzahlen-Definition und zu einer teamspezifischen Steuerung führt.

Als Ergebnis unterscheidet sich die „Lead Time for Change“ in Team A von der in Team B. Diese Freiheit kann schnell zu Intransparenz und eingeschränkter Steuerungsfähigkeit auf Portfolio- beziehungsweise Organisationsebene führen, da das Wissen in den Köpfen verortet ist. Je nach Steuerungsanspruch der betreffenden Organisation stellt dies ein Problem dar.

 

 

DevOps-KPIs standardisieren und integrieren

Die einzig sinnvolle Lösung erfordert ein gutes Balancegefühl: Entscheidend ist ein stabiler Kompromiss aus Standardisierung in der Methodik auf der einen sowie dem Erhalt der nötigen Freiheitsgrade auf der anderen Seite. Nicht alles muss frei definierbar sein, und nicht alles ergibt als Standard Sinn: DevOps-Selbstorganisation ja, aber mit einheitlichen Leitplanken.

Zunächst einmal ist es wichtig, mögliche DevOps-KPIs in ein übergeordnetes Kennzahlensystem zu integrieren. Ziel ist es, nicht mehr Kennzahlen zu implementieren, sondern aussagekräftigere. Dazu muss man wissen, was man genau erreichen beziehungsweise steuern möchte. Beispiele für strategische Ziele wären die Erhöhung des Agilitätsgrades der IT, Kosteneffizienz oder die Stabilität der Systeme. Dies alles lässt sich in DevOps-Organisationen messen, mit anderen Einheiten (intern wie extern) vergleichen und schließlich bei Bedarf gezielt optimieren.

Dafür müssen die Voraussetzungen für Mess- und Steuerbarkeit in den DevOps-Teams geschaffen werden: Zentrales Element sind hier in der Regel Kanban-Boards, die verschiedene Arbeitspakete beziehungsweise Stories enthalten und je nach Status verschiedenen Buckets zugeordnet sind (z. B. Ideen, Backlog, in Arbeit, fertig für Review, done). In diesem Kontext bilden Statusänderungen die Möglichkeit zur Definition von Messpunkten.

Standardisierung der Strukturelemente

Allerding sind die Strukturen der Kanban-Boards oft individuell definiert. Die Implementierung von übergreifend vergleichbaren DORA- oder Flow-Kennzahlen wäre damit nur auf Basis einheitlicher Definitionen oder einheitlicher Buckets der Kanban-Boards möglich, die dann als standardisierte Messpunkte dienen können. Es sollte zum Beispiel keinem Team Probleme bereiten, einen standardisierten Bucket (z. B. in Arbeit) für den Startzeitpunkt der Arbeit und für den Endzeitpunkt der Arbeit (z. B. done) zu definieren. Letzteres ist einheitlich festzulegen, ob inklusive oder exklusive Product Owner Review.

Auch eine übergreifend einheitliche Definition davon, wann eine Änderung ein Change ist und was als „Failure“ zählt, sollte selbstverständlich sein. Um dies zu erreichen, braucht es pragmatische Leitplanken für die ausgewählten, relevanten organisatorische Aspekte der DevOps Teams, um die standardisierten Messpunkte sicherzustellen. Sind diese Voraussetzungen erfüllt, lässt sich ein in die strategischen Ziele integriertes Kennzahlensystem über mehrere Ebenen etablieren. Dies stellt ein wirksames Steuerungswerkzeug dar, das die Optimierung der DevOps-Teams im Rahmen der übergreifenden Organisationsziele ermöglicht.

 

DevOps mit einem Benchmark verbessern

Wie die DevOps-Performance gezielt verbessert werden kann, beschreiben wir in diesem Artikel über DevOps-Benchmarks. Ihm liegt ein Assessment in einem europäischen Versicherungskonzern zugrunde.

 

Ronny Wenzel

Ronny Wenzel

Seine Leidenschaft für Software hat Ronny Wenzel zum Leiter der Application Management Practice bei Metrics gemacht. Ob es die Verrechnung von Applikationen, der Benchmark einer Applikationsland­schaft oder der Aufbau eines Service Kataloges ist: Mit langjähriger Exper­tise und Hands-on Mentalität ist er zur Stelle.