Techniken für das Mitarbeiter-Management Produktivität von Developern messen und verbessern

Von Dipl. Betriebswirt Otto Geißler Lesedauer: 5 min |

Anbieter zum Thema

Die Produktivitätsmessung in der Entwicklung ist nicht nur entscheidend für ein tieferes Verständnis der Arbeitsweise eines Teams, sondern liefert auch wichtige Anregungen für Verbesserungen. Damit lassen sich Anwendungen schneller erstellen, die Time-to-Value verkürzen und die Kapitalrendite erhöhen.

Kein Ansatz für sich allein genommen eignet sich perfekt zur Produktivitätsmessung. Doch es stehen Optionen bereit, die sich den Anforderungen nähern können.
Kein Ansatz für sich allein genommen eignet sich perfekt zur Produktivitätsmessung. Doch es stehen Optionen bereit, die sich den Anforderungen nähern können.
(Bild: Tumisu / Pixabay)

Die Produktivität von Entwicklerinnen und Entwicklern gilt als ein Maß für die Fähigkeit eines Teams, auf effiziente Weise qualitativ hochwertige Software zu schreiben, die gut funktioniert und einfach zu warten ist. Aus betriebswirtschaftlichen Erwägungen möchten Unternehmen die Produktivität ihres Entwicklungspersonals unter anderem aus folgenden Gründen genauer erfassen:

  • Beobachtung des Fortschritts im Laufe der Zeit.
  • Erstellung von Benchmarks.
  • Belohnung von Leistungsträgern.
  • Bestimmung der Ressourcen-Zuweisung.
  • Identifikation von produktiveren Entwicklungsprozessen.

Unternehmen sind im Grunde immer auf der Suche nach verbindlichen Messgrößen, die ihnen dabei helfen sollen, die Verhaltensweisen der Angestellten zu identifizieren und sie letztlich zu Leistungssteigerungen zu motivieren. Gleichzeitig sind auch Messgrößen gewünscht, mit denen die getätigten Investitionen gerechtfertigt werden können.

Grundlagen für mögliche Messungen

Auf den ersten Blick scheint die Messung der Produktivität von Entwicklern und Entwicklerinnen eine einfache Aufgabe zu sein. Es sei denn, so lehrt der zweite Blick, man will es gut machen. In diesem Fall ist es wiederum sehr schwierig. Um dies zu veranschaulichen, betrachten wir einige der traditionellen Kennzahlen bzw. Metriken, die von vielen Unternehmen zur Messung der Developer-Produktivität herangezogen werden. Dazu gehören unter anderem:

  • Codezeilen (Lines of Code, LoC)
  • Anzahl der Commits
  • Pull-Requests
  • Code-Reviews
  • Anzahl der Builds/Tests
  • Anzahl der Bereitstellungen
  • Vorhersagbarkeit der Aufgabenerledigung
  • Anzahl der Defekte

Mythen und Missverständnisse

Es ist ein weit verbreiteter Irrglaube, dass es eine einfache und effektive Möglichkeit gibt, die Produktivität von Entwicklern mit einer sehr guten Metrik zu messen. In Wirklichkeit kann kein einzelner Maßstab zur Bewertung der Produktivität verwendet werden, da dies von viel zu vielen Faktoren abhängt, die je nach Branche, Organisation und Einzelfall variieren können. In der Praxis kann eine gewichtete Kombination mehrerer Metriken zum Einsatz kommen, aber selbst dann werden sich die Metriken und spezifischen Gewichtungen von Fall zu Fall unterscheiden.

In das Reich der Mythen gehört ebenso die Behauptung, dass es bei der Bestimmung der Produktivität in erster Linie um die einzelnen Fachkräfte ginge. Natürlich ist die Leistung jedes und jeder Einzelnen für sich genommen von großem Wert, aber letztlich ist der Beitrag für das Team als gruppenbasierte Aktivität von entscheidender Bedeutung. Es gilt als erwiesen, dass der Projekterfolg nicht nur vom unabhängigen Erfolg einzelner Personen abhängt. Es kommt ebenfalls darauf an, wie gut das Team harmoniert und zusammenarbeitet. Tatsächlich ist das Ganze mehr als die Summe der Teile.

Manche Developer sind der Auffassung, dass die Messung der Produktivität etwas ist, von dem nur Manager profitieren. Metriken können jedoch auf der Ebene des Einzelnen oder eines Teams sehr hilfreich sein. Manager interessieren sich zwar oft für Produktivitätskennzahlen, aber nicht nur sie wollen den Fortschritt einschätzen und die Erfolgsaussichten verbessern.

Schwierigkeiten der Messung

Die vielleicht am häufigsten verwendete quantitative Metrik sind „Codezeilen“. Diese Metrik behandelt Codezeilen wie Widgets auf einer Produktionslinie. Je mehr produziert wird, umso besser. Entwickler, die also mehr Codezeilen schreiben, werden demnach als produktiver und wirkungsvoller angesehen als Entwickler, die weniger schreiben.

Was ist aber, wenn Entwickler A doppelt so viel Code schreibt wie Entwickler B, aber der Code Fehler in das System einführt? Oder die Skalierbarkeit ist eingeschränkt, Randfälle werden übersehen oder die Zeilen sind schwer lesbar? Selbst wenn wir davon ausgehen, dass beide Entwickler Code mit gleichen Fähigkeiten schreiben, ist beispielsweise eine ausführlichere Lösung nicht immer besser. Manchmal sind kürzere Lösungen eleganter und effizienter, mit weniger Wiederholungen im Code.

Es sollte daher klar sein, dass das bloße Vergleichen von geschriebenen Codezeilen keine gute Methode sein kann, um die Produktivität oder Effektivität von Entwicklern zu messen. Aus diesem Grunde bieten sich zusätzlich zu diesen Metriken mehrere Möglichkeiten an, wie sich die Produktivität der Coder messen lässt. So könnten IT-Controller eines Unternehmens verschiedene Frameworks wie beispielsweise SPACE-Framework oder OKR einsetzen.

Objectives und Key Results (OKR)

Ein OKR-Framework steht für das Management von Zielsetzungen, das auf dem OKR-Konzept beruht. Im Wesentlichen besteht jedes Framework aus einem Ziel, das eine klare Richtung darstellt, sowie den Schlüssel-Ergebnissen, die den Fortschritt zur Erfüllung dieses Ziels anzeigen. OKRs sollen Entwicklerinnen und Entwicklern dabei helfen, sich auf die anstehende Aufgabe zu konzentrieren, indem sie Probleme in überschaubare Ziele aufteilen und auf diese Weise Transparenz schaffen, indem sie klar darauf hinweisen, wie Erfolg definiert wird.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Hier dazu zwei Beispiele: Das OKR-Ziel „Verbesserung der Anwendungszuverlässigkeit“ kann Ergebnisse wie die Reduzierung der Seitenantwortzeit, die Verbesserung der App-Verfügbarkeit oder die Reduzierung der Fehlerraten um einen sinnvollen Prozentsatz umfassen. Oder auch die „Verbesserung der Bereitstellungszuverlässigkeit“, die auf Ergebnisse wie die „Erhöhung der Testautomatisierung“ oder die „Reduzierung der Build-Zeit“ hinsteuert, kann ein OKR-Ziel in den Fokus nehmen.

SPACE-Framework

Das ultimative Ziel von SPACE ist die Entwicklung einer Codebasis von höherer Qualität mit weniger „technischer Schuld“ und besser wartbarem Code, was letztlich zu einer besseren Kapitalrendite führt. Das SPACE-Framework für die Entwickler-Produktivität misst dabei die Leistung auf der Grundlage von fünf Kriterien:

  • S: Zufriedenheit und Wohlbefinden (Satisfaction)
  • P: Leistung (Performance)
  • A: Aktivität (Activity)
  • C: Kommunikation und Zusammenarbeit (Communication/Collaboration)
  • E: Effizienz und Durchfluss (Efficiency)

Zufriedenheit

SPACE konzentriert sich nicht nur auf den Aufbau und die Verbesserung der Entwickler-Erfahrung, sondern fördert auch überdies eine harmonische teamorientierte Kultur. Der Grund dafür ist, dass Zufriedenheit und Produktivität der Entwickler eng miteinander verbunden sind und ein positives Arbeitsumfeld den Weg für die Aufrechterhaltung einer hohen Produktivität ebnet. Auf der anderen Seite führt übermäßiger Stress am Arbeitsplatz zu Burnout und wirkt sich stark nachteilig auf die Produktivität aus.

Leistung: Ergebnisse versus Output

Die Messung der Leistung im SPACE-Framework bezieht sich auf das Ergebnis und nicht ausschließlich auf den Output. Relevanter als die Frage, ob eine Freigabe rechtzeitig erfolgt, ist, ob die Ziele der Freigabe erreicht wurden. Das Ergebnis ist somit eindeutig wichtiger für den langfristigen Erfolg eines Projekts.

Aktivität

Das SPACE-Framework beinhaltet den Begriff einer Aktivität, die eine grundlegende Arbeitseinheit wie das Festschreiben eines Codeblocks darstellt. Aktivitäten können durch eine Reihe von Code-Metriken beschrieben und gemessen werden, die jedoch nur einen Teil eines Ganzen berücksichtigen. Nichtsdestotrotz sind Code-Metriken für die Messung des Fortschritts unerlässlich und müssen berücksichtigt werden.

Kommunikation und Zusammenarbeit

Eine effektive Zusammenarbeit erfordert sinnvolle und fruchtbare Kommunikation sowie einen Verbund vielfältiger Fähigkeiten, um alle Aspekte eines Projekts zu bewältigen. Ein aktualisiertes Kompetenz-Audit und die entsprechenden Netzwerk-Metriken sind unschätzbare Dokumente zur Messung und Förderung der Zusammenarbeit.

Effizienz

Die termin- und budgetgerechte Fertigstellung eines Projekts ist in vielen Fällen von entscheidender Bedeutung. Doch unabhängig von der Branche darf der Preis dafür kein Projekt sein, das nicht skaliert werden kann. Ein effizienter Prozess führt das Projekt vom Anfang bis zur Lieferung durch eine gut abgeschlossene, aber optimierte Reihe von Schritten. Bei der Effizienz geht es darum, die Latenz während des gesamten Prozesses zu verringern, indem beispielsweise die Anzahl der beteiligten Teams reduziert und die Zeit berücksichtigt wird, die durch diesen Overhead verloren geht.

(ID:49017509)