Modernisierung von Legacy Software

Effizienter durch moderne IT-Systeme

IT-Systeme entstehen aus einem klaren Projektauftrag, werden oft aber über Jahrzehnte weiterentwickelt, ohne dass der Funktionskatalog gepflegt wird oder die Softwarearchitektur mit den Änderungen mitwächst. Notwendige Anpassungen des Systems werden unterlassen. Somit stößt jedes System irgendwann an seine Grenzen. Um die Zukunftsfähigkeit nicht zu verlieren, muss an diesem Punkt im Lebenszyklus eine Modernisierungsstrategie entwickelt und umgesetzt werden.

Relevant für

Produktentwicklung

Fachbereiche

IT

Ihr zentraler Nutzen:
Sie profitieren von unseren erprobten Lösungsansätzen.

"Bei der Modernisierung von bestehenden IT-Systemen gibt es kein Patentrezept. Es gilt, den richtigen Weg zu finden und dann auch zu gehen."

Jan Hansmann
Software Consultant und Junior Partner von Systemum

Diese Herausforderungen werden wir für Sie meistern

1

Gewachsene Software

Das Problem bei Legacy Software ist im Regelfall das fehlende Wissen und eine erodierte Architektur: Es ist nicht nachvollziehbar, was das System im Detail tut. Änderungen werden als „Balkon" angebaut - zu Lasten der Wart- und Erweiterbarkeit. In einer Bestandsaufnahme muss also zunächst die Qualität der Ausgangsbasis bewertet werden.

2

Modernisierungsstrategie

Ausgehend von der erfolgten Bewertung muss nun die richtige Strategie für die Modernisierung der Software erarbeitet werden: Neuentwicklung auf Basis der Analyse, Wrapping des Altsystems, technische Migration auf eine neue Technologiebasis, Umbau des Vorhandenen oder eine Mischform? Das richtige Vorgehen sichert den Projekterfolg.

3

Nachhaltigkeit

Das beste Modernisierungsprojekt schlägt fehl, wenn nicht aus den Fehlern der Vergangenheit gelernt wurde: Nach erfolgter Modernisierung muss ein adäquater Change-Prozess etabliert werden, der sicherstellt, dass der Funktionskatalog stets aktuell ist und die Softwarearchitektur an die Veränderungen angepasst wird.

Herangehensweisen an die Modernisierung

Es gibt verschiedene Möglichkeiten, ein System zu modernisieren. Dabei gilt es je nach Rahmenbedingungen, den richtigen Weg zu erarbeiten. Vielfach gehört zur optimalen Strategie auch eine Kombination dieser Maßnahmen.

Wrapping

Wenn der Kern der Anwendung technisch noch nutzbar ist, funktional weiterhin Bestand hat und über die Zeit mehr oder weniger stabil bleibt, kann der bestehende Softwarekern mit einer modernen Schnittstelle – etwa einer Weboberfläche oder einer API – versehen und so weiterhin genutzt werden.

(Technische) Migration

Bei technischen Modernisierungszwängen – etwa wenn die zugrunde liegende Basistechnologie seitens des Herstellers abgekündigt wird – hilft eine halbautomatische Transformation des bestehenden Codes auf eine neuen Technologieplattform. Zur Sicherung der Qualität verlangt dieses Vorgehen einen angepassten Prozess.

Reengineering

Wenn Softwarequalität und/oder Architektur der bestehenden Software den aktuellen Herausforderungen nicht mehr gewachsen sind, hilft ein schrittweises Reengineering der Software. Einzelne Komponenten oder Teilsysteme werden schrittweise erneuert oder aktualisiert, ohne dass das Gesamtsystem beeinträchtigt wird.

Neuentwicklung

In vielen Fällen ist die bestehende Lösung in Ihrer Grundstruktur nicht mehr zukunftsfähig, eine Neuentwicklung mit aktuellen Technologien und Verfahren steht an. Hierfür müssen die Anforderungen für die neu zu entwickelnde Lösung detailliert und vollständig vorliegen.

Eine Auswahl von Unternehmen, die dank uns nun
erfolgreicher agieren

Wir bieten Ihnen das gesamte Spektrum an Softwareengineering-Kompetenz

Reverse Engineering

Aus den vorhandenen Anforderungen, dem Programmcode und Interviews ermitteln und dokumentieren wir die Funktionalitäten des Altsystems.  

Architekturentwurf

Aus dem fachlichen Konzept entwerfen wir die technische Lösung  für das Zielsystem mit einer auf Zukunftsfähigkeit ausgelegten Architektur.

Modernisierung 

Wir entwerfen eine detaillierte Modernisierungsstrategie, konzipieren technische Migrationswerkzeuge und steuern die Umsetzung des Gesamtprojekts.

Methodenberatung Softwareengineering

Damit die Qualität des neuentwickelten Systems lange Zeit stabil bleibt, definieren und dokumentieren wir das passende Entwicklungsvorgehen. 

Wir passen unser Vorgehen den Rahmenbedingungen an

1

Ist-Situation analysieren

Bestandsaufnahme: Anforderungen, Architektur, 
Dokumentation, Entwicklungsprozess


In der Analysephase wird der Modernisierungsbedarf detailliert ermittelt und die Qualität von Anforderungen, Software und Prozess bewertet.

2

Modernisierungsstrategie definieren

In der Definitionsphase wird die Modernisierungsstrategie definiert: Welche Strategie ist für welche Systemteile sinnvoll. Welche Teile werden übernommen, welche modernisiert, welche neu entwickelt? Verbesserungen an Konzept, Architektur und Entwicklungsprozess werden definiert, um die Langlebigkeit des modernisierten Produkts sicherzustellen.

Artefakte: Fachspezifikation, Modernisierungsstrategie, Migrationsstrategie, Entwicklungsvorgehen, Teststrategie, Dokumentationskonzept, Projektmanagement-Handbuch   

3

Zielsystem entwerfen

In der Designphase werden die einzelnen Elemente des modernisierten Systems im Detail entworfen und beschrieben.

Artefakte: Softwarespezifikation,  Zielarchitektur, Testfallspezifikation, Modernisierungsplan 

4

Modernisierung durchführen

Im Rahmen der Entwicklung gilt es nun, den aufgestellten Modernisierungsplan abzuarbeiten und das System je nach gewählter Strategie zu modernisieren.

Artefakte: Software, Deployment-Artefakte, Architekturdokumentation, Systemdokumentation, Testdokumentation

5

Nachhaltigkeit sichern

Um die Probleme, die zur Modernisierung geführt haben, zu vermeiden, wird ein verbesserter Softwareengineeringprozess etabliert und fortwährend optimiert. 

Artefakte: Prozesshandbuch, Fachdokumentation,
Architekturdokumentation



Datenschutz Information und Einstellungen

Unsere Website verwendet Matomo, dabei handelt es sich um einen sogenannten Webanalysedienst. Matomo verwendet sog. „Cookies“, das sind Browservariablen, die auf Ihrem Computer gespeichert werden und die unsererseits eine Analyse der Benutzung der Webseite ermöglichen. Zu diesem Zweck werden die durch den Cookie erzeugten Nutzungsinformationen (einschließlich Ihrer gekürzten IP-Adresse) an unseren Server übertragen und zu Nutzungsanalysezwecken gespeichert, was der Webseitenoptimierung unsererseits dient. Ihre IP-Adresse wird bei diesem Vorgang umgehend anonymisiert, so dass Sie als Nutzer für uns anonym bleiben. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Webseite werden nicht an Dritte weitergegeben. Mehr erfahren Sie in unseren Datenschutzbedingungen

Cookies

Sie können sich entscheiden, ob die Website eigene Cookies definieren darf. Diese speichern z.B. Ihre Entscheidung, ob Sie der Verwendung von Analysediensten zugestimmt haben.

Analysedienste

Sie können sich entscheiden, ob in Ihrem Browser ein eindeutiger Webanalyse-Cookie abgelegt werden darf, um uns die Erfassung und Analyse verschiedener statistischer Daten zu ermöglichen. Wenn Sie sich dagegen entscheiden möchten, deaktivieren Sie die entsprechende Checkbox.