Bei vielen Talks und Artikeln, die sich mit der Skalierung der Softwareentwicklung beschäftigen, kann man eine grundlegende Verbesserung, abseits von anekdotischen Schilderungen, meist nur schwer erkennen. Vielmehr bleibt oft eher die Frage: Hilft das wirklich?
Ganz anders verhält es sich bei den Erkenntnissen, die Forsgren, Humble & Kim im Buch “Accelerate” 1 beschreiben: Hier wurde auf Basis von groß angelegten Umfragen ermittelt, welche Eigenschaften mit hoch performanten Softwareentwicklungs-Teams korrelieren und welche nicht.
Das ist deshalb so interessant, weil hier nicht einfach “Um Ziel X zu erreichen, mache A, B und/oder C” gefordert wird, sondern weil auf Basis großer umfragebasierten Studien wissenschaftlich fundierte Beobachtungen beschrieben werden, aus denen sich jedoch wichtige Schlüsse für die moderne Softwareentwicklung ziehen lassen.
Die 4 Key-Metriken erfolgreicher Softwareentwicklungs-Teams
Grob zusammengefasst haben die Autoren festgestellt, dass die Top-Performer unter den Softwareentwicklungs-Teams in 4 zentralen Metriken um Größenordnungen besser gegenüber Low-Performern abschneiden (die folgenden Daten beziehen sich auf die entsprechende 2017 durchgeführte Studie):
Deploymenthäufigkeit: Top-Performer deployen im Schnitt 46 mal häufiger
Lead time: Die Zeit zwischen Commit (Feature ist fertig entwickelt) und Deploy (Feature geht live in Produktion) ist im Schnitt um das 440-fache schneller
Mean time to recover: Die Zeit, um einen ausgefallenen Service nach einem Fehler wiederherzustellen, ist im Schnitt um das 170-fache schneller
Change failure rate: Der Anteil der Deployments mit schwerwiegenden Fehlern war bei Low-Peformen fünf mal so hoch wie bei Top-Performern
Zusammengefasst lässt sich also sagen, dass Top Perfomer es schaffen, öfter, schneller und mit höherer Qualität Software auszuliefern.
Aus diesem Grund sind diese vier Key-Metriken so wichtig, wenn es um die initiale Bewertung der Situation in Softwareentwicklungs-Teams geht. Oft haben Teams, die mit steigender Komplexität in der Softwareentwicklung kämpfen, mit mindestens einer der Metriken ihre Probleme und hinken Top-Performern deutlich hinterher.
Was man daraus lernen kann
Die vier Key-Metriken liefern einen ersten Ansatzpunkt, um die eigene Situation einzuschätzen. Des Weiteren haben die Autoren 24 Eigenschaften und Fähigkeiten ermittelt, die statistisch signifikant zu einer Verbesserung der Software-Entwicklungsgeschwindigkeit beitragen. Diese werden wir in einem der kommenden Artikel näher vorstellen.
Was sie aber - so nebenbei - auch festgestellt haben, ist dass manche Maßnahmen, die in den vergangenen Jahren gerne als vermeintliches Erfolgsrezept genutzt wurden, nicht mit Verbesserungen korrelieren:
-
Das Alter und die verwendete Technologie der Applikation
-
Ob Deployments vom Entwicklungsteam oder einem dedizierten Operations-Team durchgeführt werden
-
Ob Changes von jemandem außerhalb des Teams (Change Approval Board o.ä.) abgesegnet werden - hier ist es sogar so, dass ein umso schwergewichtiger Prozess direkt negativ mit der Performance korreliert!
Mehr Details finden sich im entsprechenden Buch “Accelerate: Building and Scaling High Performing Technology Organizations” 1.