Qualität von Software-Projekten bemessen Mit DORA den DevOps-ROI ermitteln
Anbieter zum Thema
Beim Erfassen von DevOps-Metriken ist es wichtig, 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?

In vielen Firmen wird DevOps schon seit einigen Jahren gelebt. Eines der essenziellen Merkmale von DevOps ist das Erfassen von Metriken. Damit lässt sich faktenbasiert beurteilen, wie gut 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 zu steigern.
Je größer die Firma, desto gängiger ist es, dass es für diverse Projekte konkrete Kennzahlen gibt; vor allem hinsichtlich des finanziellen Aspekts sind z.B. die IT-Ausgaben für Hardware, Software, Personal und Infrastruktur allseits bekannt.
Ein wenig 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 Kontext kann man 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 wesentliche 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 die gesamte Organisation eingebunden wird, die gemeinsam am selben Ziel und auf Basis derselben Vision arbeitet. Einfach ausgedrückt: Je besser die Möglichkeiten zur Erfassung klarer Messdaten sind, desto besser kann man sich auf den ROI konzentrieren.
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 herausgearbeitet, um die Performance von Software Development Teams messen und bewerten zu können. Damit wird klar, wie der Reifegrad von DevOps in der Organisation ist.
Die DORA-Metriken
Insgesamt besteht DORA aus vier Metriken die relativ einfach zu implementieren sind und eine gute Grundlage für die Metrik-Initiative bietet.
1. Deployment Frequency
Konkret geht es hier darum zu messen, wie oft eine Organisation erfolgreich zur Produktionsumgebung deployen kann. Je weiter weg die Organisation von DevOps-Prinzipien ist, desto länger ist die Zeitspanne zwischen zwei Deployments. In traditionellen Organisationen 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 Ausrollen der Software hingegen die Regel, um Nutzern 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. Weiterhin gilt auch: Je höher die Deployment-Frequenz ist, desto eher vertrauen die Organisation 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 Software-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 Fehler dieser Art, desto produktiver das Team.
4. Time to Restore Service
Die vierte und letzte Metrik misst die Zeitspanne von dem Punkt, an dem ein Incident oder ein gravierender Fehler auftritt, bis dieser korrigiert ist und die Anwendung wie gewohnt für die Nutzer zur Verfügung steht. Auch hier gilt: Je schneller Probleme beseitigt werden können, desto besser die Qualität des gesamten Projekts.
Zusätzlich zu diesen vier Metriken stellt sich auch immer die Frage, ob es mögliche Sicherheitslücken im Projekt gibt. Wenig überraschend gilt auch hier: Je geringer die potenziellen Sicherheitslücken, desto besser.
Komplexität ist nicht zu vernachlässigen
Die DORA-Metriken sind ein gutes und verlässliches Mittel, 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 Systeme 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 Organisationen 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 ersichtlich, wie die Situation gerade ist und ob nicht eventuell gegengesteuert werden muss – und das auf den verschiedenen Ebenen. Auch sind dann Verbesserungen nahezu direkt umsetzbar, da sich alles in einem Tool befindet.
Fazit
Mit den DORA-Metriken wird die Qualität und Produktivität von DevOps in der Organisation 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 Endnutzer zu liefern.
* Sujeevan Vijayakumaran ist Solutions Architect bei GitLab und Autor des Buches „Versionsverwaltung mit Git“. Er unterstützt tagtäglich Kunden beim Ein- und Umstieg auf GitLab, damit diese nicht nur Source-Code-Management nutzen, sondern möglichst viele Funktionen der DevOps Plattform einsetzen, um ihren Software-Entwicklungszyklus zu beschleunigen.
(ID:47983669)