Software-Modernisierung, Teil 3 Stolpersteine bei der Software-Anpassung

Von Christian Rentrop

Anbieter zum Thema

Wenn komplexe Software modernisiert werden muss, gibt es eine Reihe von Stolpersteinen. Diese lassen sich wahrscheinlich nicht vollständig vermeiden; trotzdem ist es wichtig, vorab eine gewisse Achtsamkeit für mögliche (Dauer-)Baustellen zu entwickeln.

Wer Legacy-Systeme auf einen neuen Stand bringen möchte, sollte schon vorab damit beginnen, potenzielle Problemfelder zu identifizieren.
Wer Legacy-Systeme auf einen neuen Stand bringen möchte, sollte schon vorab damit beginnen, potenzielle Problemfelder zu identifizieren.
(Bild: chenspec / Pixabay )

In Unternehmen kann Legacy-Software eine Quelle für unnötige Kosten und technische Probleme sei. Umso wichtiger ist es, den richtigen Zeitpunkt für eine umfassende Modernisierung zu finden. Allerdings ist die Modernisierung selbst ein ausgesprochen umfangreiches und damit fehleranfälliges Projekt, das sich je nach Ansatz über einen gewissen Zeitraum hinziehen kann.

Zwischen der Erkenntnis, dass eine Modernisierung notwendig ist, und der konkreten Planung der Durchführung ist es entsprechend wichtig, eine gewisse Achtsamkeit für mögliche Probleme zu entwickeln. Nur so lassen sich Probleme bereits im Vorfeld vermeiden.

1. Unvollständige Analyse des Bestands

Das größte Problem essenzieller Legacy-Software ist oft, dass über Jahre oder sogar Jahrzehnte organisch gewachsen und kaum dokumentiert ist. Generationen von Administratoren, Entwicklern und gegebenenfalls auch Mitarbeitern haben den Systemen ihren Stempel aufgedrückt. Alles funktioniert irgendwie, ist aber hochkomplex.

Hier besteht das Risiko, dass bei der Planung der Modernisierung Funktionen, Schalter oder Datensätze übersehen werden. Hier gilt es also, vorab genau zu analysieren, welchen möglicherweise undokumentierten Umfang die Legacy-Software tatsächlich hat – und diesen anschließend in die Neuentwicklung einfließen zu lassen.

2. Lückenhaftes Lastenheft

Direkt aus der unvollständigen Analyse der Legacy-Software ergibt sich ein lückenhaftes Lastenheft. Dieses kann aber auch durch mangelnde Prüfung entstehen. Ein umfassendes, untadeliges Lastenheft ist aber für die weitere Planung mit einem Entwickler-Team oder Software-Unternehmen unerlässlich.

Am Ende entsteht sonst möglicherweise eine umfassend modernisierte Software, der möglicherweise grundlegende oder von den Mitarbeitern im täglichen Ablauf häufig genutzte Funktionen fehlen. Vermeintliche Kleinigkeiten können sich dabei schnell kostenseitig hochskalieren, etwa wenn ein Suchfilter fehlt oder eine Stapelverarbeitung nicht richtig umgesetzt wurde. Zudem entstehen deutliche Folgekosten durch die Nachbesserung.

3. Inkompatible Datenbestände

Einen weiteren Stolperstein kann inkompatible Technik darstellen: Sehr alte und tief integrierte Systeme sind möglicherweise nicht mehr oder nur in Teilen mit modernen Systemen kompatibel. Dadurch werden möglicherweise Zusatzentwicklungen – etwa ein Migrationstool – notwendig, die den Entwicklungsprozess verzögern können. Daher gilt es, auch die Datenbasis genau zu analysieren und zu prüfen, ob Komplikationen bei der Migration auftreten können.

4. Alte Daten, neue Anforderungen

Auch inhaltlich kann es passieren, dass Datensätze nicht mehr aktuellen Anforderungen entsprechen. So sind neuere Entwicklungen wie die DSGVO durchaus ernst zu nehmen und es ist nicht ausgeschlossen, dass hier und dort noch Datensätze schlummern, die nach den neuen Bestimmungen längst hätten entfernt werden müssen.

Datenbestände sollten deshalb bei der Modernisierung auf Gültigkeit und mögliche Obsoleszenz geprüft werden. Alternativ gilt es, Software-Schnittstellen einzuplanen, die solche Datenbestände gegebenenfalls aktualisieren, legitimieren oder entfernen können. Idealerweise können diese Altbestände aber noch vor der Migration aus dem alten System entfernt werden.

5. Unzureichende Kostenplanung

Geht es um die Kosten der Modernisierung, wird im Controlling gerne der Rotstift geschwungen. Verantwortliche sollten die Kosten der Modernisierung also kategorisieren: Was ist wirklich dringend notwendig, was kann noch zu einem späteren Zeitpunkt erfolgen und was sind letztlich „Luxusfunktionen“, auf die notfalls auch verzichtet werden kann?

Der Kostenplan erlaubt überdies idealerweise einen gewissen Spielraum. Die Praxis zeigt, dass Software-Entwicklung selten im gesetzten Rahmen erfolgt und bei der Planung möglicherweise vergessene Funktionen oder Features noch seitens der Entwickler nachgelegt werden müssen. Zudem sollten die Kosten für Ausfallzeiten und Mitarbeiter-Schulungen mit einkalkuliert werden.

6. Zu knapper Zeitplan

Ähnlich wie die Kosten, ist auch der Zeitplan eines Modernisierungsprojekts oft zu knapp kalkuliert: Die Umsetzung wird höchstwahrscheinlich länger dauern, als ursprünglich geplant, und auch der Rollout des modernisierten Systems wird vermutlich seine Zeit brauchen.

Um Problemen an dieser Front vorzubeugen, kann es sinnvoll sein, das Legacy-System eine Weile parallel zum modernisierten System verfügbar zu halten. Dadurch ist es auch möglich, Altsystem und die neue Software gegeneinander zu testen und auf diese Weise Fehlstellen und Bugs aufzuspüren.

7. Sicherheitsprobleme übersehen

Bei der Modernisierung einer Software muss natürlich zu jedem Zeitpunkt der Entwicklung und des Rollouts die Sicherheit gewährleistet sein: Instabile Software kann ein Einfalltor darstellen, fehlende Sicherheitsfeatures oder die Übernahme unzureichender Sicherheitsfunktionen aus dem Altsystem könnten mittelfristig Schwierigkeiten im Betrieb und nicht zuletzt Kosten für ihre Behebung verursachen. Daher sollten mögliche Sicherheitsprobleme vorab und im laufenden Prozess jederzeit im Blick behalten werden.

8. Künftige Entwicklungen und Skalierung nicht im Auge behalten

Zu guter Letzt ist es sowohl bei der Planung als auch bei der Umsetzung der Software-Modernisierung wichtig, mögliche künftige Entwicklungen im Auge zu behalten. Zwar kann niemand in die Zukunft schauen – doch Trends zeichnen sich zumeist bereits in der Gegenwart ab.

Um künftigen Anforderungen und Skalierungsanforderungen zu genügen, ist es zum Beispiel sinnvoll, offene und gut dokumentierte und leistungsfähige Schnittstellen – etwa durch ein Plug-in-System – zu etablieren. Natürlich kann so nicht langfristig vermieden werden, dass auch die modernisierte Software selbst irgendwann den Legacy-Status erreicht; dieser Zeitpunkt kann jedoch deutlich in die Zukunft verschoben werden.

Problembewusstsein hilft

Natürlich wird sich das ein oder andere Problem bei der Modernisierung komplexer Software nicht vermeiden lassen. Da die Modernisierung ein umfangreicher und hochkomplexer Prozess ist, sollte von vornherein viel Wert auf die Analyse des Ist-Zustands sowie die Definition des gewünschten Endergebnisses gelegt werden, außerdem ist eine präzise Kosten- und Zeitplanung sinnvoll.

Gleichzeitig gilt es, den laufenden Prozess sehr detailliert im Auge zu behalten. Auf diese Weise können Verantwortliche von Vornherein schwerwiegende Probleme umschiffen und gleichzeitig bei einer sich abzeichnenden Problematik im Modernisierungsprozess schnellstmöglich die nötigen Schritte einleiten.

(ID:47964173)