Die DevOps-Philosophie entstand aus der Frustration über die Silos zwischen Entwicklungs- und Betriebsteams und fördert Vertrauen, Zusammenarbeit und die Bildung multidisziplinärer Teams. Als DevOps immer beliebter wurde, wurde DevOps Research and Assessment (DORA) mit dem Ziel gegründet, ein besseres Verständnis der Praktiken, Prozesse und Fähigkeiten zu erlangen, die es Teams ermöglichen, bei der Softwarebereitstellung eine hohe Geschwindigkeit und Leistung zu erreichen. Das Startup identifizierte vier Schlüsselmetriken – die „dora metrics“ –, mit denen Entwicklungsteams ihre Leistung in vier kritischen Bereichen messen können.
Dadurch werden die technischen Leiter gestärkt und können ihre Teams mit dem Rest der Branche vergleichen, Verbesserungsmöglichkeiten erkennen und Änderungen vornehmen, um diese zu nutzen.
Was ist DORA?
DevOps Research and Assessment (DORA) ist ein Startup, das von Gene Kim und Jez Humble unter der Leitung von Dr. Nicole Forsgren gegründet wurde. Gene Kim und Jez Humble sind vor allem für ihre Bestseller bekannt, darunter The DevOps Handbook . Dr. Nicole Forsgren schloss sich dem Paar 2018 als Co-Autorin von Accelerate an.
Das Unternehmen erstellte Bewertungen und Berichte zu den DevOps-Fähigkeiten von Organisationen. Ziel war es herauszufinden, was ein Team erfolgreich und schnell bei der Bereitstellung qualitativ hochwertiger Software macht. Das Startup wurde 2018 von Google übernommen und ist nach wie vor das größte Forschungsprogramm seiner Art. Jedes Jahr befragt es Zehntausende von Fachleuten und sammelt Daten zu den wichtigsten Treibern der technischen Lieferung und Leistung. Seine Jahresberichte enthalten wichtige Benchmarks, Branchentrends und Erkenntnisse, die Teams bei der Verbesserung helfen können.
Was sind dora metrics?
dora metrics sind ein Satz von vier Messwerten, die von DORA als die am stärksten mit Erfolg korrelierenden Messwerte identifiziert wurden – es sind Messwerte, die DevOps-Teams verwenden können, um ihre Leistung zu messen. Die vier Messwerte sind: Bereitstellungshäufigkeit, mittlere Vorlaufzeit für Änderungen, mittlere Wiederherstellungszeit und Änderungsfehlerrate. Sie wurden durch die Analyse von Umfrageantworten von über 31.000 Fachleuten weltweit über einen Zeitraum von sechs Jahren ermittelt.
Das Team bei DORA ermittelte außerdem Leistungsbenchmarks für jede Kennzahl und skizzierte die Merkmale von Elite-, Hochleistungs-, Mittel- und Niedrigleistungsteams.
Bereitstellungshäufigkeit
Die Bereitstellungshäufigkeit ( Deployment Frequency , DF) misst die Häufigkeit, mit der Code erfolgreich in einer Produktionsumgebung bereitgestellt wird. Sie ist ein Maß für den durchschnittlichen Durchsatz eines Teams über einen bestimmten Zeitraum und kann als Benchmark verwendet werden, wie oft ein Entwicklungsteam Mehrwert an Kunden liefert.
Entwicklungsteams sind im Allgemeinen bestrebt, so schnell und häufig wie möglich zu implementieren, um den Benutzern neue Funktionen zur Verfügung zu stellen, die Kundenbindung zu verbessern und der Konkurrenz einen Schritt voraus zu sein. Erfolgreichere DevOps-Teams liefern kleinere Implementierungen häufiger, anstatt alles in einer größeren Version zusammenzufassen, die während eines festen Zeitfensters implementiert wird. Hochleistungsteams implementieren mindestens einmal pro Woche, während Teams auf dem Höhepunkt ihrer Leistung – Spitzenleistung – mehrmals pro Tag implementieren.
Eine schlechte Leistung bei dieser Metrik kann Teams darauf hinweisen, dass sie möglicherweise ihre automatisierten Tests und die Validierung von neuem Code verbessern müssen. Ein weiterer Bereich, auf den Sie sich konzentrieren sollten, könnte das Aufteilen von Änderungen in kleinere Teile und das Erstellen kleinerer Pull Requests (PRs) oder das Verbessern des gesamten Bereitstellungsvolumens sein.
Durchschnittliche Vorlaufzeit für Änderungen
Die mittlere Vorlaufzeit für Änderungen (MLTC) hilft technischen Leitern, die Effizienz ihres Entwicklungsprozesses zu verstehen, sobald mit der Codierung begonnen wurde. Diese Metrik misst, wie lange es dauert, bis eine Änderung in eine Produktionsumgebung gelangt, indem die durchschnittliche Zeit zwischen dem ersten Commit in einem Zweig und dem erfolgreichen Ausführen dieses Zweigs in der Produktion betrachtet wird. Sie quantifiziert, wie schnell die Arbeit an Kunden ausgeliefert wird, wobei die besten Teams in weniger als einem Tag vom Commit zur Produktion gelangen können. Durchschnittliche Teams haben eine MLTC von etwa einer Woche.
Bereitstellungen können sich aus verschiedenen Gründen verzögern, z. B. durch die Bündelung verwandter Funktionen oder anhaltender Vorfälle. Daher ist es wichtig, dass die technischen Leiter genau wissen, wie lange ihr Team braucht, um Änderungen in die Produktion zu bringen.
Beim Versuch, diese Kennzahl zu verbessern, können Führungskräfte Kennzahlen analysieren, die den Phasen ihrer Entwicklungspipeline entsprechen, wie etwa Zeit bis zum Öffnen, Zeit bis zur ersten Überprüfung und Zeit bis zum Zusammenführen, um Engpässe in ihren Prozessen zu identifizieren .
Teams, die diesen Wert verbessern möchten, könnten die Arbeit in kleinere Abschnitte aufteilen, um die Größe der PRs zu verringern, die Effizienz ihres Codeüberprüfungsprozesses steigern oder in automatisierte Test- und Bereitstellungsprozesse investieren.
Änderungsfehlerrate
Die Change Failure Rate (CFR) ist eine Berechnung des Prozentsatzes der Bereitstellungen, die einen Produktionsfehler verursachen. Sie wird ermittelt, indem die Anzahl der Vorfälle durch die Gesamtzahl der Bereitstellungen geteilt wird. Dies gibt Führungskräften Einblick in die Qualität des ausgelieferten Codes und damit auch in die Zeit, die das Team mit der Behebung von Fehlern verbringt. Die meisten DevOps-Teams können eine Änderungsfehlerrate zwischen 0 % und 15 % erreichen.
Wenn in Produktionsumgebungen häufig Änderungen vorgenommen werden, sind Fehler so gut wie unvermeidlich. Manchmal sind diese Fehler geringfügig, in anderen Fällen können sie jedoch zu schwerwiegenden Fehlern führen. Es ist wichtig zu bedenken, dass diese Fehler nicht als Anlass genommen werden sollten, einer einzelnen Person oder einem Team die Schuld zu geben. Es ist jedoch auch wichtig, dass die technischen Leiter überwachen, wie oft diese Vorfälle auftreten.
Diese Metrik ist ein wichtiger Gegenpunkt zu den DF- und MLTC-Metriken. Ihr Team arbeitet möglicherweise schnell, aber Sie möchten auch sicherstellen, dass es qualitativ hochwertigen Code liefert – sowohl Stabilität als auch Durchsatz sind für erfolgreiche, leistungsstarke DevOps-Teams wichtig.
Um sich in diesem Bereich zu verbessern, können Teams die Work-in-Progress-Menge (WIP) in ihren Iterationen reduzieren, die Effizienz ihrer Code-Review-Prozesse steigern oder in automatisierte Tests investieren.
Mittlere Zeit bis zur Wiederherstellung
Die mittlere Wiederherstellungszeit (MTTR) misst die Zeit, die benötigt wird, um die normale Funktionalität eines Systems wiederherzustellen. Eliteteams können die Wiederherstellung in weniger als einer Stunde durchführen, während die meisten Teams eher weniger als einen Tag benötigen.
Fehler passieren, aber die Fähigkeit, einen Fehler in einer Produktionsumgebung schnell zu beheben, ist der Schlüssel zum Erfolg von DevOps-Teams. Um die MTTR zu verbessern, müssen DevOps-Teams ihre Beobachtbarkeit verbessern, damit Fehler schnell identifiziert und behoben werden können.
Weitere Maßnahmen zur Verbesserung dieser Kennzahl sind: ein Aktionsplan, auf den die Helfer zurückgreifen können, die Sicherstellung, dass das Team den Prozess zur Behebung von Fehlern versteht, und die Verbesserung von MLTC.
dora metrics optimal nutzen
Die dora metrics sind ein guter Ausgangspunkt, um den aktuellen Zustand eines Entwicklungsteams zu verstehen oder Änderungen im Laufe der Zeit zu bewerten. Aber dora metrics erzählen nur einen Teil der Geschichte.
Um tiefere Einblicke zu gewinnen, ist es hilfreich, sie zusammen mit Nicht-DORA-Kennzahlen wie PR-Größe oder Zykluszeit zu betrachten. Korrelationen zwischen bestimmten Kennzahlen helfen Teams dabei, Fragen zu identifizieren, die sie stellen müssen, und Bereiche hervorzuheben, die verbessert werden können.
Und obwohl die DORA-Kennzahlen vielleicht das bekannteste Element des jährlichen DORA-Berichts sind, befasst sich das Forschungsteam häufig auch mit anderen Faktoren, die die Leistung von Ingenieuren beeinflussen. Im Bericht von 2023 beispielsweise befassen sie sich mit zwei weiteren Bereichen, die für leistungsstarke Teams von Bedeutung sind: Codeüberprüfung und Teamkultur. Die Betrachtung dieser Dimensionen in Verbindung mit den DORA-Kennzahlen kann Führungskräften helfen, ihr Team besser zu verstehen.
Es ist auch wichtig zu beachten, dass es für die vier DORA-Kennzahlen keine Standardberechnungen gibt und sie daher häufig unterschiedlich gemessen werden, sogar zwischen Teams in derselben Organisation. Um genaue Schlussfolgerungen über Geschwindigkeit und Stabilität in Teams ziehen zu können, müssen Führungskräfte sicherstellen, dass die Definitionen und Berechnungen für jede Kennzahl in ihrer gesamten Organisation standardisiert sind pokemon emerald.
Warum sollten technische Führungskräfte über dora metrics nachdenken?
Um sinnvolle Verbesserungen an irgendetwas vorzunehmen, sind zwei Elemente erforderlich: Ziele, auf die hingearbeitet werden kann, und Nachweise, die den Fortschritt belegen. Durch die Feststellung des Fortschritts können diese Nachweise Teams motivieren, weiter auf die gesetzten Ziele hinzuarbeiten. DORA-Benchmarks geben technischen Leitern konkrete Ziele, die dann weiter in Kennzahlen unterteilt werden können, die für Schlüsselergebnisse verwendet werden können.
DORA-Kennzahlen geben außerdem Einblick in die Teamleistung. Durch die Betrachtung der Änderungsfehlerrate und der durchschnittlichen Wiederherstellungszeit können Führungskräfte sicherstellen, dass ihre Teams robuste Dienste erstellen, bei denen es nur minimale Ausfallzeiten gibt. Ebenso gibt die Überwachung der Bereitstellungshäufigkeit und der durchschnittlichen Vorlaufzeit für Änderungen den technischen Leitern die Gewissheit, dass das Team schnell arbeitet. Zusammen geben die Kennzahlen Einblick in das Gleichgewicht zwischen Geschwindigkeit und Qualität des Teams.
Erfahren Sie vom Experten selbst mehr über dora metrics. Sehen Sie sich unser On-Demand-Webinar mit Nathen Harvey, Developer Advocate bei DORA und Google Cloud, an.