Mario Sedlak
Softwareentwicklung
Software
Computer
Hauptthemen

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-Basic-Anwendung zu einer Web-Anwendung gemacht werden soll. Wenn man die Anwendung nicht komplett neu schreibt, muss man von ihr aus alten Visual-Basic-Code aufrufen – man schleppt die Altlast mit.

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:

Das ist meines Erachtens einer der Gründe, wieso es so häufig "Redesign-Projekte" gibt, die man hätte vermeiden können, wenn man von vornherein sorgfältiger gearbeitet hätte. Ich bin überzeugt, dass die "schnellen Lösungen", die man im Management der Softwarefirmen so gern hat, in Wirklichkeit gar keine sind. Die "schnellen Lösungen" sind häufig instabiles Flickwerk, das Altlasten für zukünftige Erweiterungen darstellt. Und irgendwann haben sich so viele Altlasten angesammelt, dass es einfach nicht mehr weitergeht. Dann muss man von Grund auf neu entwickeln (wie z. B. bei Vivian Mail).

Weiter

Thunderbird

Weblinks