Kevin Welter und Fabian Schaub auf der Presse Seite
| |

Warum du Legacy Systeme modernisieren solltest

Die Anforderungen an IT-Systeme sind in den vergangenen Jahren kontinuierlich gestiegen. Kunden und Mitarbeitende erwarten Stabilität, Zuverlässigkeit und die Erweiterung um notwendige Funktionen und Anwendungen. Moderne Softwareentwicklung geschieht in einer Mikroservicearchitektur, Cloud-Technologie und agilen Arbeitsmethoden.

Die Realität sieht in vielen Unternehmen anders aus. Vor 20 Jahren wurde mit der Entwicklung einer Individualsoftware begonnen und diese ist noch heute im Einsatz.

Einige davon sind mittlerweile zum Altsystem oder auf Englisch „Legacy System“ geworden. Dieser Begriff bezeichnet in der Informatik eine etablierte, historisch gewachsene Anwendung. Häufig ist es eine schwer weiter entwickelbare individuelle Lösung. Die Code Basis sind veraltete Sprachen, für die sich nur schwer automatisiert testen lassen. Schwer zu entwickeln deswegen, weil die Software über die Jahre komplex und eine Dokumentation fast unmöglich geworden ist. Die Entwicklungs- und Betriebsumgebung ist aus heutiger Sicht veraltet und die Schnittstellen zu anderen Systemen sorgen immer wieder für Probleme oder sogar Ausfälle.

Das englische Wort Legacy („Erbschaft“) ist in diesem Kontext ein weitgehend wertfreier Fachbegriff, kann aber umgangssprachlich auch negativ im Sinne einer lästigen „Hinterlassenschaft“ oder „Altlast“ im übertragenen Sinne verwendet werden.

Vor der Modernisierung lautet die erste Frage, wer das System wofür mit welchem Ziel benutzt. Es gibt Softwarelösungen, die deine eigenen Prozesse abbilden und von deinen Mitarbeitenden genutzt werden. Etwa das Kernwarenwirtschafts- oder Kundenmanagementsystem. Und es gibt Softwarelösungen, die direkt von deinen Kunden genutzt werden. Zum Beispiel, wenn du Anbieter einer Logistiksoftware bist und diese vertreibst.

Für die Modernisierung deines Legacy Systems sprechen diese vier primäre Gründe:

FUNKTIONALITÄT, ENTWICKLUNGSGESCHWINDIGKEIT, KOSTEN UND SICHERHEIT.

Der richtige Zeitpunkt für die Modernisierung eines Systems ist prinzipiell nie und damit gleichzeitig immer. Die Herausforderung liegt in den eigenen Erwartungen. Legacy Systeme sind tief im Kern des Unternehmens verwurzelt und können nicht einfach „abgeschaltet“ werden.

Vier von fünf IT-Projekten scheitern laut aktuellen Studien. Dabei wird ein Scheitern mit dem Verfehlen den ursprünglich geplanten Kosten, Projektlaufzeit und Qualitätszielen begründet. Zwei Gründe dafür sind interne Machtkämpfe und Konflikte zwischen Menschen. Beides wird durch die Angst vor Veränderung gestärkt.

Der Erfolg hängt umgekehrt von der zeitlichen Betrachtung und der Unternehmensführung ab. Warum dann überhaupt modernisieren, wenn die Chancen auf Erfolg so gering sind?

Wenn du heute nicht modernisierst, existiert dein Unternehmen dann in fünf bis zehn Jahren noch?

Die Sicherstellung der Zukunftsfähigkeit deines Unternehmens sollte immer die höchste Priorität haben. Die Ablösung eins Legacy Systems braucht eine hohe Investitionsbereitschaft. Neben dem monetären Aspekt ist hier primär der Faktor Mensch relevant.

Eine moderne Softwareentwicklung fordert eine neue Art zu denken und zu handeln. Wo vorher viermal im Jahr neue Funktionalitäten, in das Legacy System eingespielt wurden, kann in einer neuen Software problemlos jeden Tag neue Funktionalität eingespielt werden. Die Methoden dafür finden sich in modischen Schlagwörtern wie agiles Arbeiten, New Work oder Digitalisierung und werden von Unternehmen wie Netflix, Amazon oder Facebook vorgelebt.

Für einen längeren Zeitraum wird ein Teil deiner Mitarbeitenden weiter an den bestehenden Systemen arbeiten und ein anderer Teil wird die Neue Welt entwickeln.

Dieser Zustand wird Unsicherheit produzieren und vor allem die Frage: Gibt es meinen Job noch, wenn das neue System in Betrieb ist? Die Antwort hierauf ist individuell. Wichtig ist gemeinsam eine Antwort zu finden.

Kosten reduzieren​

Ein Vorteil der Migration deines Legacy Systems ist, dass du neben der Anwendung bzw. Software selbst, ebenfalls deine Infrastruktur und damit IT-Architektur modernisieren kannst. Die Plattform, auf der deine Software läuft, bildet die Basis für innovative Lösungen, welche mit vertretbarem Aufwand entwickelt und betrieben werden können.

Kosten entstehen beispielsweise für das Bereitstellen einer Server Infrastruktur in einem selbst betriebenen Rechenzentrum, das Lösen von Betriebsprobleme oder der Weiterentwicklung der Software.

Der Aufwand, um eine klassische Server Infrastruktur zu skalieren ist im Vergleich zu modernen Cloud Lösungen sehr hoch. Im Vergleich wird bei einer Legacy Struktur immer mehr Kapazität vorgehalten, als tatsächlich benötigt wird, damit eventuelle Lastspitzen abgedeckt werden können. Eine Cloud Lösung stellt genau so viel Kapazität bereit, wie notwendig ist, damit die Software und alle Prozesse ideal laufen können.

Stell dir vor, dass deine Firmensoftware jeden Tag von 500 Menschen benutzt wird. Damit das funktioniert, hast du eigene Server, die diese Last stemmen können. Allgemein hast du ein wenig mehr Kapazität, als du brauchst – 700 Menschen könnten auch mit der Software arbeiten, ohne dass es Probleme gibt. Bei 750 Personen würde das System instabil, bei 800 Personen einbrechen und ausfallen.

Da deine Firmensoftware auf Servern in deinem Unternehmen läuft, kannst du nicht einfach einen neuen Server daneben stellen und diese Last abfangen. Die Lösung für dieses Problem liefert eine moderne Cloud Infrastruktur. Diese kann abhängig der Anforderungen Serverkapazität hinzugeben oder wegnehmen.

Auf der Kostenseite kann das einen Kostenvorteil bedeuten, weil du immer nur so viel bezahlst, wie du gerade benutzt. Außerdem lassen sich Cloud Infrastrukturen so entwickeln, dass die Ausfallwahrscheinlichkeit nahe der 0 % liegt.

Ein häufig unterschätzter Kostenfaktor sind die Kosten der Entwicklung der Software. Veraltete Schnittstellen, Probleme mit Daten oder die Herausforderung die Plattform stabil zu behalten verlangsamen die Entwicklung und sorgen immer wieder für Probleme im Betrieb. Durch agiles Arbeiten und den Aufbau von CI / CD Pipelines, lässt sich die Qualität der Entwicklung deutlich erhöhen und das Silo Entwicklung und Betrieb werden aufgelöst.

Entwicklungsgeschwindigkeit erhöhen​

Die höchsten Kosten in der IT werden typischerweise durch dein Personal verursacht. Je mehr operative „Probleme“ in der Software gelöst werden müssen, desto weniger neue Funktionalität lässt sich entwickeln. Legacy Systeme erfordern häufig tiefes Expertenwissen, da die Abhängigkeiten innerhalb des Systems sehr kompliziert sind und automatisierte Tests nicht existieren.

Die Migration von Software kann dadurch Auswirkungen an Stellen haben, mit denen niemand gerechnet hat und im schlimmsten Fall werden Bugs von Kunden oder Mitarbeitenden gefunden. Je häufiger neue Software in das System eingespielt werden kann, ohne dass es Probleme gibt, desto stabiler wird das System laufen.

Bei einer Ablösung deiner Legacy IT ist das Fundament deiner Entwicklung elementar. Wer hier schludert und Geschwindigkeit vor Qualität setzt, wird in drei Jahren das nächste Legacy System produziert haben oder im schlimmsten Fall zwei Systeme parallel betreiben, weil die neue Software die alte nicht ablösen kann.

Ein weiterer wichtiger Aspekt sind Schnittstellen zu anderen Systemen oder Anbietern und damit die Möglichkeit zur Kooperation.

Neue Funktionalität bereitstellen​

Ist dein Legacy System noch in der Lage die notwendigen Funktionalitäten des Markts anzuwenden? Insbesondere die Erweiterung der Software um eine App oder Methoden wie Apple Pay? Wie intuitiv ist die Software bedienbar und damit verbunden wie gut ist die User Experience?

Ein Hauptgrund für Modernisierungen sind neue Funktionalitäten, die nur schwierig in die bestehenden Systeme integriert werden können. Hierbei gibt es einen Fallstrick. Weil genau diese Funktionalitäten für die Komplexität der bestehenden Systeme gesorgt hat. Beim Neubau ist daher eine kritische Prüfung notwendig, was wirklich der Kern deiner Firmensoftware ist. Was sind die 20 %, die 80 % der Nutzer brauchen?

Wenn du das nicht beantworten kannst, ergibt es Sinn beim Neubau eine Analytik für das Nutzerverhalten einzubauen.

Das automatisierte Testen der verschiedenen Fälle sollte von Anfang an betrachtet werden. Tests schaffen Klarheit über die gewünschten Ergebnisse und ermöglichen damit eine schnellere Ablösung.

Sicherheit garantieren​

Die Sicherheit der gesammelten und verwendeten Daten ist heute in der gesellschaftlichen Betrachtung hochpolitisch geworden. Wie sicher ist dein System vor Angriff von außen? Wie viel Einfluss und Transparenz hat der Kunden auf die verwendeten Daten? Wer hat welche Zugriffe auf die Daten?

Welche gesetzlichen Regulierungen gibt es, die deine Firmensoftware nicht mehr abdeckt?

Die Migration der Daten und damit die Herstellung eines neuen Sicherheitsstandards sind ein triftiger Grund für eine Modernisierung. Deine Anwendungen werden von Anfang an in einer Architektur strukturiert, die eure Prozesse ideal abbilden und jederzeit Transparenz über die Verwendung eurer Daten schafft.

Die Weiterentwicklung deiner Organisation​

DER MENSCH STEHT IMMER IM FOKUS.

Die neuen Arbeitnehmer stammen aus der Generation Z und sind mit Smartphone und voll digitalisiert aufgewachsen. Arbeiten von überall, eine wertschätzende Kultur und die Möglichkeit sich einzubringen sind gesetzt. Jeder Mensch, der neu in dein Unternehmen kommt, prägt die Kultur und diese verändert sich permanent. Egal, ob du das möchtest, oder nicht. Jedes Unternehmen hat eine lebhafte soziale Struktur.

Software neu zu bauen, bietet die Möglichkeit agile Methoden zu verwenden und dadurch die Qualität der Ergebnisse signifikant zu steigern. Dafür sind neue Führungsstile und Fortbildung notwendig. Es werden Konflikte zwischen deinen Mitarbeitenden entstehen und diese zu lösen ist die zentrale Aufgabe deiner Führungskräfte.

Durch Scrum lassen sich deine Anwendungen Teamübergreifend in einer Mikroservice Architektur entwickeln, wodurch sowohl das Testen, als auch die Migration einfacher wird. Eine erfolgreiche Ablösung deiner Anwendungen kann nur durch eine erfolgreiche Organisationsentwicklung geschehen.

Welcher Weg ist der sinnvollste?​

Es gibt verschiedene Fälle für die Ablösung und Migration. Die Frage ist, welche Code Basis die Software hat und ob sich ein Refactoring lohnen würde oder der Neubau zwangsläufig notwendig ist.

Refactoring bedeutet den bestehen Code in Teilen neu zu schreiben, die grundsätzliche Architektur der Software allerdings gleich zu lassen.

Eine Neuentwicklung bedeutet, dass entweder auf der grünen Wiese neuer Code entsteht oder mit Low Code Baukästen ein neues System entwickelt wird.

Die dritte Variante ist der Einkauf einer Standardlösung, deren Schnittstellen eine hohe Integrierbarkeit in die aktuellen Systeme ermöglicht. Bei vielen Altsystemen bedeutet das eine grundsätzliche Überarbeitung aller Unternehmensprozesse und die Anpassung des Unternehmens an die Software.

Fazit:​

Die Modernisierung deiner IT kann Sinn ergeben. Dabei sollte dir bewusst sein, dass es sich hierbei um ein großes Investment in die Zukunft deines Unternehmens handelt. Unsere Erfahrung ist, dass eine zu hohe Geschwindigkeit zulasten der Qualität schon nach wenigen Monaten dafür sorgen kann, dass das Projekt eine hohe Chance hat zu scheitern. Ein kluger Projektaufsatz ist elementar und gleichzeitig eine hohe Klarheit über die gewünschten Ziele. Dass sich auf dem Weg einiges verändert und damit die Notwendigkeit zur Agilität besteht, steht außer Frage.

Ähnliche Beiträge