Software-Code 15.05.2018, 14:44 Uhr

Gezielte Evolution statt wahlloser Wucherung

Es gibt viele Gründe, Programmen frischen Code einzubauen. Innerhalb von Software ist Evolution wichtig, um natürlich gewachsene Verflechtungen durch eine geplante Architektur zu ersetzen.
(Quelle: mmatee / Shutterstock.com)
Entwickler sind meist stark auf den Code ihrer Anwendung fokussiert. Diesen verstehen sie als ein Ergebnis aus den umzusetzenden Anforderungen und konzentriertem Nachdenken. Tatsächlich unterliegen die Strukturen, die Entwickler schaffen, noch einer Vielzahl anderer Einflüsse, die ihnen unter Umständen aber nicht bewusst sind.
Hendrik Lösch: Coach und Consultant bei Saxonia Systems sowie Fachautor
Zu Beginn steht immer die eigentliche Entwicklungsphase. Um diese dreht sich für die meisten Programmierer im Grunde genommen ihr Arbeitsleben. Es geht um die Definition von Anforderungen, das Umsetzen des Codes und damit das Sicherstellen von neuen Merkmalen und Funktionen. Gerade in dieser Phase lernt das System hinzu und wächst in seinem Umfang. Die zweite Phase wird allgemein gern als Wartungsphase oder „Maintenance“ bezeichnet. In dieser Zeit ist das System livegeschaltet, wird von einer Vielzahl von Anwendern genutzt und muss nur durch Fehlerkorrekturen gepflegt werden. Ein Wartungsauftrag, der vor allem dazu dient, Fehler zu beheben, die andere Entwickler hinterlassen haben, gilt unter Programmierern jedoch eher als Vorhof zur Hölle denn als Pforte zum Paradies. Dies wirkt sich vor allem deshalb negativ aus, da es die Maintenance-Phase ist, die solides Wissen zu den eingesetzten Technologien, Konzepten und Fachzusammenhängen erfordert, um die Struktur des – spätestens jetzt als „Legacy“ bezeichneten – Systems nicht zu beschädigen. Solche Schädigungen können langfristig dazu führen, dass das System schlechter arbeitet. Es altert durch fehlgeleitete Anpassungen sogar schneller, da es immer weiter von der ursprünglichen Architektur abweicht.

Museumsreif

Dieser Alterungsprozess von Software ist aber nicht nur auf schlechte Programmierung zurückzuführen. Software altert auch durch den technischen Fortschritt. Darüber hinaus führen auch Veränderungen in der Gesetzgebung oder in Unternehmensprozessen dazu, dass ein Software-System nicht mehr aktuell ist. Wenn sich das System nicht mehr an Veränderungen anpassen lässt, wird es irgendwann abgeschaltet.
Diese letzte Phase wird als „Close Down“ bezeichnet. Dieser Close Down muss mit dem Kunden abgesprochen sein und den vertraglichen Rahmenbedingungen entsprechen.
Vor dem Close Down und nach der Maintenance-Phase gibt es zudem noch das „Phase Out“. In dieser Zeit ist das Ende des Systems schon offensichtlich, da nicht mehr aktiv in seine Werterhaltung investiert wird. Eigentlich wird es hier nur noch seinen letzten verbliebenen Nutzern zur Verfügung gestellt, bis sein Betrieb unwirtschaftlich wird.

Hendrik Lösch
Autor(in) Hendrik Lösch



Das könnte Sie auch interessieren