Software-Altlasten
In der Softwareentwicklung kennt man Altlasten als eigentlich veraltete Programme oder Programmcodeteile, die man aber nicht ersetzen kann, meist weil das zu viel Aufwand verursacht.
Wie entstehen Altlasten?
Am Anfang, wenn man eine Software komplett neu erstellt, hat man völlige Freiheit, wie man sie gestaltet. Sobald die Software aber von anderen im Echtbetrieb verwendet wird, muss man bei jeder Änderung darauf achten, keine bestehende Funktionalität zu zerstören. Sogar das Ausbessern eines Fehlers kann problematisch sein, wenn die Software von fremdem Programmcode, der diesen Fehler erwartet, verwendet wird. Alte Funktionalität wird zur Altlast.
Altlasten entstehen auch dadurch, dass die Programmiersprache oder das Umfeld gewechselt wird, z. B. wenn eine große Visual-
Oder der Hersteller der Software stellt jegliche Weiterentwicklung der Software ein. Dann wird die beste Software sofort zur Altlast, denn im Normalfall kann niemand eine fremde Software weiterentwickeln. D. h. man muss sich einiges einfallen lassen, um die Altlast nicht komplett ersetzen zu müssen, aber dennoch an neue Erfordernisse anpassen zu können.
Es kann auch passieren, dass sich die Programmierer einfach weigern, an der Software weiterzuarbeiten. Das ist häufig der Fall, wenn der Programmcode nicht ihr eigener ist, aber selbst wenn sie den Programmcode vor 1 Jahr als Musterbeispiel in höchsten Tönen gelobt haben, finden sie ihn heute vielleicht grottenschlecht. Habe ich alles schon erlebt. Vgl. Meinungsverschiedenheiten über guten Programmierstil
Vorzeitige Alterung
Durch schlampiges Programmieren und indem man nur das absolut Notwendigste tut (wie von mir beim Spezifizieren kritisiert), kann man die Software dem Ende ihrer Lebensdauer ein schönes Stück näher bringen. Das Gefährliche daran ist, dass man das nicht gleich sieht. Der verhängnisvolle Trugschluss läuft meinen Beobachtungen zufolge so ab:
- Wir haben nicht viel Zeit, wir brauchen eine schnelle Lösung.
- Später, wenn mehr Zeit ist, interessiert sich niemand mehr dafür, die schnelle Lösung gegen eine bessere auszutauschen.
- Im Gegenteil: Das Management ist begeistert, wie schnell etwas entwickelt werden konnte. Alles scheint in bester Ordnung. Also nur weiter so!
Das ist meines Erachtens einer der Gründe, wieso es so häufig "Redesign-
Weiter
Weblinks
- Wikipedia: Software brittleness (englisch)