Wann sollte man Legacy-Software modernisieren?

„Das läuft doch noch.“

Diesen Satz hört man über Legacy-Software: Anwendungen, die seit Jahren im Einsatz sind, auf älterer Technik laufen und tief in die Prozesse eingebunden sind. Meist ist er vernünftig. Die Anwendung tut, was sie soll. Niemand beschwert sich laut. Eine Modernisierung kostet Geld, bindet Leute und bringt eigene Risiken mit. Also bleibt alles, wie es ist.

Das ist häufig die richtige Entscheidung. Schwierig ist, den Moment zu erkennen, an dem aus „noch nicht“ langsam „zu spät“ wird. Er kündigt sich selten laut an.

Wann Abwarten richtig ist

Was zuverlässig arbeitet und sich weiter sicher betreiben lässt, muss nicht ersetzt werden, nur weil es alt ist. Eine Anwendung, die stabil läuft, Sicherheitsupdates bekommt und sich bei Bedarf noch ändern lässt, darf in Ruhe weiterlaufen.

Anders sieht es aus, wenn verwendete Komponenten keine Sicherheitsupdates mehr bekommen. Dann ist Abwarten kein neutraler Zustand mehr, sondern ein Risiko, das mit jedem Monat bleibt.

Die Kosten zeigen sich vor dem Ausfall

Würde eine alte Anwendung einfach kaputtgehen, wäre die Sache klar. Dann würde jeder handeln. Die Kosten des Wartens zeigen sich aber meist früher, an Stellen, die für sich allein harmlos aussehen.

Das deutlichste Zeichen: Neue Entscheidungen fangen an, Rücksicht auf alte Probleme zu nehmen.

Ein Bericht wird umständlicher gebaut, weil die Daten an einer Stelle nicht sauber zusammenlaufen. Ein neuer Prozess bekommt eine Ausnahme, damit der alte nicht angepasst werden muss. Eine Auswertung, die eigentlich einfach wäre, braucht einen Zwischenschritt, den niemand genau erklären kann. Eine neue Schnittstelle berücksichtigt einen alten Sonderfall, und der nächste Prozess richtet sich wieder danach.

Jede dieser Entscheidungen ist für sich vernünftig. Im Einzelfall würde man sie genauso treffen. Das Problem ist die Summe. Irgendwann baut man nicht mehr um das ursprüngliche Problem herum, man baut auf den Umwegen weiter.

Wenn mehrere Umwege dieselbe Ursache haben

Einzeln betrachtet wirken solche Umwege wie verschiedene kleine Probleme. Oft gehen mehrere davon auf dieselbe Stelle zurück.

Herausfinden lässt sich das mit einer einfachen Frage, die man bei jedem Umweg stellt: Warum gibt es ihn? Und dann noch einmal: Warum gibt es das, was ihn nötig gemacht hat? Häufig landen mehrere Antworten am selben Punkt. Ein Datenmodell, das eine Variante nicht kennt, die es im Geschäft längst gibt. Eine Kundennummer, die in zwei Systemen unterschiedlich geführt wird. Ein Modul, an das sich niemand mehr herantraut und um das deshalb alle herumarbeiten.

Wer diese Stelle findet, hat einen Hebel. Eine einzelne Korrektur dort kann mehrere Umwege auf einmal überflüssig machen.

Mit jeder neuen Entscheidung wird das schwieriger. Jeder Umweg, auf dem etwas Neues aufbaut, ist eine weitere Abhängigkeit, die bei der Korrektur mitbedacht werden muss. Irgendwann lässt sich die ursprüngliche Stelle nicht mehr isoliert ändern, weil schlicht zu viel daran hängt.

Ab hier wird Warten teuer.

Was man tun kann, ohne gleich alles umzubauen

Der erste Schritt kostet wenig: die Umwege sichtbar machen. Wo gibt es sie, seit wann, und was hängt an ihnen? Schon eine einfache Liste zeigt, ob sich etwas an einer Stelle häuft.

Bei jedem neuen Vorhaben lohnt dann eine zusätzliche Frage: Bauen wir gerade um ein altes Problem herum? Das muss nicht falsch sein. Man sollte nur wissen, dass man es tut, und was es für eine spätere Korrektur bedeutet.

Nicht jeder Umweg muss weg. Einer, der stabil ist, wenig Aufwand verursacht und auf dem nichts weiter aufbaut, kann bleiben. Handeln sollte man dort, wo sich Umwege häufen und neue Vorhaben auf ihnen aufsetzen.

Modernisieren oder neu bauen?

Modernisieren heißt nicht automatisch neu bauen. Oft reicht es, ein Datenmodell zu bereinigen, ein besonders problematisches Modul zu überarbeiten oder einzelne Komponenten zu aktualisieren, Schritt für Schritt und mit Blick auf den laufenden Betrieb. Ein Neubau kann sinnvoll sein, wenn die Ursache so tief sitzt, dass Korrekturen an einzelnen Stellen nicht mehr reichen, wenn sich die verwendete Technik nicht mehr sicher aktualisieren lässt oder wenn das Geschäft heute etwas anderes braucht als das, wofür das System gebaut wurde. Ob er gegenüber einem größeren Umbau die bessere Wahl ist, entscheiden Aufwand, Risiken und das, was der laufende Betrieb während des Umstiegs verkraftet.

Ob sich bei Ihnen Umwege an einer Stelle häufen, zeigt eine Bestandsaufnahme. Dafür gehe ich mit den Beteiligten die Umwege durch und verfolge sie bis zu ihrer Ursache. Danach haben Sie eine Grundlage für die Entscheidung, wo Handlungsbedarf besteht, welche Änderungen sinnvoll sind und was vorher noch genauer untersucht werden sollte. Mehr dazu unter Gewachsene Anwendungen modernisieren.