DeusterDevelopment
← Zurück zur Übersicht

Legacy ist kein Defekt, sondern ein Zustand (1/8)

„Legacy" ist ein soziales Urteil, kein technisches Kriterium — es beschreibt meist nur, dass ein System länger existiert, als die Leute im Raum darüber reden wollen. Alter und Veraltetsein werden routinemäßig verwechselt, obwohl sie nichts miteinander zu tun haben müssen. Die ehrliche Designfrage lautet nicht, wie man Legacy vermeidet, sondern wie man Systeme baut, die diesen Zustand würdig erreichen.

Legacy ist kein Defekt, sondern ein Zustand (1/8)

Einleitung

In Meetings fällt das Wort meistens im Nebensatz.

„Das läuft noch auf dem alten System.”

Dann nickt jemand, und das Thema ist entschieden.

„Alt” ist ein Urteil, das keinen Widerspruch erwartet.

Dabei sagt das Wort nichts über Funktion.

Es sagt nur, dass das System länger existiert, als die Leute im Raum darüber reden wollen.


Ein soziales Urteil, kein technisches

Ich habe über viele Jahre mit Systemen gearbeitet, die von Kolleg:innen als Legacy bezeichnet wurden.

Irgendwann hatte ich aufgehört, das für eine technische Kategorie zu halten.

Es ist eine soziale.

Legacy ist, was man nicht mehr verteidigen will,

weil es uncool geworden ist.


Alt ist nicht veraltet

Was „alt” wirklich heißt, ist nicht einheitlich.

  • Ein TCP-Stack aus den achtziger Jahren ist alt und vollkommen funktional.
  • Eine Angular-Version von 2018 ist alt und praktisch nicht mehr wartbar.

Die beiden haben auf der Kalenderseite gleich viel gemeinsam wie ein achtzigjähriger Baum mit einer acht Jahre alten Smartphone-App.

Und tragen trotzdem dasselbe Etikett.

Wir verwechseln zwei Dinge:

  • Alter — eine Tatsache
  • Veraltetsein — ein Befund

Ein System kann alt sein und weiterhin tun, wofür es gebaut wurde.

Es kann jung sein und bereits verfehlen, wofür es gedacht war.

Die Branche reagiert fast nur auf das Alter.

Selten auf den Befund.


Die Umkehrung

Was wäre, wenn wir das umdrehen?

Dann wäre Legacy kein Defekt.

Dann wäre es ein Zustand, den ein System erreicht,

weil es lange genug funktioniert hat, um überhaupt beurteilt zu werden.

Systeme, die nie Legacy werden, sind nicht unbedingt besser.

Sie sind oft nur früh genug kaputtgegangen, um diesem Urteil zu entkommen.

Die Designfrage verschiebt sich.

Nicht mehr: Wie vermeide ich Legacy?

Sondern: Wie baue ich etwas, das diesen Zustand würdig erreicht?


Was diese Serie vorhat

Diese Serie beschäftigt sich mit Systemen, die überlebt haben:

  • COBOL, das in Banken arbeitet, während die vierte Rewrite-Welle an ihm vorbeizieht
  • Modbus, das in Fabriken läuft, in denen die Web-Frameworks der letzten Jahre längst vergessen sind
  • SAP, das so tief in Organisationen eingewachsen ist, dass „Ablösung” kein technisches Projekt mehr ist

Und mit dem, was wir daraus lernen können,

wenn wir ehrlich hinschauen.


Meine Position

Ich nehme einen klaren Standpunkt ein.

Nicht jeder Rewrite ist ein Fehler.

Aber die meisten sind Theater.

Nicht jedes alte System muss bleiben.

Aber die Vermutung sollte nicht „weg damit” sein,

sondern „warum läuft das noch?”.

Das ist keine Nostalgie.

Das ist Respekt vor der Tatsache, dass Funktionieren schwieriger ist,

als man es auf Folien aussehen lässt.


Zentrale Beobachtung

Legacy ist kein Defekt.

Legacy ist ein Zustand, den ein System erreicht,

weil es lange genug funktioniert hat,

um überhaupt beurteilt zu werden.


Abschlussgedanke

Vielleicht ist das die ehrlichste Messlatte.

Nicht, ob das System modern wirkt.

Sondern ob die Leute, die es nach uns bedienen,

damit arbeiten können, ohne uns zu hassen.

Legacy wäre dann kein Schimpfwort mehr.

Es wäre eine Auszeichnung.

Verwandte Beiträge

Systeme für das Altern entwerfen (8/8)

Systeme für das Altern entwerfen (8/8)

Systeme, die altern sollen, müssen ohne ihre Autoren funktionieren — das verlangt langlebige Schnittstellen, vorsichtige Versionierung, ehrliche Dokumentation und das bewusste Vermeiden ephemerer Abhängigkeiten. Legacy ist kein Scheitern, sondern Erfolg, der lange genug angehalten hat, um außer Mode zu kommen. Die Frage beim nächsten Projekt lautet nicht „wird das modern sein?", sondern „kann ich mir vorstellen, dass das in zwanzig Jahren noch läuft, ohne dass mich jemand dafür verflucht?".

Warum COBOL 2026 immer noch läuft (2/8)

Warum COBOL 2026 immer noch läuft (2/8)

COBOL läuft in Banken und Versicherungen nicht aus Nostalgie, sondern aus nüchterner Kalkulation: deterministisches Verhalten, keine Dependency-Drift, belegbare Stabilität. Ablöseprojekte scheitern selten an der Sprache, sondern an jahrzehntealten, undokumentierten Geschäftsregeln, die erst beim Umzug sichtbar werden. Die Alternative zu Legacy ist nicht Modernität, sondern Risiko.