Welche Key Performance Indicators (KPIs) werden zur Messung von DevOps verwendet?

13

Ich versuche, innerhalb eines DevOps-Transformationsprogramms ein gutes Verhalten zu erzielen, um dies zu unterstützen, suche ich nach umsetzbaren Metriken in den Betriebsdisziplinen:

  • Problem- und Incident-Management
  • Kapazitätsmanagement
  • Änderungs- und Freigabemanagement

Um ganz klar zu sein, es handelt sich hierbei um Funktionen, die früher zur Betriebsorganisation gehörten und jetzt der Agile / DevOps-Organisation gehören. Es gibt folgende KPIs, die zu einem schlechten Verhalten führen:

  • Zeit bis zur Ursachenanalyse abgeschlossen:
    • Führt unvollständige RCAs aus, um sie rechtzeitig ins System zu bringen.
  • Testdurchführungsdauer:
    • Deaktiviert Tests mit langer Laufzeit, unabhängig von ihrem geschäftlichen Nutzen.
  • Durchschnittliche Auslastung von Cloud-Diensten:
    • Fördert die Überbeanspruchung von Rechenressourcen, was zu langsamen Antwortzeiten führt

Welche Key Performance Indicators können verwendet werden, um ein gutes Verhalten in einem DevOps-Programm zu fördern?

Richard Slater
quelle
1
Sie haben das inhärente Problem mit allen KPIs gefunden. Die Menschen werden arbeiten , um die Leistung zu maximieren Indikatoren statt Maximierung der tatsächlichen Leistung . Metriken geben den Leuten eine Punktzahl, die sie erreichen können, und sie werden es auch tun, wenn sie ihre Arbeit gut machen.
Adrian
@Adrian Ich stimme zu, aber es gibt bestimmte KPIs, wie z. B. die Zykluszeit, die von Natur aus schwierig zu spielen sind.
Richard Slater
Wahr. Trotzdem werden selbst diejenigen, die schwer zu spielen sind, zu einer Optimierung des KPIs führen, der im Allgemeinen nicht optimal sein kann, oder einfach die KPIs bevorzugen, die gespielt werden können. Ich habe nur sehr wenige Möglichkeiten gefunden, die DevOps-Leistung automatisch mit Metriken zu messen. Es ist meist subjektiv und erfordert persönliche Beobachtung und Engagement.
Adrian
Das ist kein DevOps, es ist ITIL haha
Gaius

Antworten:

12

Ich glaube nicht, dass es "universelle" DevOps-KPIs gibt. Zum Beispiel ist die Geschwindigkeit großartig, es sei denn, sie ist kein Schlüsseltreiber für Ihr Unternehmen. Amazon ist die Geschwindigkeit ein wichtiges Anliegen, da sie einen massiven Einzelhandelsbetrieb haben. Für eine kleine App mit 100 Nutzern ist das weniger wichtig.

Dies wirft die Frage auf: Wie wählen Sie die besten für Ihr Unternehmen relevanten KPIs aus? Dies ist ein Forschungs- und Entdeckungsprozess, an dem Ihr gesamtes Unternehmen beteiligt ist.

Was interessiert Sie?

  • Qualität
  • Verlässlichkeit
  • Wartbarkeit
  • Geschwindigkeit
  • Prozessverbesserung
  • Service Levels

Was hält Ihre Geschäftsakteure nachts auf? Was bestimmt, ob Sie in diesem Quartal Geld verdienen oder nicht? Die obige Liste kann einige dieser Dinge enthalten oder auch nicht. Machen Sie Ihre Liste und finden Sie heraus, wie Sie die Anreize für jede Abteilung aufeinander abstimmen können , um sie zu erreichen.

Anreize fördern das Verhalten, also entscheiden Sie gemeinsam über SMART-Ziele. Wählen Sie zwei oder drei Elemente aus Ihrer Brainstorming-Liste aus und starten Sie jeweils einen Mess- / Korrektur-Feedback-Zyklus. Wählen Sie nicht zu viele auf einmal aus - es ist wahrscheinlicher, dass Sie Erfolg haben, wenn Sie sich auf zwei oder drei Dinge konzentrieren.

Dave Swersky
quelle
2

DevOps hat keinen KPI . Es wäre, als würde man fragen, was der KPI der Liebe ist. Einige der von Ihnen erwähnten Dinge ( Problem- und Incident-Management , Kapazitätsmanagement , Change- und Release-Management ) haben jedoch gute KPIs, von denen einige auf der Theorie hinter DevOps basieren.

Im Allgemeinen können Sie für jeden Geschäftsprozess eine Wertschöpfungskette erstellen, die beschreibt, wie der Wert vom Kunden über das Unternehmen zurück zum Kunden fließt . Die gesamte Schleife muss immer mit dem Kunden beginnen und enden, aber manchmal kann der Kunde für eine Serviceorganisation intern sein. Der Wertdurchsatz durch eine solche Kette kann eine gute Möglichkeit sein, Ihren KPI manipulationssicher zu gestalten. Das Messen eines KPIs in einem einzelnen Glied der Wertschöpfungskette ist nur sinnvoll, wenn dieses Glied der Engpass des Prozesses ist und Sie versuchen, den Engpass auszunutzen oder zu erhöhen.

Ein häufig auftretendes Problem bei KPI ist der Start in der Mitte der Kette. Beispielsweise beginnt ein Change and Release-Prozess häufig mit Entwicklern und endet mit der Bereitstellung. Dieser Prozess schloss aus:

  • Kunde hat ein Problem
  • Support-Team identifiziert die Probleme
  • Produktteam, das das Problem für den Rückstand definiert
  • Das Lösungsteam passt die Bereitstellung an den Kunden an
  • Kunden, die Wert aus der Lösung ziehen

Das Problem ist, dass das Messen einer Zykluszeit allein zu zwei Hauptproblemen führen kann:

  1. Der Engpass liegt in einem der oben genannten ausgeschlossenen Teile, und Ihre Kunden erkennen den Wert nicht und Sie realisieren den Umsatz nicht proportional zur Geschwindigkeit Ihrer Zykluszeit. Während Ihr Engineering also hervorragend ist, leidet Ihr Geschäft.

  2. Die Trennung von Kunden bewirkt, dass Ihr Release-Zyklus leer läuft - und trotz vorgenommener Änderungen keinen Wert erzielt - oder sogar den Anforderungen Ihrer Kunden entgegenwirkt und die auszuführende Arbeit möglicherweise einen negativen Geschäftswert hat.

Ein weiteres Problem mit KPI besteht darin, dass beim Starten und Beenden mit einem Kunden möglicherweise nicht der tatsächliche Wert für den Kunden gemessen wird. Ein gutes Beispiel wäre ein Problem- und Incident-Response-Prozess und MTTR (Mean Time To Repair) als KPI. Betrifft das Problem überhaupt jemanden? Was ist der Wert für die Kunden? Sie könnten eine hervorragende MTTR von 3 Stunden über 100 Vorfälle haben. Aber wenn die meisten von ihnen intern waren, keine oder nur minimale Auswirkungen auf die Kunden hatten und in Minutenschnelle behoben wurden, während der eine große Vorfall mit enormen Auswirkungen auf die Kunden 3 Tage in Anspruch nahm, ist der Geschäftswert niedriger als wenn Sie 1 Tag MTTR hatten, weil Sie Ignorieren Sie die meisten internen Vorfälle, aber Sie haben innerhalb von 1 Stunde auf den großen Vorfall mit Kundenauswirkungen reagiert.

HINWEIS: Für einen internen Kunden ist im Fall des Geschäftsprozesses des Supportteams der abgeleitete Wert nicht der Wert der Arbeit für den internen Kunden, sondern der Wert, den das Unternehmen durch die Freigabe des internen Kunden in seinem eigenen Geschäftsprozess erzielt. Das Entsperren eines Teams, das in seinem eigenen Prozess einen Engpass darstellt, hat einen höheren Wert als das Entsperren eines Teams oder einer Einzelperson, die keinen Engpass aufweist. Alle KPIs eines solchen Support-Teams müssen den Geschäftswert in ihre Berechnung einbeziehen.

Jiri Klouda
quelle
0
  1. Bereitstellungshäufigkeit
  2. Geschwindigkeit der Bereitstellung
  3. Erfolgsquote bei der Bereitstellung
  4. Wie schnell Dienst kann nach einem missglückten Einsatz wieder hergestellt werden
    und schließlich
  5. DevOps Culture, die eigentlich nicht messbar ist
Bibin Joseph
quelle
5.DevOpsCulture, which actually can’t be measured=> mache einen anonymen Fragebogen für alle Beteiligten und frage sie, wie sie sich dabei fühlen. Dies wird Ihnen sicherlich sagen, ob Sie einen Prozess haben, der von Ihrem Volk gelebt wird, oder ob viele Menschen auf halbem Weg zur Tür stehen ...
AnoE