Viele Führungskräfte in der Softwareentwicklung stehen vor der Herausforderung, die Leistung effektiv zu messen, um Verbesserungen voranzutreiben. Es ist wichtig, Bereiche zu identifizieren, in denen die Softwarebereitstellung verbessert werden kann, aber die praktischen Komplexitäten der Messung der Entwicklerleistung können entmutigend sein.
Im Jahr 2018 erwarb Google DORA , was für DevOps Research and Assessment steht. DORA ist eine Pionierorganisation, die dafür bekannt ist, Schlüsselmetriken zu ermitteln , die die Leistung der Softwarebereitstellung deutlich verbessern. Zu diesen Metriken gehören Bereitstellungshäufigkeit, Vorlaufzeit für Änderungen, Änderungsfehlerrate, mittlere Wiederherstellungszeit (MTTR) und Zuverlässigkeit.
Obwohl diese Kennzahlen in der Branche weithin anerkannt und übernommen werden, besteht die wahre Herausforderung darin, wie Unternehmen sie effektiv umsetzen. Unser Leitfaden bietet eine praktische Einführung in die DORA-Kennzahlen und erläutert im Detail, was sie beinhalten und wie sie zur Erzielung hervorragender Entwicklungsergebnisse eingesetzt werden können. Die entscheidende Frage ist, ob es ausreicht, sich ausschließlich auf die Fähigkeiten von DORA zu verlassen, oder wie diese vier Kennzahlen in einen breiteren strategischen Rahmen integriert werden sollten.
Was sind dora metrics?
Die DORA-Kennzahlen sind Bereitstellungshäufigkeit, Vorlaufzeit für Änderungen, Änderungsfehlerrate und mittlere Wiederherstellungszeit (MTTR). In den letzten Jahren haben führende Unternehmen eine fünfte DORA-Funktion eingeführt: Zuverlässigkeit.
Die Bereitstellungshäufigkeit und die Vorlaufzeit für Änderungen messen das Tempo, mit dem Ingenieure neue Softwareänderungen veröffentlichen, während die Änderungsfehlerrate und die Zeit bis zur Wiederherstellung des Dienstes die Zuverlässigkeit und Belastbarkeit der Softwarebereitstellungssysteme messen. DevOps-Teams können ihre Entwicklungsleistung und Geschäftsergebnisse deutlich verbessern, indem sie diese Kennzahlen kontinuierlich überwachen und verbessern.
Das DORA-Framework nutzt diese Kennzahlen, um Teams als Elite-, High-, Medium- oder Low-Performer zu klassifizieren. Ihre Forschung zeigt, dass Elite-Performer, die in diesen Kennzahlen herausragend sind, die Leistungsziele der Organisation mit doppelter Wahrscheinlichkeit erreichen oder übertreffen.
Die vier Schlüsselmetriken , die für die Bewertung der Softwarebereitstellungsleistung grundlegend sind, stammen aus dem einflussreichen Buch „Accelerate“ von Nicole Forsgren , Jez Humble und Gene Kim. Das DORA-Team fasst jahrelange Forschung zusammen, um die „Accelerate“-Metriken zu identifizieren, die eine hohe Leistung und ein erstklassiges Wertstrommanagement in Technologieunternehmen vorantreiben.
Hier sind die Definitionen der dora metrics unter Verwendung von Definitionen aus dem State of DevOps Report 2023 von Google Cloud .
Bereitstellungshäufigkeit
Die Bereitstellungshäufigkeit gibt an, wie oft ein Entwicklungsteam neue Funktionen, Fehlerbehebungen oder Verbesserungen in einer Live-Produktionsumgebung veröffentlicht.
Verschiedene DevOps-Teams haben möglicherweise unterschiedliche Definitionen von hoher Frequenz. Für einige Entwicklungsteams kann die hohe Frequenz bedeuten, dass Änderungen mehrmals am Tag bereitgestellt werden, während für andere eine kurze Zykluszeit bedeuten kann, dass Änderungen mehrmals pro Woche bereitgestellt werden. Eine starke Continuous Delivery (CD)-Pipeline ermöglicht es Elite-Performern, häufig kleinere Aktualisierungen oder Verbesserungen vorzunehmen, um Benutzeranforderungen zu erfüllen und das allgemeine Benutzererlebnis zu verbessern.
Vorlaufzeit für Änderungen
Die Metrik „Vorlaufzeit für Änderungen“ misst die Zeit, die benötigt wird, bis eine Codeänderung von der Entwicklungsphase bis zur erfolgreichen Bereitstellung in der Produktionsumgebung gelangt.
Agile Methoden , automatisierte Codeüberprüfungsprozesse und kontinuierliche Verbesserung können die Vorlaufzeit für Änderungen erheblich verkürzen. DevOps-Teams können User Stories oder Funktionsanfragen schnell in tatsächlichen Code übersetzen, der durch die Einführung agiler Prozesse bereitgestellt werden kann , und die Auslieferung häufig und in kleinen Chargen durchführen. Diese Strategien reduzieren den Aufwand und die Bereitstellungszeit, was zu einem effizienteren Workflow und schnelleren Durchlaufzeiten führt.
Änderungsfehlerrate
Die Änderungsfehlerrate (Change Failure Rate, CFR) gibt an, wie häufig eine Bereitstellung zu Fehlern in der Produktion führt, die sofortiges Eingreifen erfordern.
Wenn ein Entwicklungsteam beispielsweise automatisierte Tests und gründliche Qualitätssicherungsverfahren implementiert, wird es wahrscheinlich eine niedrige Änderungsfehlerrate haben. Im Gegensatz dazu kann ein Team mit einer höheren Änderungsfehlerrate nach der Bereitstellung häufig auf Probleme stoßen, die dringend behoben werden müssen.
Mittlere Wiederherstellungszeit (MTTR)
Die mittlere Wiederherstellungszeit oder Wiederherstellungszeit für fehlgeschlagene Bereitstellungen wird durch die durchschnittliche Zeit veranschaulicht, die ein Team benötigt, um den Dienst nach einem Bereitstellungsfehler wiederherzustellen.
Beispielsweise kann ein Softwareentwicklungsteam mit effizienten Verfahren zur Reaktion auf Vorfälle eine niedrige MTTR haben. In einem Szenario, in dem eine Bereitstellung zu Systemausfällen führt, deutet eine kürzere MTTR auf einen schnellen und effektiven Wiederherstellungsprozess hin, der Ausfallzeiten minimiert und ein widerstandsfähigeres System gewährleistet.
Zuverlässigkeit
Zuverlässigkeit bedeutet, dass ein Dienst seine Ziele in Bezug auf Verfügbarkeit, Betriebsleistung und Genauigkeit konstant erreicht oder übertrifft.
Ein zuverlässiger Cloud-Dienst mit 99,99 % Verfügbarkeit reagiert schnell auf Benutzeranfragen und liefert durchgängig genaue Ergebnisse, was eine hohe Zuverlässigkeit und DevOps-Reife beweist. Softwareteams können die Zuverlässigkeit anhand von Branchenbenchmarks messen, um sicherzustellen, dass ihre Software ein stabiles und zuverlässiges Benutzererlebnis bietet, Leistungseinbußen reduziert und die von Entwicklungs- und Betriebsteams festgelegten Standards erfüllt.
Verfolgung von DORA-Kennzahlen
Jeder technische Leiter hat unterschiedliche Möglichkeiten, seine DevOps-Leistung mit dora metrics zu messen. Während Sie Ihre Benchmarks und Erwartungen festlegen, sollten sich die Teammitglieder anpassen und sich damit vertraut machen, wie ihre Arbeit im Vergleich zu den etablierten DORA-Funktionen und anderen Softwareentwicklungsmetriken abschneidet.
So messen Sie die einzelnen DORA-Kennzahlen ganz einfach:
So messen Sie die Bereitstellungshäufigkeit
Zählen Sie die Anzahl der Bereitstellungen über einen bestimmten Zeitraum, z. B. Bereitstellungen pro Woche, um die Bereitstellungshäufigkeit zu messen.
Verfolgen Sie die Anzahl der Pull Requests, Commits und Releases mithilfe von Versionskontrollsystemen wie Git . Kontinuierliche Integrationstools wie Jenkins oder GitLab CI können den Softwarebereitstellungsprozess automatisieren und Kennzahlen zur Bereitstellungshäufigkeit liefern.
So messen Sie die Vorlaufzeit für Änderungen
Um die Vorlaufzeit zu berechnen, zeichnen Sie den Zeitstempel auf, wenn jemand einen Code-Commit vornimmt und wenn er die entsprechende Änderung bereitstellt.
Diese Metrik hilft dabei, Engpässe und Verzögerungen in der Entwicklungspipeline zu identifizieren. Tools wie Jira oder Git können Zeitstempel verfolgen und die Vorlaufzeit berechnen.
So messen Sie die Änderungsfehlerrate
Um die Änderungsfehlerrate zu messen, berechnen Sie den Prozentsatz der fehlgeschlagenen Bereitstellungen, indem Sie die Anzahl der fehlgeschlagenen Änderungen durch die Gesamtzahl teilen.
Versionskontrollsysteme, kontinuierliche Integrationstools und Observability-Lösungen wie Prometheus oder Grafana können Daten zur Häufigkeit und zum Prozentsatz erfolgreicher Bereitstellungen liefern.
So messen Sie MTTR
Um die durchschnittliche Zeit bis zur Wiederherstellung zu berechnen, zeichnen Sie auf, wann ein ungeplanter Ausfall auftritt und wann ein Techniker den Dienst vollständig wiederherstellt.
Überwachungstools und Vorfallmanagementplattformen wie PagerDuty oder OpsGenie können Zeitstempel und Daten zu Vorfalllösungszeiten bereitstellen.
So messen Sie Zuverlässigkeit
Messen Sie die Zuverlässigkeit, indem Sie die Gesamtverfügbarkeit und Leistung der Anwendung verfolgen.
Nutzen Sie Überwachungstools, Protokollanalysen und Benutzerfeedback, um die Zuverlässigkeit des Systems zu bewerten. Um die Zuverlässigkeit zu quantifizieren, berechnen Sie Kennzahlen wie die mittlere Betriebsdauer zwischen Ausfällen (MTBF).
Die Auswirkungen von dora metrics verstehen
Sobald Sie mit der Verfolgung der DORA-Kennzahlen begonnen haben, vergleichen Sie Ihre aktuellen Daten mit Branchen-Benchmarks, die einen Kontext für Ihre Betriebsleistung bieten. Verbessern Sie sich kontinuierlich, indem Sie auf der Grundlage dieser Vergleiche inkrementelle Ziele festlegen , Trends analysieren und aus etwaigen Rückgängen bei den Kennzahlen lernen. Dieser Ansatz hilft bei der Bewertung Ihrer Leistung und fördert kontinuierliche Verbesserungen Ihrer DevOps-Praktiken.
Durch die Verbesserung oder Verringerung der DORA-Kennzahlen können Sie Einblicke in Ihre Softwarebereitstellungsleistung gewinnen. Hier sind einige Beispiele:
Metrisch | Hoch oder zunehmend | Niedrig oder abnehmend |
Bereitstellungshäufigkeit | Zeichen effizienter Entwicklungsprozesse | Mögliche Engpässe oder Ineffizienzen |
Vorlaufzeit für Änderungen | Schnelle Übertragung von Codeänderungen von der Entwicklung in die Produktion | Zeigt Bereiche für Verbesserungen und Optimierungen in der Entwicklungspipeline an |
Mittlere Wiederherstellungszeit (MTTR) | Eine kürzere MTTR ist ein Zeichen für ein belastbares und reaktionsschnelles Engineering-Team | Eine höhere MTTR kann auf Schwierigkeiten bei der zeitnahen Identifizierung und Behebung von Produktionsfehlern hinweisen |
Änderungsfehlerrate | Spiegelt eine zuverlässige und gut getestete Codebasis wider | Weist auf mögliche Probleme bei Tests oder der Qualitätskontrolle hin |
Zuverlässigkeit | Demonstriert ein stabiles und zuverlässiges Softwaresystem | Zeigt häufige Ausfälle oder Störungen an |
Durch die Einbeziehung dieser DORA-Kennzahlen in Bewertungen können Führungskräfte die Faktoren, die die Produktivität der Entwickler beeinflussen, umfassend verstehen. Mit diesem Wissen können sie fundierte Entscheidungen treffen, Verbesserungen priorisieren und eine Umgebung schaffen, die eine effiziente und effektive Softwareentwicklung fördert.
Dos and Don’ts bei der Verwendung von dora metrics
Führungskräfte sollten bei der Implementierung von dora metrics Richtlinien befolgen, um deren Beziehung zur Entwicklerproduktivität und Produktionsleistung zu verstehen youtube revanced.
Nutzen Sie DORA, um sich auf Teamebene zu verbessern.
dora metrics sind am effektivsten, wenn es darum geht, die Gesamtleistung eines Teams bei der Softwarebereitstellung zu messen , und nicht die eines Einzelnen. Die Metriken helfen dabei, die aktuelle Leistung eines Teams mit seiner früheren Leistung zu vergleichen. Durch die Bewertung der Fähigkeit eines Teams, Arbeit stabil zu produzieren und abzuliefern, sind Teams besser in der Lage, ihren Fortschritt im Laufe der Zeit zu bewerten. Diese Bewertung hilft ihnen, Verbesserungsbereiche zu identifizieren und Strategien zur Verbesserung der Effizienz umzusetzen.
Vergleichen Sie Teams nicht miteinander.
Die Verwendung von dora metrics zum Vergleich von Teams ist nicht ratsam, da diese Metriken kontextspezifisch sind und die individuellen Herausforderungen, Arbeitsabläufe und Ziele jedes Teams widerspiegeln. Solche Vergleiche können zu irreführenden Schlussfolgerungen führen und möglicherweise die Zusammenarbeit und Moral multidisziplinärer Teams untergraben, da die vielfältige Natur von Projekten und Teamdynamiken nicht berücksichtigt wird.
Verwenden Sie DORA, um Reibungsverluste bei der Softwarebereitstellung zu vermeiden.
dora metrics können Reibungsverluste bei der Softwarebereitstellung verringern, indem sie Engpässe und Ineffizienzen im Bereitstellungsprozess identifizieren, sodass Teams gezielt auf bestimmte Bereiche zur Verbesserung abzielen können. Durch die kontinuierliche Überwachung dieses Softwarebereitstellungsdurchsatzes können Unternehmen Abläufe optimieren, die Zusammenarbeit verbessern und die Markteinführungszeit verkürzen.
Verwenden Sie DORA nicht, um Produktivität oder Qualität zu messen.
Während dora metrics Ergebnisse hervorheben, identifizieren sie spezifische organisatorische Probleme nicht direkt. Organisationen müssen die Erfahrung ihrer Entwickler genau kennen, um die technische Leistung erheblich zu verbessern, und müssen die erforderlichen Fähigkeiten durch gezielte Initiativen aktiv entwickeln. dora metrics allein reichen nicht aus, um im Laufe der Zeit bedeutende Fortschritte zu erzielen, insbesondere in Hochleistungsteams.
Dora metrics und Entwicklerproduktivität
Dora metrics allein messen die Produktivität von Entwicklern nicht direkt. Sie bieten zwar wertvolle Einblicke in die Leistung von Entwicklern und die Gründe für ihre unterschiedlichen Ergebnisse, diese Metriken sind jedoch historisch und nicht prädiktiv, was sie zu nachlaufenden Indikatoren der DevOps-Leistung macht. Für einen umfassenderen Überblick über die Produktivität von Entwicklern empfiehlt sich die Verwendung von dora metrics zusammen mit anderen Methoden wie SPACE und DevEx .
Dora metrics effektiv integrieren
Der effektive Einsatz von Engineering-Metriken wie DORA umfasst deren Integration in umfassende Entwickler-Erfahrungsprogramme , die Reibungsverluste reduzieren und Fähigkeiten zur Verbesserung der Teamleistung aufbauen. Mit diesen Erkenntnissen können Unternehmen Herausforderungen identifizieren und gezielte Strategien entwickeln, um ihre Engineering-Produktivität zu steigern.
Viele handelsübliche Entwicklertools und Dashboards zur Entwicklerproduktivität umfassen die Beobachtung von dora metrics als Standardfunktion. Diese Tools sammeln Workflow-Daten aus Ihren Entwicklertool-Stacks wie GitHub , GitLab , Jira oder Linear . Mithilfe der Workflow-Daten dieser Tools können Sie Messungen für alle vier dora metrics anzeigen.
Wie DX zusammen mit dora metrics für eine bessere Softwarebereitstellung sorgt
Viele Produktivitätsteams von Entwicklern haben dora metrics implementiert, dann jedoch erkannt, dass diese lediglich Signale auf hoher Ebene liefern, sodass sie sich fragen, was sie als Nächstes tun sollen.
DX ist eine Entwickler-Intelligence-Plattform, die von den Forschern hinter DORA und SPACE entwickelt wurde. DX ist die einzige Lösung, die qualitative und quantitative Messgrößen bietet, sodass Produktivitätsleiter in der Entwicklung ihre größten Chancen erkennen und deren Auswirkungen in Geld umsetzen können.
DX bietet Tools, darunter DORA-Metrik-Dashboards, mit denen Daten aus Umfragen und Systemen regelmäßig und in Echtzeit erfasst werden können. Auf diese Tools vertrauen führende Entwicklerproduktivitätsexperten aller Phasen, von Startups wie Vercel und Brex bis hin zu Fortune 500-Unternehmen wie Pfizer und eBay. Zusätzlich zu seinen Produkten bietet DX Fachwissen in den Bereichen Implementierung, Programmdesign und Transformation , um Führungskräften dabei zu helfen, sich an veränderte Umgebungen anzupassen und Jahr für Jahr nachhaltige Wirkung zu erzielen.