Was «Legacy» wirklich bedeutet

Legacy Code ist nicht einfach alter Code. Es ist Code, der sich nicht mehr sicher ändern lässt. Typische Anzeichen sind veraltete Programmiersprachen oder Frameworks ohne Updates, fehlende Dokumentation, nur wenige Personen, die das System verstehen, und eine Struktur, in der eine kleine Änderung an einer Stelle unerwartete Auswirkungen an anderer Stelle hat.

Gleichzeitig enthalten Altsysteme oft jahrelang gewachsenes Geschäftswissen: besondere Preisregeln, Ausnahmen für einzelne Kunden, über die Zeit verfeinerte Abläufe. Dieses Wissen ist wertvoll – und der Hauptgrund, weshalb es riskant ist, ein solches System einfach wegzuwerfen.

Warum Abwarten etwas kostet

Alternde Software fällt selten über Nacht aus. Die Kosten steigen vielmehr schleichend. Jede neue Funktion dauert länger. Sicherheitsupdates für zugrunde liegende Komponenten gibt es nicht mehr. Die Anbindung an neuere Anwendungen – einen Onlineshop, ein CRM, ein Reporting-Werkzeug – wird kompliziert oder unmöglich. Und wenn die wenigen Personen, die den Code kennen, nicht verfügbar sind, werden selbst kleine Korrekturen zum Problem.

Was eine Modernisierung umfasst

Eine Modernisierung erneuert ein System und erhält dabei, was es für das Unternehmen leistet. Je nach Ausgangslage kann sie Folgendes umfassen:

  • Veraltete Teile des Codes nach aktuellen Standards überarbeiten oder neu schreiben
  • Auf unterstützte Versionen von Programmiersprachen, Bibliotheken und Plattformen umstellen
  • Den Code so strukturieren, dass er leichter zu warten, zu testen und zu erweitern ist
  • Einzelne veraltete Komponenten durch zeitgemässe Alternativen ersetzen
  • Das System an aktuelle Anforderungen an Sicherheit und Kompatibilität anpassen

Schrittweise statt auf einen Schlag

Eine sorgfältige Modernisierung beginnt in der Regel mit einer Analyse des bestehenden Systems: Was leistet es, welche Teile sind kritisch, wo liegen die grössten Risiken? Darauf aufbauend werden Prioritäten gesetzt und die Arbeiten in überschaubaren Etappen umgesetzt. Tests spielen dabei eine zentrale Rolle – insbesondere Regressionstests, die nach jeder Änderung prüfen, ob bestehende Funktionen noch wie bisher arbeiten.

So läuft der Betrieb während des gesamten Vorhabens weiter, und das Risiko einer einzigen, grossen Umstellung sinkt.

Fragen vor dem Start

Wenn Sie die Modernisierung einer Anwendung in Betracht ziehen, helfen diese Fragen, die Ausgangslage zu klären:

  • Welche Geschäftsprozesse hängen vom System ab, und welche davon sind kritisch?
  • Welche Technologien verwendet es, und werden diese noch unterstützt?
  • Gibt es eine Dokumentation – und wer versteht den Code heute?
  • Welche neuen Anforderungen soll das System künftig erfüllen können?

Zurück zu allen Insights