Zum Inhalt wechseln
Pattern - Header - Left Pattern - Header - Left

Legacy System Migration

Erfolg über Teams und Grenzen hinweg aufbauen.

Pattern - Header - Left Pattern - Header - Left
Case Study Legacy System Migration 500X250 (1)

Über den Kunden

Unser Kunde, ein großes, an der Londoner Börse notiertes Unternehmen, verkauft Lebensmittel über eine Supermarktkette und einen Online-Lieferdienst. Das Unternehmen beliefert Kunden in ganz Großbritannien über etwa 500 Geschäfte und bietet Waren an, von denen ein Großteil über eigene Produktionsstätten (über 10 Standorte in ganz Großbritannien) bezogen und verarbeitet wird.

Branche Einzelhandel 
Technologie Visual Basic 6, Classic ASP, SQL 2005

Die wichtigsten Erfolge

  • Das Legacy-System wurde angepasst, um Unternehmenswachstum zu unterstützen
  • Verbessertes Team-Setup, das zu einer niedrigen Fluktuationsrate führte
  • Die Problemlösungszeit wurde von 7 Stunden auf 30 Minuten reduziert
  • Reduzierung der Wartungskosten für taktische Lösungen dank neuer Integrationen
  • Die Grundlagen für den Aufbau einer neuen strategischen Lösung wurden gelegt

Die Herausforderung

Geschäftsanforderungen

Unser Kunde muss einen Legacy-Stack mit minimalen Investitionen pflegen und unterstützen, um die Geschäftskontinuität zu gewährleisten und gleichzeitig eine neue strategische Lösung einzuführen. Der Kunde fühlte sich auch verpflichtet die technische Schuld kontinuierlich zu verwalten, um die erwartete Benutzererfahrung bereitzustellen. Die größte Herausforderung bestand darin, mit alter, „overdeveloped“ Technologie einen unterbrechungsfreien Betrieb zu gewährleisten, bei dem jede Änderung nur minimale Auswirkungen auf das Framework haben sollte und gleichzeitig die gewünschten Erwartungen an die Benutzererfahrung erfüllte.

Um die Geschäftsanforderungen zu unterstützen, während die neue Lösung noch nicht verfügbar war, mussten wir ein temporäres Setup verwalten. Die Einführung einer neuen Funktionalität bedeutete den Umgang mit komplexen Abhängigkeiten und das Überschreiben eines Blocks von 25.000 Zeilen Live-Code mit vielen Ausnahmen in einem einzigen Verfahren. Hinzu kommt, dass fähige Fachkraft dazu rar geworden ist. Die wenigsten sind noch bereit, mit veralteten Technologien zu arbeiten.

Auch die Wartung alter Systeme war eine Herausforderung. Erforderliche Umgebungen werden nicht mehr unterstützt oder sind gar nicht mehr verfügbar. Der gesamte Prozess erforderte die Verwendung von Umgebungen, die auf virtuellen Maschinen eingerichtet werden müssen. Dies zieht zusätzliche Ressourcen und Investitionen nach sich, während das Ziel des gesamten Vorgangs darin besteht, die Kosten zu minimieren, damit die Reserven in strategische Lösungen investiert werden können. Schließlich machten technologische Einschränkungen die Anwendung moderner Praktiken wie Continuous Integration und 1-Click-Bereitstellung sehr schwierig.

Die Lösung

Projekt Details

Unter Berücksichtigung dieser Einschränkungen konnten wir ein agiles Framework bereitstellen, das die Geschäftskontinuität sicherstellte, das Unternehmen kontinuierlich auf den Ausstieg des Legacy-Stacks vorbereitete und gleichzeitig eine Integration mit dem neuen System forcierte. Mit dieser Strategie minimierten wir die Wartungskosten.

  • Build: Dieses Team nutzt die Anforderungen des Kunden an neue Funktionalitäten mit der bestehenden Lösung, unter Verwendung einer agilen Denkweise. Sie erweitern das Legacy-System, indem sie neue Funktionen und technische Lösungen hinzufügen, die das Unternehmenswachstum unterstützen. Außerdem hilft das Team hilft dem Kunden bei seinem Backlog-Management.
  • Run: Dieses Team verwendet Kanban, um alle eingehenden Probleme zu lösen - ein vollständiges Incident-Management. Das Ticketmanagement basiert auf der Priorität P1 bis P4 und die SLAs werden gemäß den Kundenanforderungen verwaltet. Das Team unterstützt proaktiv und reaktiv in der täglichen Arbeit. Das bedeutet, dass sie zusätzlich zu den typischen reaktiven Supportaufgaben auch proaktiv ein präventives Management mit regelmäßigen Systemzustandsprüfungen und Datenbanküberwachung durchführen.

Der Legacy-Stack ist eine komplexe Umgebung mit mehreren Ausnahmen und Loops. Es kommuniziert auch mit dem Mainframe, daher musste jede Änderung, die wir vornahmen, sorgfältig geplant und überlegt werden, damit ein reibungsloser Geschäftsbetrieb ohne Fehler möglich ist.

Um das Altsystem auf sein Ende vorzubereiten, ist jede Änderung, die wir an Schlüsselkomponenten vornahmen, auch eine Integration in die strategische Lösung. Wir verabschiedeten uns sukzessiv vom Legacy-System, sodass immer mehr Informationen von der neuen Lösung verarbeitet wurden.

Auf drei Arten wurden im Altsystem neue Komponenten mit dem neuen System integriert:

  • Endbenutzer verwendet weiterhin die Legacy-Lösung.
  • Das neue und das alte System arbeiten parallel, bis die Legacy-Funktionalität abgeschaltet werden kann.

Wir stellten sicher, dass:

  • Nur das Run-Team Zugriff auf den Live-Code hatte. Somit wurde der Live-Code nur von Personen geändert, die seine Komplexität und Abhängigkeiten auswendig kannten.
  • 4-Augen-Check für alle Entwicklungen.
  • Durchführen von Code-Reviews. Alles, was das Build-Team erstellte, wurde vor dem Hochladen genauestens überprüft.
  • 24/7-Support

Auch die Integrationswartung erfordert einen spezifischen Ansatz. Die Integration zweier parallel laufender Umgebungen verkleinert das Wartungsfenster. Je mehr Integration wir einführten, desto mehr Abhängigkeiten mussten geprüft werden und desto kleiner wird das Wartungsfenster. Um einen reibungslosen Ablauf der Legacy-Lösung zu ermöglichen und die Konsistenz zwischen den beiden Systemen zu gewährleisten, führten wir routinemäßig Betriebstests durch und wandten uns an Techniken zur Verhinderung von Dominoeffekten. Darüber hinaus war es in einem solchen Setup schwierig das Domänenwissen beizubehalten. Der Einarbeitungsprozess ist lang (etwa sechs Monate) und es ist problematisch, Personen mit Domänenkenntnisse zu ersetzen. Um dem entgegenzuwirken, haben wir folgendes Setup angewendet:

  • Wir ermöglichen unseren Mitarbeitern, mit neuen Technologien zu arbeiten und sich weiterzuentwickeln. Dies hat keinen Einfluss auf die Kapazität unseres Kunden.
  • Wir ermutigen unsere Mitarbeiter, zwischen Run- und Build-Teams zu wechseln.
  • Wir stellen sicher, dass unsere Teams verstehen, wie wichtig ihre Arbeit für den Kunden ist.
  • Und wir bieten finanzielle Prämien an.

Das Ergebnis

Die Geschäftsvorteile

Wir pflegen den Legacy-Stack effektiv mit minimalem finanziellen Aufwand und ermöglichen gleichzeitig das Wachstum des Unternehmens. Das alte System wird am Leben gehalten, bis die neue Lösung betriebsbereit ist und das aktuelle System außer Betrieb genommen werden kann.

 

Fallstudien

Kontakt

Starten Sie Ihr Projekt mit Objectivity

CTA Pattern - Contact - Middle