Zum Hauptinhalt springen
IT-Glossar

Was ist Legacy Code?

Geschäftlich relevante Software, die nur schwer zuverlässig nachvollzogen, verändert oder betrieben werden kann.

In der Praxis

Legacy Code ist geschäftlich relevante Software, die sich nur schwer zuverlässig nachvollziehen, verändern oder betreiben lässt. Änderungen werden riskant, wenn Abhängigkeiten, Datenflüsse oder erwartetes Verhalten nicht ausreichend nachvollziehbar sind. Der Begriff beschreibt damit vor allem den praktischen Zustand einer Software und nicht ihr Alter oder die verwendete Technologie.

Auch neu entwickelte Software mit modernen Frameworks kann zu Legacy Code werden, wenn fachliches Wissen fehlt, Verantwortlichkeiten unklar sind oder Änderungen nicht verlässlich geprüft werden können. Ob eine schrittweise Modernisierung, eine Stabilisierung des Betriebs oder ein Website-Relaunch sinnvoll ist, hängt vom Zustand des Systems, den Geschäftsprozessen und den Risiken einer Ablösung ab.

Woran lässt sich Legacy Code erkennen?

Das Alter allein macht eine Anwendung noch nicht zu Legacy Code. Kritisch wird es, wenn Wissen nur bei einzelnen Personen liegt, Abhängigkeiten nicht mehr gepflegt werden oder selbst kleine Änderungen unerwartete Seiteneffekte auslösen. Fehlende Tests, unklare Datenflüsse und manuelle Bereitstellungen verstärken dieses Risiko. Auch ein modernes Framework kann zu schwer wartbarem Legacy Code werden, wenn Struktur und Dokumentation fehlen.

Schrittweise modernisieren statt blind ersetzen

Vor einer Modernisierung sollten die geschäftskritischen Prozesse, Schnittstellen und Datenbestände erfasst werden. Automatisierte Tests sichern zunächst das heute erwartete Verhalten ab. Danach können besonders riskante oder häufig geänderte Bereiche priorisiert und in klaren Etappen verbessert werden.

Ein vollständiger Neubau ist nicht immer die wirtschaftlichste Wahl. Je nach Zustand kann es sinnvoller sein, einzelne Module zu entkoppeln, eine API vor das Altsystem zu setzen oder den Betrieb zuerst zu stabilisieren. Die Entscheidung sollte auf einer technischen Bestandsaufnahme und den tatsächlichen Prozessanforderungen beruhen.