Die Produktivität der Entwickler ist für die meisten Organisationen ein wichtiges Anliegen. Alle kommerziellen und nicht-kommerziellen Organisationen sind zunehmend von Software und der Geschwindigkeit und Effizienz der Bereitstellung von Softwarefunktionen abhängig. Die Produktivität der Entwickler ist eine Kennzahl, die das Tempo bestimmt, mit dem Softwareinnovationen bereitgestellt werden können, und ist damit Die Produktivität der Entwickler ist der Schlüssel zum Unternehmenserfolg.

Faktoren, die die Produktivität von Entwicklern beeinflussen

Es gibt viele Faktoren, die die Produktivität von Entwicklern beeinflussen, und die Auswirkungen jedes einzelnen Faktors variieren je nach Kontext. Nachfolgend finden Sie eine teilweise Liste einiger der wichtigsten Faktoren, die die Produktivität von Entwicklern beeinflussen:

  • Größe der Initiative
  • Technische Kompetenz und Erfahrung
  • Zwischenmenschliche Fähigkeiten
  • Domänenwissen
  • Konzentration/Ablenkungen
  • Tools (u.a. Nutzung von KI-Code-Assistenten)
  • Code-Wiederverwendung
  • Führungsengagement
  • Klare Anforderungen
  • Klarheit des Ziels

Was Entwickler tun

Entwickler arbeiten normalerweise an einem oder einer Kombination der folgenden Punkte:

  • Neu Softwareinitiative (innovativ oder nicht).
  • Aufrechterhaltung und/oder Reparieren von Software (einschließlich der Behebung technischer Schulden)
  • Entfernen/Ersatzsoftware

Projektgröße und Produktivität

Die Projektgröße ist einer der wichtigsten quantifizierbaren Faktoren, der die Produktivität des Entwicklers maßgeblich bestimmt. Aus diesem Grund sind unsere Benchmarks nach Projektgröße gruppiert.

Projektgröße und Entwicklerproduktivität

Schauen wir uns zunächst an, warum das so ist.  Erfolgreiche Softwarearbeit erfordert eine enge Kommunikation zwischen Benutzern, Entwicklern, Testern und anderen Beteiligten. Mit zunehmender Teamgröße steigt der Zeit- und Arbeitsaufwand für die Kommunikation proportional zum Quadrat der Anzahl der Teammitglieder. Bedenken Sie, dass die Anzahl der Kommunikationswege zwischen Teammitgliedern N x (N – 1) / 2 ist.

Teamgröße und Kommunikationsaufwand, Quelle getlighthouse.com

Die Produktivität der Entwickler wird durch die Projektgröße beeinflusst, da Kommunikationskosten.  Glücklicherweise ist die Projektgröße (funktionale Größe) auf standardisierte und gültige Weise messbar. Aus diesem Grund sehen wir, dass die Die höchste Produktivität wird von Teams mit höchstens sieben hochkompetenten Mitarbeitern erreicht.

Unsere Benchmarks zur Entwicklerproduktivität

Typische Entwicklerproduktivität

Projekte von <1000 CFP

Geringe Kompetenz

Stunden pro CFP

Mittlere Kompetenz

Stunden pro CFP

Hohe Kompetenz

Stunden pro CFP

Paketimplementierung 6 2 1
Low-Code 8 3 2
Hochsprache (typisch) 25 8 4
Stark regulierte Domain 80 20 12
Low-Level-Sprache/Firmware 80 20 12
Quelle: ScopeMaster Ltd

Diese Tabelle bezieht sich auf die Anzahl der von uns beobachteten Arbeitsstunden der Entwickler pro COSMIC Function Points, die fehlerfrei geliefert wurden. Diese Benchmarks werden in Stunden pro CFP angegeben. Es ist auch zulässig, den Kehrwert von CFP pro geleisteten Arbeitsstunden zu verwenden. Es ist auch nützlich, sich anzusehen: Teamproduktivität in CFP pro 2-Wochen-Sprint jedes Teams.

Obwohl diese Benchmarks für Sie zum Vergleich mit anderen Organisationen nützlich sein können, empfehlen wir Ihnen, Ihre eigenen internen Benchmarks für die Entwicklerproduktivität und andere Projektdimensionen zu sammeln und zu pflegen.  

Geschwindigkeit bedeutet nur Geschäftigkeit

Geschwindigkeit ist ein unter Agile-Enthusiasten häufig verwendeter Begriff, der einen Hinweis auf die Geschwindigkeit gibt, mit der Entwickler Dinge erledigen. Ob es nun darum geht, Tickets zu schließen oder „Story Points“ zu liefern, es geht normalerweise darum, Dinge von einer Liste abzuhaken. Aus buchstäblicher Sicht geht es nicht wirklich um Geschwindigkeit im physikalischen Sinne (Richtung und Ausmaß), sondern eher um Geschäftigkeit oder die Rate der „Ticket-Schließungen“. Aus unserer Sicht ist dies eine Pseudometrik, die in der realen Welt wenig Wert hat. Darüber hinaus ist Geschwindigkeit, wie der Begriff normalerweise von Agile-Teams verwendet wird, inkonsistent, subjektiv und manipulierbar.