Zurück zur Übersicht

Fachbeitrag, 20. Januar 2023

Weil es sich lohnt

Eine hohe Software Delivery Performance ist kein Selbstzweck, sondern maßgeblicher Faktor für den wirtschaftlichen Erfolg eines Unternehmens. Dieser Beitrag erklärt, warum das so ist.

Weil es geht

In der DevOps-Szene ist die Anzahl der täglichen Deployments eine bedeutsame Performance-Kennzahl. Teams mit hoch optimierten Deployment-Pipelines berichten gerne und nicht ohne sichtbaren Stolz, dass sie neue Versionen auf Knopfdruck innerhalb weniger Minuten ausliefern können und dies auch gerne mehrmals am Tag tun. Auf der anderen Seite begegnen mir auch immer wieder Teams, die mich bei dem Hinweis auf tägliche Deployments verwirrt anschauen und fragen, warum sie das tun sollten. Dies ist insbesondere bei Teams so, die es gewohnt sind, monatlich oder nur einmal im Quartal auszuliefern.

Die Deployment-Frequenz ist eine von vier Key Metriken (Four Key Metrics), die ich im Beitrag https://codekeepers.de/magazin/laesst-sich-software-delivery-performance-messen genauer beschrieben habe. Zusammen mit den anderen drei Metriken Lead Time, Mean Time to Restore und Change Failure Rate bilden sie die Basis für die Messung der Liefer-Performance von Software-Teams.

Software Delivery Performance forciert Geschäftserfolg

Software Delivery Performance ist kein Selbstzweck, sondern Mittel zum Zweck. Letztendlich geht es bei fast jeder Unternehmung um das Generieren von Wert. Software kommt bei dieser Generierung von Wert fast immer nur ein unterstützender Charakter zu. Diese Feststellung führt zu der im ersten Teil dieser Beitragsreihe formulierten Ausgangsfrage, ob Software Delivery Performance mit der Generierung von Geschäftswert korreliert.

Zur Beantwortung dieser Frage haben die drei IT-Wissenschaftler*innen Nicole Forsgren, Jez Humble und Gene Kim nicht nur die vier Schlüsselmetriken abgefragt, sondern darüber hinaus Fragen zur Geschäftsperformance des Unternehmens gestellt: Profitabilität, Marktanteil, Produktivität. Die über mehrere Jahre durchgeführte Studie kam zu dem Ergebnis, das Unternehmen mit sehr guter Software Delivery Performance (High Performer) ihre Geschäftsziele mit doppelter Wahrscheinlichkeit erreichen und überschreiten, als Unternehmen mit schlechter Software Delivery Performance (Low Performer). Darüber hinaus erreichen bzw. überschreiten High Performer die weniger gewinnorientierten Ziele, wie Kundenzufriedenheit oder Produkt- und Service-Qualität, mit einer ähnlich höheren Wahrscheinlichkeit als Low Performer. Ausgehend von diesen beiden Ergebnissen lässt sich die Eingangsfrage klar mit Ja beantworten: Eine hohe Software Delivery Performance hat maßgeblichen Einfluss auf den Geschäftserfolg eines Unternehmens. Warum ist das so?

Schnelles Feedback verbessert Produkte

Unternehmen sind dann erfolgreich, wenn sie gute Produkte anbieten, d.h. Produkte, die den Kund*innen gefallen. Um rauszukriegen, welche Produkteigenschaften den Kund*innen gefallen, benötigt ein Unternehmen deren Feedback. Eine hohe Deployment-Frequenz und kurze Lead Times sind Maßnahmen zur Verbesserung des Feedback-Prozess.

Deployment Frequency ist dabei eine Stellvertretermetrik für Batch-Size, ein zentrales Element des Lean-Paradigmas. Batch-Size steht für die Größe der ausgelieferten Features. Kleine Batch-Sizes, d.h. kleine Features, werden schneller fertig und können schneller geliefert werden. Entsprechend können Kund*innen früher Feedback geben und das Risiko zu weit in die falsche Richtung gelaufen zu sein sinkt. Da sich Batch-Size nur schwer messen und Kontext-übergreifend vergleichen lässt, haben sich die Forscher*innen für Deployment Frequency entschieden: Teams, die mehrmals die Woche deployen liefern ganz offensichtlich kleinere Batches aus, als Teams, die nur einmal im Monat deployen.

Lead Time ist ein weiteres zentrales Element des Lean Software-Developments und beschreibt die Zeit vom Entstehen einer Anforderung bis zu deren Auslieferung. Die Forscher*innen wandeln diese Kenngröße leicht ab und bezeichnen mit Lead Time die Zeit vom letzten Commit eines Features bis hin zu dessen Auslieferung in Produktion. Ähnlich wie für kleine Batch-Sizes gilt für Lead Times: Kurze Lead Times ermöglichen schnelles Feedback und das schnelle Ausliefern von Fixes, nachdem Fehler aufgetreten sind.

Ergo: Eine hohe Deployment-Frequenz kombiniert mit kurzen Lead Times führt zu besseren Produkten, zufriedeneren Kund*innen, mehr Verkäufen und damit zu größerem wirtschaftlichen Erfolg.

Qualität und Stabilität macht Kund*innen zufrieden

Während eine hohe Deployment-Frequenz und kurze Lead Times dazu beitragen das zu liefern, was Kund*innen wollen, sorgen die beiden anderen Schlüssel-Metriken Change Failure Rate und Mean Time to Restore für hohe Qualität und Stabilität der gelieferten Features. Je geringer die Fehlerrate, desto höher ist die Qualität der Software und des zugrundeliegenden Lieferprozesses. Neue Features, die ausschließlich Verbesserungen enthalten, dabei aber nichts kaputt machen, steigern die Zufriedenheit der Benutzenden.

Aber auch den besten Entwicklungsteams passieren Fehler. Und wenn sie passieren, dann geht es darum sie schnell zu beheben. Die Metrik Mean Time to Restore beschreibt die mittlerer Zeit, die ein Team für die Beseitigung eines Fehlers benötigt. Je kürzer diese Zeit ist, desto zufriedener sind die Kund*innen. Das Vertrauen zum Unternehmen wächst.

Weil es sich lohnt

Die beste Antwort auf die Frage, warum ein Team häufig deployen sollte, ist nicht, weil es geht, sondern weil es sich lohnt. Die kontinuierliche Verbesserung der Software unter Einbeziehung von konkretem Kund*innen-Feedback trägt dazu bei, dass Unternehmen das liefern, was ihre Kund*innen wollen. Geschieht dies zudem in gleichbleibend hoher Qualität steigt die Kund*innen-Bindung, was sich zusätzlich positiv auf den Geschäftserfolg des Unternehmens auswirkt.

Autor:

Ralf Wirdemann
Software-Entwickler
  • Schwerpunkt Go und Java

  • Software-Architektur und -Modernisierung

  • Autor und Vortragender

Auch spannend