Ein vorhandenes IT-System zu modernisieren bedeutet einen Wandel zu durchlaufen. Dieser kann in mehreren kleinen oder einem grossen Schritt erfolgen. Grosse Migrationsvorhaben beinhalten oft einen Wechsel von Plattformen, Laufzeitumgebungen und Programmiersprachen.
In der Analysephase verschaffen wir uns einen umfassenden Überblick. Wir setzen uns detailliert mit den Zielen des Modernisierungsvorhabens, den zeitlichen, organisatorischen und budgettechnischen Randbedingungen auseinander und führen zielgerichtete Analysen durch.
Viele Gründe sprechen für die Modernisierung bestehender IT-Systeme. Dennoch werden solche Projekte oft auf die lange Bank geschoben. Hürden sind oftmals hohe Investitionskosten und diverse organisatorische Herausforderungen.
In vielen Fällen müssen fundamentale Prozesse neu gestaltet werden und man muss gleichzeitig einen organisatorischen Wandel erreichen. Die Belegschaft muss diesen Wandel begleiten und Weiterbildung in Methoden, Prozessen und Technologien erhalten. Außerdem muss das Altsystem während des Modernisierungsprojektes nicht nur weiter betrieben, sondern oft auch weiter entwickelt werden. Orientierung, um die individuellen Herausforderungen zu meistern, bieten einige grundlegende Erfolgsfaktoren für Modernisierungsprojekte.
Bei einem Grosskunden aus der Finanzbranche migrierten wir die Batchverarbeitung mit etwa 1800 Schnittstellen weg von schwer wartbarem Mainframe-Code zu einer modernen Architektur. Das Altsystem wurde mit PL/I und JCL entwickelt.
Serano Colameo
Geschäftsführer, arcware GmbH
Veränderungen erfordern eine gute Vorbereitung! Die Entfernung von unbenutzten Code-Anteilen verringert Modernisierungs- und Wartungsaufwände. Eine erhöhte Testabdeckung und Automation von Tests sorgen für kürzere Entwicklungszyklen und verhindern Regressionsfehler. Verbesserte Modularisierung der Altsoftware ermöglicht eine schrittweise Modernisierung und sorgt für optimierte Testbarkeit
Modernisierungsvorhaben können technisch und organisatorisch komplex und herausfordernd werden. In einem Proof-Of-Concept werden zu überschaubaren Kosten Machbarkeiten prototypisch überprüft, Alternativen analysiert und erwartete Aufwände dem zu erreichenden Nutzen gegenübergestellt. Dabei wird auch ermittelt, welche Anteile sich zu vertretbaren Kosten automatisieren lassen. Das Ergebnis sind konkrete Handlungsempfehlungen und ein Projektplan für das Vorhaben.
Gute Werkzeuge helfen bei vielen Aufgaben in Modernisierungsvorhaben. Analysewerkzeuge sorgen für ausreichend Detailwissen über das Altsystem. Werkzeuge für die Testspezifikation und -automation verbessern die Ausgangssituation. Automatische Transformationen von Code, Tests oder Daten aus dem Altsystem sichern Ihr Investment. Codegeneratoren steigern Qualität und Effizienz und setzen Architekturvorgaben sicher um. Ein wichtiger Erfolgfaktor liegt in der Anpassungsfähigkeit dieser Werkzeuge.
Ein gutes Team ist die Grundlage für jedes erfolgreiche Projekt. Bei der Modernisierung von alten Systemen werden unterschiedliche Fähigkeiten benötigt: Ein gutes Verständnis der Technologien des Altsystems, detailliertes Erfahrungswissen über die Zielarchitektur und die notwendigen Soft-Skills für das Change Management. Wir unterstützen Sie bei einzelnen Entwicklungsaufgaben oder übernehmen komplette Projekte.
Das Altsystem stellt ein wertvolles Investment dar. Es gilt möglichst viel des existierenden Altsystems zu extrahieren und zur Erstellung des neuen Systems zu nutzen. Daher erfolgt zu Beginn eine werkzeuggestützte Analyse des Altsystems mit dem Ziel, Strukturen im Code und in der Datenhaltung zu erkennen und diese automatisiert zu extrahieren.
Aus bestimmten Teilen des analysierten Altsystems werden formale Modelle mit höherer Abstraktion abgeleitet. Die Modelle decken unterschiedliche Aspekte (Frontend, Business-Logik, Daten, etc.) ab, die aus dem Altsystem automatisiert extrahiert werden. Weitere Modelle zur Vervollständigung der Systembeschreibung können manuell ergänzt werden. Die Modelle werden dann als Input für den Generator des Zielsystems verwendet.
Die (grobe) Zielarchitektur muss vor dem Anpassen des Generators feststehen. Alle Aspekte der Zielarchitektur werden manuell in Form einer Referenzimplementierung umgesetzt. Aus der Referenz-implementierung werden die Abbildungsvorschriften (Templates) für den Generator abgeleitet.
Der Generator erzeugt mittels der Templates das Zielsystem. Das generierte Zielsystem wird durch manuellen Code vervollständigt. Die sukzessive Verfeinerung des Zielsystems führt in einem iterativen Prozess zu einer entsprechenden Verfeinerung des Generators.