(openPR) Beim Erfassen von DevOps-Metriken ist es unabdingbar, dass ein sinnvoller Benchmark genutzt wird. Nun stellt sich also die Frage: Was wird gemessen? Wie wird gemessen? Und: Welche Schlüsse werden aus den Daten gezogen, die sich daraus ergeben? Diese Fragen haben wir Software-Experten Sergejs Scerbans aus München gestellt.
DORA hat vier Metriken herausgearbeitet, um die Performance von Software Development Teams messen und bewerten zu können.
In vielen Firmen wird DevOps schon seit einigen Jahren gelebt, zum Beispiel in der appExpert GmbH von Sergejs Scerbans aus München. Eines der ausschlaggebenden Merkmale von DevOps ist das Erfassen von Metriken. Damit lässt sich faktenbasiert beurteilen, wie gut -oder Schlecht- die Software ist, die gerade entwickelt wird, wo es Optimierungsbedarf gibt und wo vielleicht noch mehr Arbeit einfließen müsste, um die Produktivität sicherzustellen.
Je größer das Unternehmen, desto gängiger ist es, dass es für diverse Projekte konkrete Metrics gibt; vor allem hinsichtlich des finanziellen Aspekts sind z.B. die IT-Tasks für Hardware, Software, Personal und Infrastruktur allseits bekannt.
Anders sieht es aktuell noch aus, wenn man die Produktivität von Software-Entwicklungs-Teams betrachtet. Da wird häufig nur vor sich hin entwickelt, ohne dass klar ist, wie das Endergebnis im Detail aussieht und ob eventuell Potenzial für Optimierung besteht.
In diesem Zusammenhang lässt sich häufig sogar von einer Entwicklung im Blindflug sprechen. Veränderungen in der Kultur und den Prozessen der Teams wirken sich direkt auf die Produktivität und die Resultate (der Teams) aus. Hier stellt sich aber die grundlegende Frage: Wie wird gemessen und warum gerade so?
Denn auch mit DevOps und agilen Prozessen ist es möglich, die Effizienz zu identifizieren und zum Geschäftswert in Beziehung zu setzen. Wichtig dabei ist, dass das gesamte Unternehmen eingebunden wird, die gemeinsam am selben Ziel und auf Basis derselben Idee arbeitet. Einfach ausgedrückt: Je besser die Chancen zur Erfassung klarer Messdaten sind, desto besser kann man sich an dem ROI orientieren.
Eine Hilfe bietet hier DORA, was kurz für „DevOps Research and Assessment“ steht. Das Team hinter DORA betreibt Forschung im Rahmen von DevOps. Sie haben insgesamt vier Metriken entwickelt, um die Performance von Software Entwickler-Teams messen und bewerten zu können. Damit wird klar, wie der Reifegrad von DevOps im Team ist.
Die DORA-Metriken
Insgesamt besteht DORA aus vier Metriken die relativ einfach zu implementieren sind und ein gutes Fundament für die Metrik-Initiative bietet.
1. Deployment Frequency
Konkret geht es hier darum zu messen, wie oft ein Entwickler-Team nachhaltig zur Produktionsumgebung deployen kann. Je weiter entfernt das Team von DevOps-Prinzipien ist, desto länger ist die Zeitspanne zwischen zwei Deployments. In traditionellen Teams wird es häufig als normal angesehen, dass die Software etwa nur einmal im Quartal auf Produktivsystemen ausgerollt wird.
In DevOps-Teams ist das häufige bewerten der Software hingegen die Regel, um Usern die Änderungen schneller verfügbar zu machen sowie deutlich schneller auf Fehler reagieren zu können. Je höher der Automatisierungsgrad ist, desto häufiger wird ein Deployment durchgeführt. Außerdem gilt auch: Je höher die Deployment-Frequenz ist, desto eher vertraut das Team und ihre Entwickler und Entwicklerinnen auf die eigene Software und deren Qualität.
2. Lead Time
Die zweite Metrik ist die Frage nach der Lead Time. Wie lange dauert es, bis ein Commit erstellt und auf die Produktivumgebung ausgerollt wurde. Auch diese Metrik ist ein wichtiger Indikator für ein gut funktionierendes und produktives Developer-Team.
3. Change Failure Rate
Die ersten beiden Metriken zielen mehr auf das Ausrollen des Projekts in Produktionsumgebungen und weniger auf die Häufigkeit und Schnelligkeit. Die anderen beiden Metriken legen den Fokus auf Fehler, die in Produktionsumgebungen auftreten.
Die Change Failure Rate zeigt die Fehlerhäufigkeit in Deployments zur Produktionsumgebung an. Wieviel Prozent der Änderungen führen zu Problemen hinsichtlich der Zuverlässigkeit für die Nutzer, wonach erneut eingegriffen werden muss? Je weniger Probleme dieser Art, desto produktiver die Developer.
4. Time to Restore Service
Die vierte und letzte Metrik misst die Zeitspanne von dem Punkt, an dem ein gravierender Fehler auftritt, bis dieser korrigiert ist und die Software wie gewohnt für die User zur Verfügung steht. Auch hier gilt: „Je schneller Probleme beseitigt werden können, desto besser die Qualität des gesamten Projekts“ fasst Experte Sergejs Scerbans zusammen. Zusätzlich zu diesen vier Metriken stellt sich auch immer die Frage, ob es mögliche Sicherheitslücken im Projekt gibt. Auch hier gilt: Je geringer die potenziellen Sicherheitslücken, desto besser.
Die DORA-Metriken sind ein gutes und verlässliches Tool, um die Qualität von Software-Projekten in Hinblick auf DevOps messbar zu machen. Allerdings ist die Erfassung dieser Datenpunkte nicht einfach. Häufig sind etliche Tools in der DevSecOps-Toolchain enthalten, die das Ganze deutlich erschweren.
Das Hauptproblem dabei: Die Daten kommen von verschiedenen Tools und werden an verschiedenen Stellen gespeichert. So wird viel Zeit damit verschwendet, diese Metriken zu erfassen. Das ist ein Effizienzverlust, denn auch diese Anwendungen müssen gewartet werden, damit die Instrumentierung problemlos funktioniert. Daraus folgt häufig eine eher komplexe Erfassung der Daten für die Metriken. Oder aber diese Daten werden gar nicht erfasst, wenn nicht gar mit falschen Daten gearbeitet wird.
Ein Ausweg ist möglich, wenn auf eine vollständig integrierte DevOps-Plattform gesetzt wird, in der diese vorgestellten DORA-Metriken automatisch erfasst werden können. Den Entwickler-Teams können dann mittels weniger Handgriffe die Geschwindigkeit, Gesamtqualität und die Stabilität der Projekte besser verstehen und einschätzen.
Daraus resultiert eine durchgängige Transparenz, die für alle Teams, inklusive CISO, leicht verständlich ist. Dazu gehört auch eine Aggregierung auf Gruppen- und Instanz-Ebene, inklusive eines übergeordneten Trends. Damit wird überschaubar, wie die Situation gerade ist und ob nicht eventuell gegengelenkt werden muss – und das auf den verschiedenen Ebenen. Auch Verbesserungen werden dadurch nahezu direkt umsetzbar, da sich alles in einem Tool befindet.
Fazit
Mit den DORA-Metriken wird die Qualität und Produktivität von DevOps im Developer-Team besser nutzbar und eine effiziente ROI-Betrachtung unterstützt. Diese Vorgehensweise lenkt einen klaren Blick auf etwaige Probleme und Herausforderungen, die noch gelöst werden müssen, um letztendlich bessere Produkte für die User zu liefern. Wie DORA-Metriken sich auch in Ihr Software-Projekt effektiv implementieren lässt erklärt Ihnen gerne unser Experte Sergejs Scerbans aus München in einer kostenlosen Ersteinschätzung.









