Das Gesamtbild: Lebenszyklus & Kosten
Software endet nicht mit der Auslieferung. Der größte Teil des Aufwands und der Kosten entsteht während der langen Lebensdauer eines Systems durch Wartung und Weiterentwicklung. Diese Phase ist entscheidend für den langfristigen Erfolg.
Typischer Software-Produktlebenszyklus
Design & Impl.
Maintenance
Die anfängliche Investition wird erst nach einer gewissen Zeit durch Einnahmen ausgeglichen. Die Wartungsphase ist die längste und kostenintensivste Phase im Lebenszyklus einer Software.
Aufwandsverteilung im Projekt
Die Wartung macht rund zwei Drittel des gesamten Projektaufwands aus und ist damit der mit Abstand größte Kostenfaktor.
Aufgabenverteilung bei der Wartung
Die Hälfte der Wartungszeit wird für das Verstehen des bestehenden Codes aufgewendet. Das unterstreicht die Notwendigkeit von sauberem und gut dokumentiertem Code.
Die vier Arten der Wartung
Wartung ist nicht gleich Wartung. Die Aktivitäten lassen sich in vier Kategorien einteilen, je nachdem, ob sie reaktiv oder proaktiv sind und ob sie eine Korrektur oder eine Verbesserung zum Ziel haben. Klicken Sie auf eine Kategorie, um mehr zu erfahren.
Korrektive Wartung
Reaktiv & Korrektur
Behebt Fehler, die nach der Auslieferung im Betrieb auftreten. Ziel ist die Wiederherstellung der korrekten Funktionalität.
Adaptive Wartung
Reaktiv & Verbesserung
Passt die Software an eine geänderte Umgebung an (z.B. neues Betriebssystem, neue Hardware), um die Lauffähigkeit zu erhalten.
Präventive Wartung
Proaktiv & Korrektur
Behebt latente, also noch nicht aufgetretene Fehler, um zukünftige Probleme zu vermeiden. Verbessert die interne Qualität.
Perfektionierende Wartung
Proaktiv & Verbesserung
Verbessert nicht-funktionale Eigenschaften wie Performance, Benutzerfreundlichkeit oder Wartbarkeit, ohne die Funktionalität zu ändern.
Alternde Systeme: Legacy & Re-Engineering
Mit der Zeit altern Softwaresysteme. Die Technologie veraltet, das Wissen geht verloren und Änderungen werden immer schwieriger. Für diese "Legacy-Systeme" braucht man eine klare Strategie. Klicken Sie auf einen Quadranten, um die empfohlene Strategie zu sehen.
Strategie für Legacy-Systeme
Geringe Qualität
Hohe Qualität
Geringe Qualität
Hohe Qualität
Strategie-Details
Wählen Sie einen Quadranten aus der Matrix aus, um die Details der jeweiligen Strategie anzuzeigen.
Moderne Sicht: Technische Schulden
Technische Schulden sind eine Metapher für die Konsequenzen von Kompromissen in der Softwareentwicklung. Bewusst oder unbewusst eingegangene Abkürzungen müssen später mit "Zinsen" in Form von erhöhtem Aufwand zurückgezahlt werden. Simulieren Sie den Effekt!
Auswirkung technischer Schulden auf die Entwicklungsgeschwindigkeit
Die tatsächliche Geschwindigkeit (blaue Linie) sinkt mit jeder aufgenommenen Schuld und entfernt sich weiter von der Planung (gestrichelte Linie).