Entwicklungs- und Erhaltungskosten

Entwicklungs- und Erhaltungskosten

Edward Guy:

"The most expensive solution is frequently not the best solution."

Es existieren eine Reihe von Studien welche den Anteil der Software-Maintenance Kosten im Produktlebenszyklus von Softwareprodukten zum Gegenstand haben. Die meisten dieser Studien setzen die Initialentwicklung (Development) in Relation zu den Erhaltungskosten (Maintenance).

Die wohl am öftesten zitierte Studie ist von Benet P. Lientz und E. Burton Swanson, datiert in den späten 1970er Jahren, die am UCLA gemacht wurde. Bei dieser Studie wurden 487 IT-Unternehmen auf ihre Software-Maintenance Praktiken untersucht und die einzelnen Bereiche der Wartungsaufgaben statistisch ausgewertet. Zu dieser Studie wurde bei Addison-Wesly auch ein Buch der beiden Autoren publiziert [0].

Im Durchschnitt wurde nach Swanson und Lientz in den Unternehmen etwa 50% der Arbeitszeit auf die Entwicklung auf 50% auf die Erhaltung der Softwareprodukte/systeme verwendet. Je größer das Unternehmen, desto mehr wuchs der Anteil der Maintenance-Kosten in Relation zu den Entwicklungskosten.

In anderen Studien ist der Anteil der Erhaltungskosten durchaus höher, dies liegt jedoch nicht an der Fehlerhaftigkeit der einen oder anderen Studie, sondern hängt auch sehr stark mit dem Unternehemenskontext und Fachbereich der zu untersuchenden Softwareprodukte zusammen. So analysierte eine Studie von Elshoff [1] beispielsweise PL/1 Mainframe Programme bei General Motors und kam zu dem Schluss dass die Wartungskosten hierfür bei etwa 80%, die Entwicklungskosten somit bei etwa 20%, lagen.

Interessant ist bei Lientz und Swanson die prozentuelle Aufteilung der Maintenance Aufgaben:

  • 21,7% Corrective Maintenance
    • 12,4% Emergency Fixes
    • 9,3% Routine Debugging
  • 23,6% Adaptive Maintenance
    • 17,4% Changes to data inputs and files
    • 6,2% Changes to hardware or underlying software
  • 51,3% Perfective Maintenance
    • 41,8% Customer Enhancements
    • 5,5% Improvements to documentation
    • 4,0% Optimization
  • 3,4% Preventive Maintenance/Other

Der Bereich mit den meisten Aufwände stellte sich also als die Perfective Maintenance heraus. Der Begriff der Perfective Maintenance ist in der Literatur nicht komplett einheitlich definiert. In dieser Studie wurden von diesem Begriff jedoch auch Erweiterungen basierend auf Kundenfeedback miteinbegriffen. Es stellt sich heraus, dass beinahe die Hälfte der Maintenance Aufwände in die Erweiterung der Software fließt und nur ein geringer Teil tatsächlich in die Optimierung des Systems oder Anpassung der Dokumentation.

Die andere Hälfte des Aufwands fließt in die korrigierenden Maßnahmen und Anpassungen rundum die Datenhaltung.

Als Hauptprobleme der Maintenance wurden in der Studie folgende Punkte genannt:

  • Schlechte, fehlerhafte oder fehlende Dokumentation
  • Fehlendes Produktmanagement, daher starker Druck seitens der Kunden um neue Funktionalität einzuführen
  • Schnelle Einführung neuer Funktionalität führt zu komplexeren und schwer verständlichem Code
  • Keine eindeutigen Prozesse und Rollenzuordnung rundum die Erhaltung/Maintenance der Produkte, konkurrierende Zugriff auf die Entwicklungsresourcen
  • Kaum einhaltbare Terminvorgaben
  • Ausbildung der Entwickler für Maintenance-Aufgaben mangelhaft

Viele der oben genannten Hauptprobleme finden sich indirekt in Lehmans 8 Regeln der Software-Evolution wieder, welche in den 1980er Jahren publiziert wurden. Interessant ist jedoch vor allem, dass auch mehr als 20 Jahre nach dieser Studie die Softwareerhaltung in Unternehmen kaum mit Prozessen oder einer Aufbauorganisation und Rollen abgebildet wird, sodass auch in neueren Studien ähnliche, kostenintensive, Verteilungen zu finden sind.

Literatur

KONTAKTIEREN SIE UNS

Sie sind interessiert an einem unverbindlichen Gespräch oder Austausch via E-Mail?