Komplexe Anforderungen, kürzer werdende Entwicklungszeiten und steigender Kostendruck – auch die Softwareentwicklung muss sich zunehmend industrialisieren.
Dabei geht es nicht um die Serienfertigung einer Lösung, sondern um
- die Standardisierung von System- und Anwendungsarchitekturen,
- die Wiederverwendbarkeit möglichst feingranularer Komponenten sowie
- einen hohen Automatisierungsgrad.
Präzise und regelmäßige Messungen der Leistung und Ergebnisqualität sind dabei eine zentrale Grundlage. Ohne sie sind die Auswirkungen der Standardisierung, Wiederverwendung und Automatisierung auf den gesamten Entwicklungsprozess ungewiss und die Wirksamkeit von Verbesserungsmaßnahmen nicht überprüfbar. Messungen der Produktivität liefern die Zahlen, mit denen der Aufwand geplanter Entwicklungsvorhaben ermittelt werden kann.
Die Herausforderung: Quantifizierung des Outputs
In der industriellen Produktion wird die Produktivität (= Effizienz eines Fertigungsprozesses) durch das Verhältnis von Out- und Input bestimmt. Diese einfache Metrik lässt sich unter den folgenden Bedingungen auch auf die Produktivität in der Softwareentwicklung übertragen:
- Der betrachtete Entwicklungsprozess ist immer gleich und schließt vor Übergabe der Software in die Produktion mit einer definierten Qualität (z.B. finales Quality Gate) ab.
- Der Input (=Arbeitsleistung) aller am Entwicklungsprozess beteiligten Mitarbeiter kann präzise und zuverlässig ermittelt werden, z.B. in Personentagen.
- Der Output kann durch eine Umfangsmetrik bestimmt werden.
Die Produktivität ergibt sich aus dem Quotienten von Umfang (Output) und Aufwand (Input). Die Herausforderung liegt dabei in der Quantifizierung des Outputs. Hier ist eine Metrik erforderlich, mit der sich der Umfang der Software ökonomisch und objektiv messen lässt. Welche Methoden hier konkret zur Verfügung stehen, werde ich in einem folgenden Beitrag ausführlicher beleuchten. Fakt ist aus meiner Sicht aber: Eine produktive und damit zukunfts- und wettbewerbsfähige Softwareentwicklung ist ohne Messungen nicht möglich.
Wie messen Sie den Output Ihrer Softwareentwicklungsprozesse?
Bildquelle: Shutterstock