Skip to main content

Wie lassen sich Produktivitätsunterschiede in Softwareprojekten zuverlässig messen?

In dieser Fallstudie vergleichen wir sechs verschiedene Metriken hinsichtlich ihrer Eignung für Produktivitäts-Benchmarking auf der Ebene von Entwicklungsergebnissen. Dafür verwenden wir detaillierte Daten aus vier Softwareprojekten der itestra mit insgesamt 264 Monaten Entwicklungszeit und 1,1 Millionen Zeilen Quellcode.

Codeänderungen, absolutes Wachstum, Anzahl der Commits sowie der investierte Aufwand werden in aufeinanderfolgenden 3-Monats-Perioden gemessen. Dadurch können wir Veränderungen in der Produktivität im Verlauf eines Projekts beobachten sowie verschiedene Projekte vergleichen. Wir stellen Korrelationen zwischen dem Aufwand und den gewählten Output-Metriken fest sowie signifikante und erklärbare Unterschiede in der Produktivität zwischen Projekten und Projektphasen.

Zudem analysieren wir, ob der Einsatz eines Klonerkennungs-Algorithmus die Messung verbessern kann, indem Ergänzungen durch Copy & Paste sowie umbenannter oder verschobener Code berücksichtigt werden. Wir stellen fest, dass dies einen kleinen Nutzen bringt. Die Redundanz-bereinigte Menge an hinzugefügten oder modifizierten Code-Tokens erweist sich als die beste Metrik unter den ausgewählten – insbesondere in der Weiterentwicklung, bei der eine bestehende Codebasis verändert wird. Die Anzahl der Commits und das absolute Wachstum können das Gesamtbild sinnvoll ergänzen.

  • Produktivitätsmessung in der Softwareentwicklung ist entscheidend, da sich der Output einzelner Entwickler und Teams empirisch um den Faktor 10 unterscheiden kann. Benchmarking ermöglicht, die Ist-Produktivität auf einer absoluten Skala einzuordnen und das Verbesserungspotenzial realistisch abzuschätzen – ein zentraler Bestandteil unserer HealthChecks.
    Im Gegensatz zu Story Points, deren Definition teamabhängig ist, liefern objektive Metriken belastbare Aussagen.
  • Die vorgestellten empirischen Forschungsergebnisse stützen die Benchmarking-Ansätze, die itestra seit über 20 Jahren erfolgreich in Beratungsprojekten einsetzt. Für die Wissenschaft sind die realen Daten aus großen Industrieprojekten besonders wertvoll.
  • Zwei von itestra entwickelte Metriken nutzen eine automatisierte Clone-Analyse, die auch Umbenennungen, Verschiebungen und Copy & Paste erkennt. Das ist entscheidend, da große Softwaresysteme selten neu entstehen, sondern kontinuierlich weiterentwickelt werden.

Weiterlesen?

Benchmarking ongoing development output
in real-life software projects

Jonathan Streit and Lukas Feye

info@itestra.de
+49 89 381570-110

Zukunft gemeinsam gestalten.