Wissen von A bis Z

Legacy-System

Legacy-Code ist wie ein altes Erbstück: Manchmal wertvoll, oft verstaubt, aber man traut sich kaum, es wegzuwerfen.

Ein Legacy-System ist eine bestehende Software, die für ein Unternehmen weiterhin geschäftskritisch ist, aber auf veralteten Technologien, Architekturen oder Plattformen basiert. Typische Merkmale sind langjährig gewachsene Codebasen, fehlende oder lückenhafte Tests, abgekündigte Frameworks und schwer auffindbares Wissen.

Legacy-Systeme sind häufig zentrale Geschäftsanwendungen: Buchhaltung, Warenwirtschaft, Versicherungssysteme, Steuerungen oder branchenspezifische Software. Technisch reichen sie von Mainframe-Anwendungen über Client-Server-Lösungen bis hin zu in die Jahre gekommenen Webanwendungen mit veralteten Frameworks.

Einsatzzweck im Modernisierungskontext ist die Identifikation und gezielte Behandlung. Legacy-Systeme erschweren neue Anforderungen, erhöhen Betriebs- und Sicherheitsrisiken und binden Spezialwissen. Eine bewusste Strategie – Modernisierung, Ablösung, Einkapselung oder bewusster Erhalt – ist besser als unkontrollierte Erosion.

Der Begriff hat sich seit den 1980er Jahren etabliert, ursprünglich vor allem in Bezug auf Mainframes. Bekannt ist Michael Feathers' Buch "Working Effectively with Legacy Code" (2004), das Legacy bewusst nicht mit "alt", sondern mit "Code ohne Tests" definiert – eine Definition, die sich in vielen Engineering-Teams durchgesetzt hat.

In vielen Branchen sind Legacy-Systeme ein latentes Risiko: Banken laufen weiterhin auf COBOL, Versicherer auf alten Hosts, Industrie auf jahrzehntealten SCADA-Systemen. Bemerkenswert: 2020 rief der Gouverneur von New Jersey öffentlich nach COBOL-Programmierern, weil Pandemie-bedingte Anträge das alte System überforderten – ein Lehrstück über die Aktualität des Themas.

Zurück