Was ist Software-Wartung?

Laut dem IEEE – Standard Glossary of Software Engineering Terminology versteht man in der Softwaretechnik unter dem Begriff Software-Wartung „die Veränderung eines Softwareprodukts nach dessen Auslieferung, um Fehler zu beheben, Performanz oder andere Attribute zu verbessern oder Anpassungen an die veränderte Umgebung vorzunehmen“. 

Umgangssprachlich bezeichnet man als Wartung die Reinigung, die Pflege, die laufende Instandhaltung (Reparaturen) und die vorbeugende Instandhaltung (Verschleißvorbeugung) von Geräten und Maschinen. Das gilt aber nicht für Software: Hier umfasst die Wartung die Beseitigung von Fehlern sowie die Anpassung an Änderungen der Umwelt oder an neue Benutzeranforderungen. 

Drei Arten der Softwarewartung

Man unterscheidet zwischen korrektiver, perfektionierender und adaptiver Wartung:

  • korrektive Wartung: Fehlerbeseitigung 
  • perfektionierende Wartung: Die Verbesserung von Attributen wie zum Beispiel der Performanz oder der Wartbarkeit. Dazu zählt vor allem die Behebung von technischen Schulden durch Reengineering, Refactoring etc.
  • adaptive Wartung: Anpassung der Software an veränderte technische Bedingungen der Umgebung

Man kalkuliert den kompletten Aufwand dazu, der nach der Übergabe oder Einführung der Software auftritt. Zeit- und Kostenaspekte sorgen jedoch dafür, den Aufwand eines Wartungsprozesses niedrig zu halten. In der Folge kann es dazu kommen, dass Änderungsanforderungen  nur zum Teil umgesetzt werden und weitere Fehler entstehen, die sich wiederum auf die Wartbarkeit auswirken können.

Eine wichtige Kennzahl in Unternehmen gibt das Verhältnis des Wartungsaufwandes zur Neuentwicklung von Software an. Dieses Verhältnis gilt oft als Ausdruck für das Innovationsverhalten eines Unternehmens. Dazu gibt es in der Literatur unterschiedliche und teilweise auch widersprüchliche Angaben. Der durchschnittliche Wartungsanteil wird häufig zwischen 20 und 30 Prozent angegeben. Man vermutet jedoch, dass de facto ein höherer Wartungsanteil vorliegt. Gründe dafür könnten ein ungenauer Wartungsbegriff und ungenaue Daten über Wartungsaktivitäten sein.

Laut Studien zum Thema Software-Wartung beanspruchen Wartungsmaßnahmen im Vergleich zu Software-Neuentwicklungen einen höheren Anteil des IT-Budgets. Ein großer Teil der Wartungskosten entfällt dabei auf die Anpassung des Systems an neue Anforderungen oder geänderte Rahmenbedingungen in der Umwelt. Die tatsächliche Verteilung differiert in Abhängigkeit vom jeweiligen Unternehmen sowie der jeweiligen Anwendung.

Erweiterungen und Anpassungen im Funktionsumfang eines Systems sorgen demzufolge für wesentlich höhere Kosten als etwa die Fehlerbehebung. Das liegt möglicherweise am Aufwand für das Verstehen von Änderungswünschen sowie der Analyse der Änderungsauswirkungen. 

Die Folge: Häufig erzeugt das Hinzufügen neuer Funktionen während des Systembetriebs mehr Kosten als wenn sie schon im Verlauf der Entwicklung integriert werden. Von der Höhe des Wartungsaufwandes lässt nicht unmittelbar auf die somit erzielte Wirkung schließen. Die Wirkung kann erst im Nachhinein durch Beobachtung der veränderten Leistungsfähigkeit von unterstützten Anwendungen ermittelt werden. Die Beurteilung des Wartungsaufwands hat schließlich an den Unternehmenszielen und der spezifischen Unternehmenssituation zu erfolgen. Die Software-Wartung wird deshalb im Unternehmenskontext heutzutage nicht nur als softwaretechnische Aufgabe, sondern auch als Managementaufgabe verstanden.