Dienstag, 29. Januar 2013

Messung der Produktivität in der Softwareentwicklung


In der industriellen Produktion bestimmt man die Produktivität als Effizienz eines Fertigungsprozesses meist durch das Verhältnis von Output zu Input. Unter den folgenden Bedingungen kann nach dieser einfachen Metrik auch die Produktivität in der Softwareentwicklung gemessen werden:

  • Der betrachtete Entwicklungsprozess ist immer gleich und schließt mit einer definierten Qualität ab, beispielsweise durch Einhaltung eines finalen Quality Gate vor Übergabe der Software in die Produktion.
  • Der Input kann aus der Arbeitsleistung aller am Entwicklungsprozess beteiligten Mitarbeiter präzise und zuverlässig ermittelt werden, beispielsweise in Personentagen.
  • Der Output kann durch eine Umfangsmetrik bestimmt werden.

Die Produktivität ergibt sich also aus dem Quotienten von Umfang (dem Output) und Aufwand (dem Input). Schwierig ist oft die Quantifizierung des Outputs durch eine Metrik, mit der sich der Umfang der Software frei von Programmierstilen oder technologischen Aspekten, ökonomisch und möglichst nur durch Zählen, d.h. ohne subjektive Bewertungen eines Schätzers, messen lässt (siehe: Methoden zur Messung des Softwareumfangs).

Der Nutzen regelmäßiger Produktivitätsmessungen ist meist erst nach einem längeren Zeitraum erkennbar, wenn ausreichend Erfahrungswerte vorliegen:

  • Einflüsse von Änderungen im Team, in den Entwicklungsmethoden und –werkzeugen, in sonstigen Aspekten der konstruktiven QS, usw. auf die Produktivität werden erkennbar und ermöglichen eine gezielte Optimierung. Ohne Messung der Produktivität ist ihre Verbesserung eine Sache des Zufalls.
  • Die Abschätzung des Entwicklungsaufwands für ein geplantes Entwicklungsvorhaben kann auf Basis eines Erfahrungswertes für die Produktivität vergleichbarer Projekte erfolgen, wenn der Umfang der geplanten Entwicklung ausreichend genau abgeschätzt werden kann (Aufwand = Umfang durch Produktivität).

Keine Kommentare:

Kommentar veröffentlichen