Eine Woche ist vergangen, seit Ivan zum ersten Mal über DevOps-Metriken nachgedacht hat und erkannt hat, dass sie mit ihrer Hilfe die Produktlieferzeit (Time-to-Market) verwalten
müssen .
Sogar am Wochenende dachte er über Metriken nach: „Also, was messe ich die Zeit? Was wird es mir geben? "
Was wird das Wissen über die Zeit in der Tat geben? Angenommen, die Lieferung dauert 5 Tage. Und was dann? Ist das gut oder schlecht? Auch wenn dies schlecht ist, müssen Sie diese Zeit irgendwie reduzieren. Aber wie?
Diese Gedanken gaben ihm keine Ruhe, aber es kam keine Lösung.
Ivan verstand, dass er sich dem Wesen genähert hatte. Die unzähligen Diagramme von Metriken, die er zuvor gesehen hatte, hatten ihn vor langer Zeit davon überzeugt, dass der Standardansatz nicht funktionieren würde und dass es keinen Sinn hätte, wenn Sie nur ein Diagramm (
sogar ein Kohortendiagramm ) erstellen würden.
Wie soll man sein? ...
Metrisch ist wie ein gewöhnliches Holzlineal. Mit seiner Hilfe durchgeführte Messungen geben keinen Aufschluss darüber,
warum das gemessene Objekt genau die Länge hat, die es angezeigt hat. Die Linie zeigt einfach ihre Größe und nicht mehr. Es ist kein Stein der Weisen, sondern einfach ein Holzbrett, das gemessen wird.
Die "Edelstahlratte" seines geliebten Schriftstellers Harry Harrison sagte immer: Der Gedanke sollte den Grund des Gehirns erreichen und dort liegen, also beschloss Ivan, mehrere Tage lang eine andere Aufgabe zu erledigen, ohne Ergebnis ...
Nach ein paar Tagen, als Ivan einen Artikel über Online-Shops las, wurde ihm plötzlich klar, dass der Geldbetrag, den ein Online-Shop erhält, davon abhängt, wie sich der Website-Besucher verhält. Sie, die Besucher / Kunden, geben dem Geschäft ihr Geld und sind ihre Quelle. Der Gesamtbetrag des vom Geschäft erhaltenen Bargeldes wird durch Änderungen des Kundenverhaltens und nicht durch etwas anderes beeinflusst.
Es stellte sich heraus, dass es zur Änderung des gemessenen Wertes notwendig war, diejenigen zu beeinflussen, die diesen Wert bilden, d.h. Um den Geldbetrag zu ändern, den ein Online-Shop hatte, um das Verhalten der Kunden dieses Shops zu beeinflussen, und um die Lieferzeit in DevOps zu ändern, war es notwendig, die Teams zu beeinflussen, die diese Zeit „erstellen“, d. h. Verwenden Sie DevOps in ihrer Arbeit.
Ivan erkannte, dass DevOps-Metriken überhaupt keine Grafiken darstellen sollten. Sie sollten ein
Werkzeug sein, um „herausragende“ Teams zu finden, die die endgültige Lieferzeit bilden.
Keine Metrik wird jemals den Grund zeigen, warum dieses oder jenes Team die Distribution schon lange liefert, dachte Ivan, denn in Wirklichkeit gibt es möglicherweise eine Million und einen kleinen Wagen, und sie sind möglicherweise nicht technisch, sondern organisatorisch. Das heißt, Das Maximum, das Sie von den Metriken erwarten können, besteht darin, die Teams und ihre Ergebnisse anzuzeigen. Dann müssen Sie immer noch mit den Füßen zu diesen Teams gehen und herausfinden, was mit ihnen passiert ist.
Auf der anderen Seite gab es in Iwans Firma einen Standard, der alle Teams dazu zwang, Baugruppen an mehreren Ständen zu überprüfen. Das Team konnte nicht zum nächsten Stand wechseln, bis der vorherige abgeschlossen war. Es stellte sich heraus, dass, wenn Sie sich den DevOps-Prozess als eine Folge von vorbeifahrenden Ständen vorstellen, die Metriken die Zeit anzeigen könnten, die die Teams auf diesen Ständen verbracht haben. Da man den Stand und die Zeit des Teams kannte, war es möglich, genauer mit ihr über die Gründe zu sprechen.
Ohne zu zögern nahm Ivan den Hörer ab und wählte die Nummer einer Person, die sich mit den Interna von DevOps auskennt:
- Denis, sag mir bitte, ist es möglich zu verstehen, dass das Team diesen oder jenen Stand bestanden hat?
- Natürlich. Unsere Jenkins lassen die Flagge fallen, wenn die Baugruppe erfolgreich auf dem Stand ausgerollt wurde (den Test bestanden hat).
- Super. Was ist eine Flagge?
- Dies ist eine reguläre Textdatei vom Typ "stand_OK" oder "stand_FAIL", die besagt, dass die Baugruppe den Stand bestanden hat oder nicht. Nun, du verstehst es, richtig?
- Im Prinzip ja. Wird es in denselben Ordner im Repository geschrieben, in dem sich die Assembly befindet?
- ja
- Und was passiert, wenn die Versammlung den Stand nicht passiert hat? Müssen Sie eine neue Montage durchführen?
- Ja
- Okay, danke. Und noch eine Frage: Verstehe ich richtig, dass ich das Erstellungsdatum der Flagge als Datum für den Durchgang des Standes verwenden kann?
- Auf jeden Fall!
- Super!
Ermutigt legte Ivan den Hörer auf und stellte fest, dass alles zusammenpasste. Bei Kenntnis des Erstellungsdatums der Baugruppendatei und des Erstellungsdatums der Flaggen konnte mit einer Genauigkeit von bis zu einer Sekunde berechnet werden, wie viel Zeit die Teams auf jedem Stand verbringen und wo sie am meisten Zeit verbringen.
"Wenn wir verstehen, wohin die meiste Zeit geht, werden wir die Teams Punkt für Punkt finden, zu ihnen gehen und ein Problem ausgraben." Ivan lächelte.
Für morgen stellte er sich die Aufgabe, die Architektur des gezeichneten Systems zu skizzieren.
Fortsetzung folgt…