Definition „Software Modernization“ Was ist Software-Modernisierung?

Autor / Redakteur: chrissikraus / Stephan Augsten

Früher oder später muss Software modernisiert werden, um sicher und funktionsfähig zu bleiben. Für die Software-Modernisierung gibt es je nach Problemstellung verschiedene Herangehensweisen, von der teilweisen Neuschreibung des Altsystems bis hin zum Umstieg auf eine komplett andere Anwendung.

Firmen zum Thema

In manchen Fällen kommt nach nicht darum herum, Software anzupassen oder komplett neu zu schreiben.
In manchen Fällen kommt nach nicht darum herum, Software anzupassen oder komplett neu zu schreiben.
(Bild: Tim Mossholder / Unsplash)

Software ist häufig lange Zeit im Einsatz, sei es, weil es der kostengünstigste Weg ist oder weil Kunden sich nur schwer von Gewohntem zu etwas Neuem führen lassen. Diese Legacy-Software bringt viele Probleme mit sich, z. B. die immer weiter abnehmende Kompatibilität zu moderneren Systemen.

Durch die Modernisierung von Software lassen sich unter anderem folgende Bereiche verbessern:

  • Softwarequalität: Organisch gewachsene Software verbirgt hinter ihrer funktionsfähigen Oberfläche häufig viele Altlasten wie unübersichtlichen oder unnötig komplexen Code. Er entsteht, wenn ein Legacy System über seine Lebenszeit hinweg immer wieder Veränderungen durchläuft, die schnell fertiggestellt werden müssen oder nicht gut zum ursprünglichen Konzept der Software passen. So entsteht unsauberer Code, der immer schwerer verständlich und damit schlechter wartbar wird. Durch Modernisierung wird dieses Problem punktuell bis flächendeckend behoben.
  • Performance: Unnötig komplexer, fragmentierter und veralteter Code hat außerdem das Problem, dass sich diese Altlasten früher oder später negativ auf die Performance auswirken. Das System fühlt sich altmodisch und langsam an - weil es genau das ist. Bei der Modernisierung können solche Schwachstellen gezielt angegangen werden, um die Performance zu verbessern.
  • Sicherheit: Neue Sicherheitslücken werden laufend gefunden und im Laufe der Zeit veralten Sicherheitskonzepte, die einst dem neuesten Stand der Technik entsprachen. Wird ein Legacy System nicht entsprechend modernisiert, wird es für den Benutzer zum Sicherheitsrisiko.
  • Qualität der Arbeit: Software, die nach modernen Prinzipien gestaltet ist, unterstützt Menschen effektiver bei der Arbeit. UX tritt z. B. bei der Gestaltung moderner Software immer weiter in den Vordergrund. Bei der Entwicklung wird heute mehr Wert auf niederschwellige, intuitive Konzepte für die Bedienung gelegt. Damit sinkt die Zeit für Einarbeitung und der Bedienkomfort steigt. Komfortfunktionen wie die Automatisierung bestimmter Geschäftsprozesse (z. B. automatisches Ablegen von E-Mails und Anhängen zur zugehörigen Kundendatei) gestalten die tägliche Arbeit noch effizienter und minimieren das Fehlerpotenzial. Modernisierung bringt außerdem noch die Option auf Innovation mit sich, sodass die Arbeit der Nutzer durch neue Services weiter optimiert werden kann.

Welche Möglichkeiten der Modernisierung von Software gibt es?

Software-Modernisierung kann auf unterschiedlichen Wegen geschehen. Welche Methode angemessen ist, muss im Einzelfall entschieden werden, z. B. anhand der Fragen nach Kosten und Nutzen oder anhand der technischen Rahmenbedingungen. Im Wesentlichen gibt es zwei grobe Richtungen:

1. Migration auf eine neue Software

Man migriert alle wichtigen Daten in eine neue Software und steigt auf diese um. Die Legacy Software wird nicht weiter verwendet. Es kann sich wahlweise um eine aktuelle Standardsoftware aus der Branche oder eine individuell für das jeweilige Szenario programmierte Lösung handeln.

2. Reengineering des Altsystems

Die Legacy Software wird in Teilen oder auch vollständig neu entwickelt, um Probleme zu beseitigen.

Welche Probleme gibt es bei der Software-Modernisierung?

Software-Modernisierung ist in vielen Fällen eine lohnenswerte und zukunftsweisende Strategie. Allerdings sollte man sich auch im Klaren darüber sein, dass es Hindernisse auf dem Weg in die Moderne gibt. Typische Hürden sind z. B:

Migration

Die Migration von Altsystemen auf moderne Standardsoftware ist oft problematisch. Im geschäftlichen Umfeld sind die mit der Zeit angesammelten Daten ein wichtiges Gut. Sie müssen also lückenlos und korrekt in die neue Software übertragen werden. Hierbei gibt es oft das Problem, dass aktuelle Standardsoftware und Legacy System sehr wahrscheinlich unterschiedliche Datenmodelle verwenden. Es muss also ein Weg gefunden werden, die Daten nach den fachlichen Anforderungen des Kunden zu migrieren. Datenverlust muss vermieden werden.

Kosten

Was darf die Software-Modernisierung kosten? Eine neue, individuell entwickelte Software kann perfekt kompatibel zum Datenmodell des Altsystems und zu den Anforderungen des Kunden entwickelt werden. Aber die Kosten sind dem Aufwand entsprechend groß und nicht in jedem Fall angemessen. Es muss also eine Lösung gefunden werden, die kostentechnisch ins Konzept des jeweiligen Unternehmens passt.

Akzeptanz

Wenn sich ein Nutzer an etwas gewöhnt hat und gut damit zurechtkommt, haben Unternehmen es schwer, ihn von einer neuen Lösung zu überzeugen. Updates für die vorhandene Software sind seltener ein Problem, da man davon an der Oberfläche im Idealfall nur wenig mitbekommt - aber ein Umstieg auf eine komplett neue Software? Das fällt manchen Benutzern sehr schwer.

Vor allem im geschäftlichen Umfeld muss Überzeugungsarbeit geleistet werden. Schließlich hängt die Produktivität des Unternehmens davon ab, dass alle Mitarbeiter sicher im Umgang mit den alltäglich genutzten Programmen sind. Somit bedeutet der Umstieg auf eine neue Lösung gleichzeitig auch eine Eingewöhnungsphase mit Schulungen und niedrigerer Produktivität. Die Aussicht auf eine saubere und vollständige Datenmigration erleichtert die Umstellung in der Regel immerhin etwas.

(ID:47582898)