Änderungsfehlerrate verstehen

Von Alex Circei, CEO und Mitbegründer von Waydev.

Die Change Failure Rate (CFR) ist eine Metrik, die misst, wie oft Fehler oder Probleme bei Kunden nach einer Produktionsbereitstellung auftreten. Die Rate, mit der Änderungen erfolglos bereitgestellt werden, wird als Änderungsfehlerrate bezeichnet. Die Änderungsfehlerrate ist wie andere DORA-Metriken ein Indikator für den Entwicklungsstand und die Qualität einer Organisation oder eines Teams. Die Erfolgsquote eines Übergangs ist das Thema dieses Artikels. Diese Statistik macht es einfacher, die Zeit zu verstehen, die für die Lösung von Problemen aufgewendet wurde. Sie können ein Verständnis für seine Quantisierungs- und Dämpfungstechniken gewinnen.

Was sind DORA-Metriken?

DORA-Metriken identifizieren vier Kennzahlen, die eng mit dem Erfolg verbunden sind, und diese Metriken dienen als Maßstab, anhand dessen DevOps-Organisationen ihre Leistung bewerten können. Bereitstellungsrate, Änderungsfehlerrate, Wiederherstellungszeit und durchschnittliche Zeit sind die vier zu verfolgenden Metriken. Das Feedback von 31.000 Experten auf der ganzen Welt, die an einer sechsjährigen Umfrage teilgenommen haben, hat geholfen, diese Trends zu erkennen.

Für jeden Indikator hat das DORA-Team auch Leistungskriterien festgelegt, die die Qualitäten der Teams „Elite“, „High-Performing“, „Medium-Performing“ und „Low-Performing“ beschreiben.

Wie hoch ist die Änderungsfehlerrate?

Wenn Sie die Anzahl der Vorfälle durch die Gesamtzahl der Bereitstellungen dividieren, erhalten Sie die Änderungsfehlerrate, d. h. den Prozentsatz der Bereitstellungen, die in der Produktion fehlschlagen. Als Ergebnis können Betreuer sehen, wie viel Zeit damit verbracht wird, Fehler im ausgelieferten Code zu beheben. Das Erreichen einer Änderungsfehlerrate von 0 % bis 15 % ist normalerweise für DevOps-Teams erreichbar.

Es wird immer Fehler geben, da ständig neue Funktionen und Fehlerbehebungen auf die Live-Server übertragen werden. Diese Fehler können manchmal ziemlich trivial sein oder katastrophale Ausfälle verursachen. Es ist wichtig, sich daran zu erinnern, dass dies kein Grund ist, einer Person oder Gruppe die Schuld zu geben, aber technische Manager sollten im Auge behalten, wie oft solche Dinge passieren.

Wie wirkt sich ein hoher CFR auf ein Unternehmen aus und wie können Sie ihn minimieren?

Sie benötigen den Datensatz, der auf dem Armaturenbrett eines Autos angezeigt wird, um routinemäßige Wartungsarbeiten durchzuführen, genauso wie Sie einen Satz von Metriken benötigen, um zu wissen, wann mit Ihrem Code alles in Ordnung ist, und einen anderen Satz, um zu wissen, wenn etwas nicht stimmt. Die kollektive Nutzung von Metriken ist ihrer Anwendung vorzuziehen. Die Geschwindigkeit, mit der Ihre Änderungen nicht wirksam werden, ist ein verzögerter Indikator für Probleme in Ihrem Entwickler-Workflow. Wenn Ihre Entwicklungsteams eine hohe Rate fehlgeschlagener Änderungen feststellen, müssen sie möglicherweise ihre PR-Überprüfungsverfahren neu bewerten.

Sie können Ihren CFR senken, indem Sie ein paar verschiedene Schritte unternehmen. Es ist möglich, einige während der Entwicklung zu implementieren; Diese konzentrieren sich auf Tests und Automatisierung. Die Bereitstellungsphase umfasst auch zusätzliche Metriken wie Infrastruktur als Code, Bereitstellungstechniken und Funktionalitätsmetriken.

Testen verbessern.

Fehler treten weniger wahrscheinlich auf, wenn die Codequalität verbessert wird. Wenn Sie Code mit besserer Qualität wünschen, ist besseres Testen ein Muss. Dies erfordert eine umfassende Reihe von Tests für Ihren Anwendungscode. Unit-Tests sind die grundlegendste Art von Tests und ihr Zweck besteht darin, sicherzustellen, dass bestimmte Verfahren oder Teile einer größeren Gesamtfunktion wie erwartet sind.

Integrationstests sind die nächste Testebene und verifizieren die Interoperabilität der verschiedenen Systemkomponenten. Es besteht auch Uneinigkeit darüber, ob Integrationstests natürliche Upstream-Systeme oder Sandbox-Systeme verwenden sollten oder nicht. Während Ersteres eine Bereitstellung in einer realistischeren Umgebung simulieren kann, gibt Letzteres den Testern mehr Spielraum, um unerwartete Ergebnisse zu simulieren.

End-to-End-Tests ermöglichen es Ihnen, echte Benutzeraktionen in einem voll funktionsfähigen Framework zu simulieren. Dies geschieht normalerweise, bevor der Code als geeignet für die Bereitstellung angesehen wird, oder als Teil des Testprozesses, nachdem eine Bereitstellung stattgefunden hat. In beiden Fällen validieren diese Tests ganze Arbeitsabläufe.

Testen automatisieren.

Testautomatisierung oder...

Änderungsfehlerrate verstehen

Von Alex Circei, CEO und Mitbegründer von Waydev.

Die Change Failure Rate (CFR) ist eine Metrik, die misst, wie oft Fehler oder Probleme bei Kunden nach einer Produktionsbereitstellung auftreten. Die Rate, mit der Änderungen erfolglos bereitgestellt werden, wird als Änderungsfehlerrate bezeichnet. Die Änderungsfehlerrate ist wie andere DORA-Metriken ein Indikator für den Entwicklungsstand und die Qualität einer Organisation oder eines Teams. Die Erfolgsquote eines Übergangs ist das Thema dieses Artikels. Diese Statistik macht es einfacher, die Zeit zu verstehen, die für die Lösung von Problemen aufgewendet wurde. Sie können ein Verständnis für seine Quantisierungs- und Dämpfungstechniken gewinnen.

Was sind DORA-Metriken?

DORA-Metriken identifizieren vier Kennzahlen, die eng mit dem Erfolg verbunden sind, und diese Metriken dienen als Maßstab, anhand dessen DevOps-Organisationen ihre Leistung bewerten können. Bereitstellungsrate, Änderungsfehlerrate, Wiederherstellungszeit und durchschnittliche Zeit sind die vier zu verfolgenden Metriken. Das Feedback von 31.000 Experten auf der ganzen Welt, die an einer sechsjährigen Umfrage teilgenommen haben, hat geholfen, diese Trends zu erkennen.

Für jeden Indikator hat das DORA-Team auch Leistungskriterien festgelegt, die die Qualitäten der Teams „Elite“, „High-Performing“, „Medium-Performing“ und „Low-Performing“ beschreiben.

Wie hoch ist die Änderungsfehlerrate?

Wenn Sie die Anzahl der Vorfälle durch die Gesamtzahl der Bereitstellungen dividieren, erhalten Sie die Änderungsfehlerrate, d. h. den Prozentsatz der Bereitstellungen, die in der Produktion fehlschlagen. Als Ergebnis können Betreuer sehen, wie viel Zeit damit verbracht wird, Fehler im ausgelieferten Code zu beheben. Das Erreichen einer Änderungsfehlerrate von 0 % bis 15 % ist normalerweise für DevOps-Teams erreichbar.

Es wird immer Fehler geben, da ständig neue Funktionen und Fehlerbehebungen auf die Live-Server übertragen werden. Diese Fehler können manchmal ziemlich trivial sein oder katastrophale Ausfälle verursachen. Es ist wichtig, sich daran zu erinnern, dass dies kein Grund ist, einer Person oder Gruppe die Schuld zu geben, aber technische Manager sollten im Auge behalten, wie oft solche Dinge passieren.

Wie wirkt sich ein hoher CFR auf ein Unternehmen aus und wie können Sie ihn minimieren?

Sie benötigen den Datensatz, der auf dem Armaturenbrett eines Autos angezeigt wird, um routinemäßige Wartungsarbeiten durchzuführen, genauso wie Sie einen Satz von Metriken benötigen, um zu wissen, wann mit Ihrem Code alles in Ordnung ist, und einen anderen Satz, um zu wissen, wenn etwas nicht stimmt. Die kollektive Nutzung von Metriken ist ihrer Anwendung vorzuziehen. Die Geschwindigkeit, mit der Ihre Änderungen nicht wirksam werden, ist ein verzögerter Indikator für Probleme in Ihrem Entwickler-Workflow. Wenn Ihre Entwicklungsteams eine hohe Rate fehlgeschlagener Änderungen feststellen, müssen sie möglicherweise ihre PR-Überprüfungsverfahren neu bewerten.

Sie können Ihren CFR senken, indem Sie ein paar verschiedene Schritte unternehmen. Es ist möglich, einige während der Entwicklung zu implementieren; Diese konzentrieren sich auf Tests und Automatisierung. Die Bereitstellungsphase umfasst auch zusätzliche Metriken wie Infrastruktur als Code, Bereitstellungstechniken und Funktionalitätsmetriken.

Testen verbessern.

Fehler treten weniger wahrscheinlich auf, wenn die Codequalität verbessert wird. Wenn Sie Code mit besserer Qualität wünschen, ist besseres Testen ein Muss. Dies erfordert eine umfassende Reihe von Tests für Ihren Anwendungscode. Unit-Tests sind die grundlegendste Art von Tests und ihr Zweck besteht darin, sicherzustellen, dass bestimmte Verfahren oder Teile einer größeren Gesamtfunktion wie erwartet sind.

Integrationstests sind die nächste Testebene und verifizieren die Interoperabilität der verschiedenen Systemkomponenten. Es besteht auch Uneinigkeit darüber, ob Integrationstests natürliche Upstream-Systeme oder Sandbox-Systeme verwenden sollten oder nicht. Während Ersteres eine Bereitstellung in einer realistischeren Umgebung simulieren kann, gibt Letzteres den Testern mehr Spielraum, um unerwartete Ergebnisse zu simulieren.

End-to-End-Tests ermöglichen es Ihnen, echte Benutzeraktionen in einem voll funktionsfähigen Framework zu simulieren. Dies geschieht normalerweise, bevor der Code als geeignet für die Bereitstellung angesehen wird, oder als Teil des Testprozesses, nachdem eine Bereitstellung stattgefunden hat. In beiden Fällen validieren diese Tests ganze Arbeitsabläufe.

Testen automatisieren.

Testautomatisierung oder...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow