Entwicklerproduktivität messen

Und es geht doch!

Kommentar  24.11.2023
Von  und
Chandra Gnanasambandam ist Senior-Partnerin in McKinseys Silicon-Valley-Office.
Martin Harrysson ist Senior-Partner in McKinseys Silicon-Valley-Office.
Die Effizienz und Effektivität von Softwareentwicklern zu messen, galt jahrzehntelang als unmöglich. In diesem Beitrag berichten zwei McKinsey-Berater, wie es gehen könnte.
Vielen Unternehmen gefällt es nicht, dass sie die Tätigkeiten ihrer Softwareentwickler so wenig durchblicken. McKinsey glaubt, Abhilfe schaffen zu können.
Vielen Unternehmen gefällt es nicht, dass sie die Tätigkeiten ihrer Softwareentwickler so wenig durchblicken. McKinsey glaubt, Abhilfe schaffen zu können.
Foto: Emilia Dragomir - shutterstock.com

Auf der Grundlage unserer Arbeit mit vielen Unternehmen aus verschiedenen Branchen glauben wir ein Verfahren gefunden zu haben, mit der wir die Produktivität von Softwareentwicklern messen können. Vor drei Jahren hat McKinsey die Developer Velocity in 440 großen Unternehmen untersucht. Es zeigte sich, dass ein klarer Zusammenhang zwischen der Leistungsfähigkeit der Softwareentwickler und dem Erfolg eines Unternehmens besteht. Das gilt für Technologieunternehmen genauso wie für andere Branchen: Etwa die Hälfte aller Softwareingenieure weltweit arbeitet derzeit außerhalb der Technologiebranche.

Wir zählen gegenwärtig weltweit etwa 27 Millionen Entwickler, davon 4,4 Millionen in den Vereinigten Staaten. Das US Bureau of Labor Statistics sagt vorher, dass die Zahl zwischen 2021 und 2031 um weitere 25 Prozent steigen wird. In Anbetracht des rasanten Aufstiegs von Generative AI könnte der globale Bedarf an Developern deutlich darüber liegen.

Führungskräfte müssen Qualitäten der Devs kennen

All diese Erkenntnisse führen zu einer einfachen Schlussfolgerung: Führungskräfte müssen genau wissen, wie sie ihre Softwareentwicklungs-Talente bestmöglich einsetzen. Das ist nicht einfach, da Softwareentwicklung heute nicht nur ein kreativer, sondern auch ein kollaborativer Prozess ist. Eine objektiv vernünftige Relation zwischen Aufwand und Ertrag sicherzustellen, ist nicht trivial. Viele Unternehmen sind schon daran gescheitert, System-, Team- und individuelle Produktivität zu messen.

Bekannte Metriken, etwa die Häufigkeit von Deployments, können helfen, den Output von Teams nachzuverfolgen, aber nicht den von Einzelpersonen. Es ist also kompliziert. Aber wir glauben, dass es machbar ist, zumal wir mit 20 Technologie-, Finanz- und Pharmaunternehmen zusammenarbeiten, die dies bereits tun. Die Ergebnisse sind noch nicht hundertprozentig vertrauenswürdig, aber doch vielversprechend. Die besagten Betriebe konnten nach unseren Berechnungen die Fehlerquote im Durchschnitt um 20 bis 30 Prozent senken, und die Kundenzufriedenheit um 60 Prozent erhöhen.

Und so funktioniert es

Wir bedienen uns zunächst einmal zweier etablierter Metriken, die von Google und Microsoft entwickelt wurden: "DevOps Research and Assessment" (DORA), um Durchsatz und Zuverlässigkeit der Softwarebereitstellung zu messen, und "Satisfaction, Performance, Activity, Communication/Collaboration und Efficiency" (SPACE), ein Framework, mit dem sich die individuelle Produktivität von Entwicklern messen, verstehen und verbessern lassen soll.

Wir haben diese Metriken um die folgenden vier "chancenorientierten Messgrößen" ergänzt:

  • Zeitaufwand für den inneren und äußeren Loop: Ersterer umfasst Aktivitäten, die direkt mit dem Erstellen des Softwareprodukts zusammenhängen: Codierung, Building, Unit-Testing. Der äußere Loop betrifft Aktivitäten, die mit der Überführung des Codes in die Produktion zusammenhängen: Integration, Tests, Freigaben und Deployment. Je mehr Zeit Entwickler im inneren Loop verbringen, desto produktiver sind sie. Bei Spitzenunternehmen liegt dieser Anteil bei etwa 70 Prozent.

  • Benchmarking des Developer Velocity Index (DVI): Durch den Vergleich der hauseigenen Praktiken mit denen von anderen Unternehmen oder Wettbewerbern wird es möglich herauszufinden, welche Bereiche verbessert werden sollten. Das können beispielsweise das Backlog-Management, das Testen oder Sicherheit und Compliance sein.

  • Analyse des Entwicklerbeitrags: Hier geht es darum zu bewerten, welchen Beitrag ein Team zum Backlog leistet. Mithilfe von Tools wie Jira, das die Backlog-Verwaltung misst, lassen sich negative Trends erkennen, die besseren Ergebnissen im Wege stehen. Ebenso kann aufgezeigt werden, wie das Arbeitsumfeld verbessert, der Automatisierungsgrad erhöht oder die individuellen Fähigkeiten einzelner Teammitglieder optimiert werden können. Beispielsweise stellte ein Unternehmen fest, dass seine besten Entwickler zu viel Zeit mit Aktivitäten verbrachten, die nicht zum Coding gehörten. Das Unternehmen änderte sein Betriebsmodell, um sicherzustellen, dass sich alle auf das konzentrieren, was sie am besten können.

  • Talent-Management. Hier gilt es dafür zu sorgen, dass Mitarbeitende gemäß ihrer Talente und Vorlieben eingesetzt werden. Durch den Einsatz branchenüblicher Capability Maps lässt sich ein Score erstellen, der das vorhandene Wissen, die Skills und die Fertigkeiten einer Organisation sichtbar macht. Damit lassen sich Lücken und Schwachstellen aufzeigen. In unserem Kundenkreis stellte etwa ein Unternehmen fest, dass es zu viele unerfahrene Entwickler beschäftigte. Daraufhin wurden personalisierte Lernprogramme bereitgestellt und 30 Prozent der Devs erreichten binnen sechs Monaten die nächsthöhere Kompetenzstufe.

In Kombination mit DORA und SPACE ermöglichen diese Vorgehensweisen einen differenzierten Blick auf die Softwareproduktivität. Mit einem solchen Vorgehen lässt sich auch herausfinden, wie sich Entwickler motivieren lassen, ob sie über die richtigen Werkzeuge und Fachkenntnisse verfügen, wie sie ihre Zeit nutzen und ob die Zusammensetzung der Teams optimal ist.

Kein Beweis für den Erfolg - aber eindeutige Indizien

Uns ist klar, dass die Messung der Entwicklerproduktivität ein umstrittenes Thema bleibt und viele uns auf dem Holzweg wähnen. Aber die 20 Unternehmen, mit denen wir hier eng zusammenarbeiten, sind anderer Meinung. Wir glauben nicht, dass Softwareentwicklung so kompliziert und mystisch ist, dass sie sich jeglicher Messbarkeit entzieht. Im Gegenteil, wir konnten ja auch recht gut die Verbesserungen abschätzen, die mit dem Einsatz von GenAI-Tools beim Codieren und dem Implementieren von Updates verbunden sind.

Sicher ist das beschriebene System nicht perfekt. Wir freuen uns über konstruktive Kritik, mit der wir es weiter verbessern können. Angesichts der ständig wachsenden Bedeutung der Softwareentwicklung und des immer härter werdenden Wettbewerbs um Talente glauben wir, dass dieses Thema zu wichtig ist, um es nicht zu versuchen. (hv)