Montag, 5. August 2013

Der Einfluss technischer Schulden auf die Produktivität


Es gibt Maßnahmen, mit denen die Produktivität von Neuentwicklungen gesteigert werden kann, die dennoch wenig empfehlenswert sind. Beispiele:
  • Unvollständige Umsetzung von Anforderungen
  • Aufgeschobene Korrekturen bekannter Fehler
  • Vernachlässigung von Kommentierung und technischem Design
  • Unzureichende oder fehlende Dokumentation
  • Unzureichende Testabdeckung 
  • Komplexe und daher nicht automatisierbare Build- und Deploy-Prozesse
Ein Entwicklungsprojekt, das dadurch seine Produktivität erhöht, nimmt sogenannte technische Schulden auf, die im Rahmen der späteren Weiterentwicklung mit Zinsen zurückgezahlt werden müssen. Die Zinsen beziehen sich darauf, dass
  • der Aufwand für Weiterentwicklungen steigt und somit die Produktivität künftiger Releases oder Inkremente geringer wird,
  • der Aufwand für Fehleranalysen und Korrekturen überdurchschnittlich hoch ist.
Die Auswirkungen technischer Schulden sind meist sehr langwierig und sehen etwa so aus, wie es das untenstehende Diagramm zeigt: Nach Abschluss der Entwicklung und Produktivsetzung der Anwendung (Rel 1.0) stellt man für die Weiterentwicklung (Releases 1.1, 1.2, usw.) eine immer schlechter werdende Produktivität fest (siehe: Messung der Produktivität in der Softwareentwicklung). Vorausgesetzt, der Aufwand für Fehleranalysen und -korrekturen geht in den Input der Produktivitätsmessungen mit ein. 


Verlauf von Fehlerdichte und Produktivität bei technischen Schulden (Beispiel)


Durch regelmäßige Codeanalysen werden viele Anzeichen technischer Schulden frühzeitig, schon während früher Phasen der Neuentwicklung, erkennbar (siehe: Regelmäßige Analyse der Codequalität mit Sonar). 

Für bessere Maßnahmen zur Steigerung der Produktivität: siehe Maßnahmen zur Produktivitätssteigerung.

Keine Kommentare:

Kommentar veröffentlichen