Verfügen Sie über ein System, um die Leistung Ihrer Softwareentwicklungsprozesse zu verstehen? Sind Sie überzeugt, dass Ihre Prozesse und Praktiken qualitativ hochwertige Ergebnisse aktiv unterstützen?
Die heutigen Technologieunternehmen agieren in einer zunehmend leistungsorientierten Kultur. Das bedeutet, dass sie die Leistung ihrer Entwicklungsteams messen können müssen, wenn sie langfristig erfolgreich sein wollen. In diesem Zusammenhang nutzen immer mehr führende Entwickler DevOps-Forschungs- und Bewertungsmetriken (DORA), um die Leistung ihres Teams besser zu verstehen.
Dora metrics sind nach einer Google-Forschungsgruppe benannt , die DevOps-Praktiken und -Fähigkeiten analysiert hat, um die Leistung von Softwareentwicklung und -bereitstellung zu messen. Sie bestehen aus vier Leistungsindikatoren, die zusammen wichtige Erkenntnisse zur Effektivität von Arbeitsabläufen liefern. Diese Transparenz und dieses Verständnis können Teams dabei helfen, die Geschwindigkeit zu erhöhen, Betriebskosten zu senken und Kundenerwartungen besser zu erfüllen.
In diesem Blogbeitrag untersuchen wir, was dora metrics sind, wie sie gemessen werden und welche Vorteile sie Entwicklungsteams bieten.
Was genau sind dora metrics?
dora metrics sind ein Satz von vier Metriken, die das DORA-Team von Google nach sechsjähriger Forschung ermittelt hat . Sie helfen bei der Lösung der üblichen Herausforderung der Messung der DevOps-Leistung und dienen als Standardmechanismus für Entwicklungsorganisationen weltweit zur Bewertung und Verbesserung ihrer Softwareentwicklungspraktiken. Indem sie diese Metriken verfolgen und auf leicht zugänglichen Dashboards anzeigen, können Organisationen einen klaren Überblick über ihre DevOps-Leistung erhalten und Verbesserungsbereiche identifizieren.
Die vier dora metrics umfassen:
- Bereitstellungshäufigkeit: Wie oft wird Code in der Produktion bereitgestellt?
- Vorlaufzeit für Änderungen: die Zeit, die benötigt wird, bis ein Commit in die Produktion geht
- Änderungsfehlerrate: der Prozentsatz der Bereitstellungen, die Fehler in der Produktion verursachen
- Mittlere Zeit bis zur Wiederherstellung: Die Zeit, die zur Wiederherstellung nach einem Produktionsausfall benötigt wird
Obwohl jede dieser Kennzahlen für sich genommen wichtige Informationen liefert, werden sie am besten gemeinsam verwendet, um ein klareres Verständnis dafür zu erhalten, wo die Lücken sind und wo ein Team sich verbessern könnte. Im Folgenden werden die einzelnen Kennzahlen genauer untersucht.
Bereitstellungshäufigkeit
Die Bereitstellungshäufigkeit misst, wie oft ein Team erfolgreich Code für eine bestimmte Anwendung bereitstellt. Je nach den Zielen eines Teams und der Art der Anwendung, die es bedient, kann dies täglich, wöchentlich oder sogar monatlich gemessen werden. Das heißt, leistungsstarke DevOps-Teams zielen normalerweise darauf ab, regelmäßig mehrere kleine Funktionen bereitzustellen.
Im State of DevOps 2021 Report von Google hat das DORA-Team für jede der Metriken klare Benchmarks festgelegt. Für die Bereitstellungshäufigkeit umfassen die Leistungskategorien Folgendes:
- Elite-Performer: Mehrere Einsätze pro Tag
- Leistungsstarke Anbieter: Zwischen einer Bereitstellung pro Tag und einer pro Woche
- Mittlere Leistung: Zwischen einer Bereitstellung pro Woche und einer pro Monat
- Leistungsschwache: Zwischen einer Bereitstellung pro Monat und einer alle sechs Monate
Während die Häufigkeit ein Aspekt der Metrik ist, ist die andere Komponente eine erfolgreiche Bereitstellung. Daher müssen Teams definieren, was „erfolgreich“ im Kontext der Bereitstellung von Code bedeutet, und sie müssen über ein System verfügen, um eine Bereitstellung als solche zu klassifizieren.
Vorlaufzeit für Änderungen
Dies misst die Zeit zwischen der Übermittlung des Codes und seiner Erreichung in der Produktion. Mit anderen Worten hilft diese Metrik den Teams, die Geschwindigkeit ihrer Softwarebereitstellung zu verstehen. Letztendlich gilt: Je kürzer die Vorlaufzeit für Änderungen, desto effizienter ist ein DevOps-Team bei der Bereitstellung von Code.
Für diese Messung werden zwei Daten verwendet: der genaue Zeitpunkt des Commits und der genaue Zeitpunkt der Bereitstellung. Die Durchschnittszeit über einen bestimmten Zeitraum wird dann zur Bewertung der Gesamtleistung verwendet.
Die Benchmarks des DORA-Teams für diese Metrik sind wie folgt:
- Elite-Performer: Weniger als eine Stunde
- Leistungsträger: Ein Tag bis eine Woche
- Mittlere Leistung: Ein Monat bis sechs Monate
- Leistungsschwache: Mehr als sechs Monate
Es ist wichtig, dass Sie nicht die Qualität opfern, um die Geschwindigkeit der Änderungen zu verbessern. Indem Sie Ihrem Team Vorlagen mit Best Practices und Standards anbieten, mit denen es Dinge wie die Erstellung von Diensten und andere allgemeine Betriebsaufgaben selbst erledigen kann, können Sie die Vorlaufzeit für Änderungen verkürzen, ohne die Qualität zu beeinträchtigen.
Änderungsfehlerrate
Auch als CFR bekannt. Dies ist der Prozentsatz der Code-Releases, die zu Ausfallzeiten, Leistungseinbußen oder Rollbacks führen. Während die beiden vorherigen Metriken Geschwindigkeit und Effizienz berücksichtigen, untersucht CFR die Qualität und Stabilität des Codes.
Die Änderungsfehlerrate wird als Durchschnitt berechnet, indem die Anzahl der Bereitstellungsfehler gezählt und durch die Anzahl der Bereitstellungen geteilt wird. Über einen längeren Zeitraum hinweg hilft dies den Teams zu verstehen, wie viel Zeit sie mit der Behebung und Beseitigung von Fehlern verbringen, anstatt neuen Code bereitzustellen.
Bei den Benchmarks für diese Kennzahl besteht das Ziel darin, einen möglichst niedrigen Prozentsatz zu erreichen:
- Elite-Performer: 0–15 %
- Hohe, mittlere und niedrige Leistung: 16–30 %
Alles über 30 % weist auf ein erhebliches Problem bei der Codequalität und -zuverlässigkeit Ihres Teams hin und würde eine Überarbeitung der Codeerstellungsmethode erforderlich machen.
Mittlere Zeit bis zur Wiederherstellung
Die mittlere Wiederherstellungszeit (MTTR) misst die durchschnittliche Zeit, die benötigt wird, um den Dienst nach einer Störung wiederherzustellen. Auch wenn Ihr DevOps-Team hochleistungsfähig ist, kommt es zu Störungen, und das Team muss gut ausgerüstet sein, um auf eine Situation zu reagieren und Abhilfe zu schaffen. Teams mit einer niedrigen MTTR experimentieren und innovieren eher und finden neue Wege zur Verbesserung ihres Produkts – und steigern so potenziell den Wettbewerbsvorteil des Unternehmens.
Die MTTR wird häufig durch die Messung der durchschnittlichen Zeit zwischen der Meldung eines Fehlers oder Vorfalls und der Bereitstellung einer Problembehebung berechnet.
Laut DORA sind die Leistungsbenchmarks für diese Metrik:
- Elite-Performer: Weniger als eine Stunde
- Leistungsträger: Weniger als ein Tag
- Durchschnittliche Leistung: Von einem Tag bis zu einer Woche
- Leistungsschwache: Über sechs Monate
Führungskräfte können ihren Teams dabei helfen, schnell und effektiv auf Vorfälle zu reagieren, indem sie ihnen Einblick in das gesamte Software-Ökosystem gewähren (und sicherstellen, dass der Softwarekatalog auf dem neuesten Stand ist) und über ein klares Vorfallreaktionsprogramm verfügen.
Die Vorteile der Verwendung von dora metrics zur Messung der DevOps-Leistung
Obwohl die Softwareentwicklung von Natur aus ein wissenschaftlich und datengetriebener Prozess ist, gibt es viele abstrakte Prozesse, die schwer zu messen sind. Das allein war der eigentliche Anstoß für das DORA-Team, sich mit der Arbeit zu beschäftigen, diese Kennzahlen zu klären. Die Messung dieser Kennzahlen verleiht dem Prozess somit mehr Stabilität und Greifbarkeit. Durch die Verfolgung der dora metrics sind Unternehmen besser in der Lage, Verbesserungsbereiche zu identifizieren und dann ihre Entwicklungsprozesse zu optimieren. Dies führt letztendlich dazu, dass die Teams schneller qualitativ hochwertigere Software liefern – etwas, das für die leistungsorientierten Unternehmen von heute von entscheidender Bedeutung ist.
Weitere wichtige Vorteile sind:
- Datengesteuerte Entscheidungsfindung
- Optimierte Arbeitsabläufe
- Höhere Wertschöpfung
- Eine Kultur der Exzellenz innerhalb der Engineering-Organisation
Herausforderungen bei der Messung von dora metrics
Während dora metrics für die dringend benötigte Struktur innerhalb von DevOps-Teams sorgen, bringt ihre Verwendung auch Herausforderungen mit sich. Bei vielen Entwicklungsteams muss ein kultureller und verfahrenstechnischer Wandel stattfinden, wenn sie die vier Metriken effektiv messen möchten bios.
Zu den zu berücksichtigenden Herausforderungen gehören:
- Dezentrale Daten, die schwer zu konsolidieren sind
- Daten, die nur im Rohformat verfügbar sind und nicht einfach bearbeitet werden können
- Daten, die in leicht messbare Einheiten umgewandelt werden müssen
Darüber hinaus ist es wichtig, jede der dora metrics im richtigen Kontext zu sehen. Wie wir oben erläutert haben, sagt die Bereitstellungshäufigkeit nichts über die Qualität oder Stabilität des Codes aus, daher sollte sie in den richtigen Situationen genutzt werden.
Aufbau einer Kultur der kontinuierlichen Verbesserung mit dora metrics
Ein zentraler Grundsatz der DevOps-Methodik ist die kontinuierliche und iterative Verbesserung. Die Einführung zentraler Leistungsmetriken wie DORA, die speziell für DevOps-Teams entwickelt wurden, ist ein wichtiger Weg, um eine Kultur des kontinuierlichen Wachstums zu etablieren. Mit den richtigen Daten können Teams besser verstehen, wo die Lücken liegen, und dann Verbesserungsbereiche priorisieren. Diese können dann basierend auf den Zielen und Vorgaben des Teams priorisiert werden, da sie sich auf die dora metrics beziehen.
Bei OpsLevel helfen wir Produktteams, Code schneller zu erstellen, auszuliefern und zu reparieren. Starten Sie eine kostenlose Testversion, um zu sehen, wie.