Software-Modernisierung, Teil 2 Legacy-Software modernisieren oder neu entwickeln?

Von Christian Rentrop

Anbieter zum Thema

Wenn Altsoftware in die Jahre kommt, stellt sich schnell die Frage, ob eine Modernisierung ausreicht oder eine vollständige Neuentwicklung ratsam ist. Für beide Varianten gibt es gute Gründe.

Manchmal tut man sich schwer, eine Lösung auszumustern, obwohl es nötig wäre – übereilt den Rotstift beim Software-Inventar anzusetzen, ist aber auch nicht  richtig.
Manchmal tut man sich schwer, eine Lösung auszumustern, obwohl es nötig wäre – übereilt den Rotstift beim Software-Inventar anzusetzen, ist aber auch nicht richtig.
(Bild: / CC0 )

Gerade in Unternehmen gibt es häufig sehr alte Software-Lösungen. Die sind mit der Zeit organisch gewachsen und oft schlecht dokumentiert, stellen aber in vielen Fällen einen soliden Arbeitsesel für die täglichen Aufgaben zur Verfügung. Wie bei jeder Software ist aber auch bei solchen „Legacy“-Lösungen irgendwann eine Grenze erreicht, an der gehandelt werden muss.

Mitunter kommt es vor, dass neue Standards und Schnittstellen eingebunden werden müssen oder schlicht nicht mehr die benötigte Leistung oder Güte in Sachen Hardware, Performance, Sicherheit oder Qualität erreicht werden. Oder wenn die Software durch ihr Alter enorme Personalkosten produziert. In all diesen Fällen muss reagiert werden.

Zwei Möglichkeiten der Software-Modernisierung

Wenn eine seit Jahren vorhandene Software im Unternehmen nicht mehr die gewünschte Leistung erbringt, gibt es zwei Möglichkeiten, der Software-Modernisierung: Eine erneute Überarbeitung des vorhandenen Systems – oder der Umstieg auf eine neue Software. Bei letzterer Option stellt sich zunächst die Frage, wie komplex und individuell die momentan vorhandene Lösung ist. Auf den ersten Blick bietet sich aber zunächst eine weitere Aktualisierung der vorhandenen Lösung an.

Altsoftware-Aktualisierung kann Vorteile haben

Die Aktualisierung einer vorhandenen Lösung – soweit möglich – bietet mehrere Vorteile: Sie ist relativ kostensparend, da außer der Ergänzung vorhandener Systeme kaum Aufwand entsteht: Mitarbeiter müssen nicht aufwändig ein neues oder völlig umgestaltetes System erlernen, sondern die Aktualisierung kann genau die gewünschten Funktionen und Schnittstellen nachreichen, die für bestimmte Bereiche benötigt werden.

Leider gibt es hier oft eine Hürde: Ist die Legacy-Software zu alt und lange Zeit komplex gewachsen, sind die Möglichkeiten zur ökonomischen Modernisierung wahrscheinlich ausgeschöpft. Zudem ergibt sich aus einer weiteren Aktualisierung zwar oft eine relativ kurzfristige Lösung vorhandener Probleme, mittel bis langfristig dürften aber weitere Schwierigkeiten auftauchen.

Umstieg: Altsoftware ausmustern und ersetzen?

Gerade im Bereich der Unternehmens-Software kann es sich deshalb natürlich nach Feststellung des Modernisierungsbedarfs lohnen, einen Blick auf vorhandene Lösungen von Drittanbietern zu werfen. Gerade bei Anwendungen mit vergleichsweise geringer Komplexität im Unternehmen kann es nämlich vorkommen, dass ein Softwarehersteller inzwischen genau die (maßgeschneiderte) Lösung anbietet, die es vor Jahren noch nicht gab. In einem solchen Fall kann ein Umstieg möglicherweise die einfachste Lösung sein.

Auf der anderen Seite gilt es, die Kompatibilität zum Altsystem für eine nahtlose Migration sicherzustellen. Das bedeutet je nach vorhandener Legacy-Lösung natürlich deutlichen Mehraufwand gegenüber dem einfachen Kauf von Lizenzen. Zudem birgt der Umstieg auf ein neues System auch immer das Risiko, dass Mitarbeiter geschult werden müssen oder viel Zeit benötigen, um sich an neue Abläufe zu gewöhnen.

In der Anfangsphase wird es außerdem vermutlich Adaptionsschwierigkeiten mit den vorhandenen Systemen geben. Das wiederum geht mit einer temporären Produktivitätssenkung einher. Allerdings muss das nicht zwangsläufig der Fall sein: Ist zum Beispiel die neue Software deutlich schneller und besser zu bedienen, kann sich der Umstieg auch schon nach kurzer Zeit amortisieren.

Eigene Neuentwicklung kann sich lohnen

Wenn die Altsoftware bei Anbindung neuer Funktionen permanent in ihre Grenzen läuft oder durch mangelhafte Performance unnötige Kosten produziert, kann es sich aber auch lohnen, über eine vollständige (oder teilweise) Neuentwicklung des Produkts nachzudenken.

Das trifft vor allem dann zu, wenn es keine an die Bedürfnisse im Unternehmen anpassbare Software eines Drittherstellers als Ersatz für das Legacy-Produkt gibt. Oder wenn die vorhandenen und anpassbaren Lösungen letztlich sich nicht den nötigen Anspruch an die Compliance erfüllen. Gerade bei Spezialanwendungen ist das gar nicht so selten der Fall.

Ist eine vollständige Neuentwicklung notwendig, ist natürlich mit hohem Kostenaufwand, langen Entwicklungszeiten und einem aufwändigen Deployment zu rechnen. Zudem ist der Aufwand – von der Entwicklung eines Lastenhefts und eines Pflichtenhefts über die eigentliche Entwicklung samt Testing bis hin zur Inbetriebnahme relativ hoch, gefolgt von Mitarbeiter-Schulungen und einem erhöhten Support- und Administrationsaufwand. Die vollständige Neuentwicklung ist daher die wohl kostspieligste Lösung, hat aber auch den großen Vorteil, dass am Ende eine maßgeschneiderte Lösung herauskommt, die für zukünftige Anwendungen gerüstet ist.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Teilweise Neuentwicklung und Anpassung

Zu guter Letzt gibt es natürlich noch die Möglichkeit, das vorhandene System noch einmal auf Herz und Nieren zu prüfen: Welche Teile sind genau nicht mehr für aktuelle Anforderungen geeignet und warum? Eine Aufteilung der Bereiche der Software samt teilweiser Neuentwicklung kann hier durchaus eine Lösung darstellen, um ein lange etabliertes Legacy-Softwaresystem auf den letzten Stand zu bringen.

Hier steht die technische Analyse der Kostenanalyse voran: Was ist mit der aktuellen Legacy-Software noch möglich, welche Teile können bleiben, welche müssen neu gemacht werden? Diese Form der Software-Modernisierung gleicht allerdings der Renovierung eines hundert Jahre alten Bauernhauses: Vorab ist kaum abschätzbar, welche Probleme auf den Eigentümer zukommen.

Kosten-Nutzen-Rechnung ist die Basis aller Softwaremodernisierung

Am Ende des Tages gibt es natürlich vor allem eine einfache Überlegung vor der Wahl der richtigen Methode zur Software-Modernisierung: Welche Kosten entstehen kurz, mittel und langfristig durch die Verwendung der Altsoftware, welche Kosten durch die Überarbeitung, Neuentwicklung oder den Umstieg auf ein neues System?

Kurzfristig dürfte sich zwar fast immer die Aktualisierung oder Ergänzung der Legacy-Software lohnen, mittel- und langfristig könnten aber deutlich andere Effekte zum Tragen kommen. Daher sollte vor der Wahl der Modernisierungsmethode immer eine genaue und von Fachleuten gestützte Problem- und Kosten-Analyse des vorhandenen Systems stehen.

Weiche Faktoren wie Produktivitätssteigerungen und -einbußen, auch temporärer Art, sollten dabei ebenso im Auge behalten werden. Erst auf Grundlage dieser technischen und betriebswirtschaftlichen Analyse ergibt sich die richtige Vorgehensweise für eine erfolgreiche Software-Modernisierung.

(ID:47884632)