Was sollten Unternehmen tun, wenn ihre wichtigsten Softwareapplikationen fehleranfälliger, langsamer und im Unterhalt immer teurer werden? Diese Frage stellt sich häufig bei einem kritischen Blick auf Legacy-Software-Installationen. Mit zunehmendem Alter der Anwendung steigt die Wahrscheinlichkeit, dass sie die zukünftige Ausrichtung des Unternehmens beeinträchtigt.
Bei Altsystemen, Legacy-Software oder Anwendungen in veralteten Programmiersprachen muss sich die IT-Abteilung rechtzeitig mit der Frage der Machbarkeit oder Unmöglichkeit einer Software-Modernisierung auseinandersetzen.
Software-Modernisierung greift dort ein, wo alleinige Qualitätsverbesserungsmaßnahmen nicht mehr ausreichen. Dies liegt häufig daran, dass über einen längeren Zeitraum (Jahre) hinweg regelmäßige Maßnahmen zur Qualitätsverbesserung vernachlässigt wurden. Dazu gehören beispielsweise der Abbau von Technischen Schulden, Upgrades der verwendeten Technologien, eine umfassende Dokumentation oder das Fehlen von Nachfolgern für in den Ruhestand gegangene Experten.
Die pragmatische Antwort: Wenn Ihre Software nicht mehr leicht lesbar, änderbar, wartbar und erweiterbar ist. Die strategische Antwort: Wenn die installierte Software die Unternehmensstrategie (Digitalisierung, Cloud, Wachstum, M&A) nicht mehr unterstützen kann.
Es gibt eine Reihe von Gründen in Ihrer individuellen Unternehmenssituation, die für eine Software-Modernisierung sprechen können. Hier eine Auswahl:
Digitalisierung in ihren Märkten |
Die installierte Software kann neue Anforderungen (z.B. Cloud, IoT, Mobile) nicht mehr (vollständig) erfüllen. |
Performance und Verfügbarkeit |
Technische Schulden, große Mengen an Altdaten oder Spaghetti-Code beeinträchtigen die Performance, Verfügbarkeit und Innovationsfähigkeit der Software. |
Sicherheit |
Sicherheitslücken bieten keine ausreichende Sicherheit mehr und lassen sich nicht mehr mit normalem Aufwand beheben |
Kompatibilität |
Die Kompatibilität der Software mit moderneren Anwendungen im Unternehmen ist eingeschränkt. Die Schnittstellen werden immer komplexer und unübersichtlicher. |
Wartungskosten |
Die Software ist so unübersichtlich und komplex (Spaghetti-Code), dass Wartung und Weiterentwicklung immer aufwändiger und fehleranfälliger werden. |
Ausgelaufener Support |
Die Applikation basiert auf alten Technologien, die nicht mehr gewartet oder unterstützt werden. |
Knowhow-Verlust |
Die ursprünglichen Entwickler sind nicht mehr verfügbar, und die Dokumentation im Code ist unvollständig. Die Alt-Software kann nicht mehr oder nur mit sehr hohem Aufwand von wenigen Personen weiterentwickelt werden. |
Bedienbarkeit/User Experience (UX) |
Die Bedienbarkeit der Legacy-Software ist nicht mehr intuitiv und umständlich, was die Produktivität und Zufriedenheit der Nutzer beeinträchtigt |
Neue gesetzliche Anforderungen |
Der Schutz personenbezogener Daten (DSGVO) muss nachweisbar durch den Einsatz von Technologien, die dem Stand der Technik entsprechen, sichergestellt werden. Der Datenschutzverantwortliche im Unternehmen hat die Pflicht des „Privacy by Design“ (Datenschutz durch geeignete Gestaltung der Technik). |
Der gemeinsame Nenner der Software-Modernisierungs-Trigger ist:
Je nach Konstellation im Unternehmen in Bezug auf Strategie und Technologie gibt es verschiedene Ansätze zur Modernisierung von Software, um sie leistungsfähiger und zukunftssicherer zu machen. Folgende Methoden werden erwogen:
Die richtige Auswahl des Modernisierungsansatzes ist entscheidend, um mit minimalem Aufwand, Kosten und Risiko die bestmögliche und zukunftssichere Verbesserung der Applikation zu erreichen.
So kann es genügen, wenn die technologische Basis der Softwaretechnologie noch aktuell (zukunftssicher) ist, nur ein Refactoring zum Abbau der Technischen Schulden durchzuführen (s. Bild).
Die häufigsten Ziele einer Software-Modernisierung, die wir aus unserer Praxis kennen sind:
Software-Modernisierung kann bei unzureichender Planung und Risikobewertung erhebliche Probleme verursachen. Falsche Erwartungen, mangelhafte Analyse der Legacy-Software und ineffektives Risikomanagement sind dabei besonders problematisch. Eine misslungene Modernisierung kann schwerwiegende Auswirkungen auf das Unternehmen haben. Häufige Probleme und Risiken sind folgende Punkte.
Fehlende Datenabgleich und mangelnde Ressourcen
Oftmals fehlt es an einem Abgleich der Analyseergebnisse der Legacy-Software mit den Anforderungen an die neue Software. Dies kann zu einer unklaren Festlegung des Modernisierungsansatzes führen. Sie sollten wissen, was in der alten Software den aktuellen Ansprüchen nicht mehr genügt, was die Modernisierung bewirken soll (deren Ziele und Anforderungen) und welchen Weg sie zur Umsetzung wählen.
Ebenso sind nicht ausreichende Projekt-Ressourcen, fehlendes Wissen und Knowhow sowie knappe Budgets und unrealistische Erwartungen problematisch.
Mangel an Know-how-Trägern
Ein weiteres Risiko besteht darin, dass zu wenige Know-how-Träger die alte Applikation betreuen und nicht genügend Kapazitäten haben, um im Modernisierungsprojekt eine bedeutende Rolle zu spielen.
Technische Herausforderungen und unzureichende Dokumentation
Besondere technische Herausforderungen und eine unzureichende Dokumentation des Legacy-Systems stellen zusätzliche Risiken dar. Ein erhebliches Projektrisiko entsteht durch den Verzicht auf den Einsatz moderner Softwaretools bei der Analyse und der Wahl des Modernisierungskonzepts.
Weitere Herausforderungen
Zusätzlich zu den genannten Risiken treten bei Softwareentwicklungsprojekten übliche Herausforderungen auf, darunter die Unterstützung durch die Leitungsebenen, Projektkommunikation, Risikomanagement und ausreichendes Testing.
Diese Herausforderungen müssen bei der Planung und Umsetzung von Software-Modernisierungsprojekten sorgfältig berücksichtigt und entsprechend adressiert werden, um eine erfolgreiche und effektive Modernisierung zu gewährleisten.