Strategie
11 Min.

Der wahre Kostenpunkt von Legacy-Code: Was Unternehmen übersehen

Legacy-Code kostet nicht nur Entwicklerzeit. Er bremst Produktentwicklung, vertreibt Talente und macht jedes neue Feature zum Risiko. Eine ehrliche Rechnung.

Die Kosten, die niemand auf der Rechnung hat

Jedes Unternehmen mit Software, die älter als drei Jahre ist, hat Legacy-Code. Das ist normal. Was nicht normal ist: Wie systematisch die wahren Kosten dieses Codes unterschätzt werden.

Die offensichtlichen Kosten – längere Entwicklungszeiten, mehr Bugs, aufwändiges Onboarding – sind bekannt. Aber die wirklich teuren Auswirkungen von Legacy-Code sind die, die nie in einem Jira-Ticket auftauchen.

Die sichtbaren Kosten

Beginnen wir mit dem, was messbar ist:

Entwicklungsgeschwindigkeit: Features, die in einer modernen Codebasis zwei Tage dauern, brauchen in Legacy-Systemen zwei Wochen. Nicht weil die Entwickler langsamer sind, sondern weil jede Änderung Seiteneffekte hat, die verstanden und abgesichert werden müssen.

Bug-Rate: Legacy-Code hat typischerweise eine 3–5x höhere Bug-Rate als moderner Code. Nicht weil er schlecht geschrieben wurde, sondern weil er über Jahre gewachsen ist, ohne dass die Architektur mitgewachsen ist.

Testbarkeit: Alter Code wurde oft ohne Tests geschrieben. Nachträglich Tests hinzuzufügen ist möglich, aber teuer – und ohne Tests ist jede Änderung ein Blindflug.

Dokumentation: Je älter der Code, desto wahrscheinlicher ist es, dass die Menschen, die ihn geschrieben haben, nicht mehr im Unternehmen sind. Das Wissen steckt im Code – und manchmal in niemandem mehr.

Die unsichtbaren Kosten

Hier wird es teuer:

Talentabwanderung: Gute Entwickler wollen mit modernen Technologien arbeiten. Ein Team, das 80 % seiner Zeit damit verbringt, Legacy-Systeme am Laufen zu halten, verliert seine besten Leute. Und die Nachfolger sind teurer und brauchen Monate, um sich in den alten Code einzuarbeiten.

Opportunity Cost: Jede Stunde, die ein Entwickler mit Legacy-Wartung verbringt, ist eine Stunde, die nicht in neue Features, neue Produkte oder neue Märkte fließt. Das ist die teuerste Zeile auf der Rechnung – und sie taucht nie explizit auf.

Security-Risiken: Alte Frameworks und Bibliotheken erhalten irgendwann keine Sicherheitsupdates mehr. Die Lücken bleiben offen, weil ein Update die halbe Anwendung brechen würde. Das ist kein hypothetisches Risiko – es ist der Normalzustand in Legacy-Systemen.

Integrationsfähigkeit: Moderne APIs, Webhooks, KI-Services – Legacy-Systeme können oft nicht oder nur mit massivem Aufwand an aktuelle Technologien angebunden werden. Das bedeutet, dass das Unternehmen Chancen verpasst, die Wettbewerber mit moderneren Systemen nutzen.

Die psychologische Falle

Legacy-Code überlebt nicht trotz seiner Kosten, sondern wegen einer psychologischen Falle: der Sunk-Cost-Fallacy.

„Wir haben zehn Jahre in dieses System investiert" ist kein Argument dafür, weitere zehn Jahre hineinzustecken. Aber genau so denken die meisten Organisationen. Die Investition der Vergangenheit wird als Argument für die Zukunft verwendet – obwohl sie irrelevant ist.

Dazu kommt die Angst vor dem großen Rewrite. „Wenn wir das System neu schreiben, dauert das zwei Jahre und kostet eine Million." Das stimmt möglicherweise – aber die Alternative ist, jedes Jahr 300.000 Euro mehr für Wartung auszugeben und trotzdem langsamer zu werden.

Was die Rechnung wirklich zeigt

Ein mittelständisches Unternehmen mit einem Legacy-System rechnet typischerweise so:

Direkte Wartungskosten: 2–3 Entwickler, die hauptsächlich das Altsystem pflegen. 200.000–400.000 Euro pro Jahr.

Produktivitätsverlust: Features dauern 3x länger. Bei einem Team von 8 Entwicklern entspricht das dem Output-Verlust von 5 Entwicklern. Schwer bezifferbar, aber real.

Talentkosten: Höhere Gehälter nötig, um Entwickler für Legacy-Arbeit zu gewinnen. Höherer Turnover. Längeres Onboarding. 50.000–100.000 Euro Mehrkosten pro Jahr.

Verpasste Chancen: Nicht quantifizierbar, aber oft der größte Posten. Das Feature, das nicht gebaut wurde. Der Markt, der nicht erschlossen wurde. Die Integration, die nicht möglich war.

Der pragmatische Weg raus

Ein Big-Bang-Rewrite ist selten die Antwort. Er ist riskant, teuer und scheitert häufiger, als er gelingt. Stattdessen funktioniert ein inkrementeller Ansatz:

Strangler-Fig-Pattern: Neue Features werden in einer modernen Architektur gebaut. Der alte Code wird Stück für Stück durch neue Implementierungen ersetzt. Das System bleibt durchgehend funktionsfähig.

API-Schicht einziehen: Eine saubere API zwischen dem Legacy-System und der Außenwelt schafft eine Abstraktion, die schrittweise Modernisierung ermöglicht, ohne alles auf einmal anfassen zu müssen.

Kritische Pfade zuerst: Nicht alles muss modernisiert werden. Der Admin-Bereich, den drei Mitarbeiter nutzen, kann Legacy bleiben. Der kundennahe Checkout-Prozess, der jeden Tag tausende Transaktionen verarbeitet, nicht.

KI als Beschleuniger: Tools wie Claude Code können Legacy-Code analysieren, dokumentieren und schrittweise refactoren. Was früher Monate manueller Arbeit erforderte, lässt sich heute deutlich schneller bewältigen.

Was das für Entscheider bedeutet

Legacy-Code ist keine technische Entscheidung – es ist eine geschäftliche. Die Frage ist nicht „Sollen wir den alten Code behalten?", sondern „Was kostet es uns, ihn zu behalten – und was würden wir mit den freiwerdenden Ressourcen stattdessen tun?"

Wir bei nh labs helfen Unternehmen, genau diese Rechnung aufzumachen. Oft ist das Ergebnis überraschend: Die Modernisierung amortisiert sich schneller als erwartet – nicht weil sie billig ist, sondern weil die Kosten des Status quo höher sind als gedacht.

Fazit

Legacy-Code ist wie eine Hypothek mit steigendem Zinssatz. Je länger man wartet, desto teurer wird es. Die Unternehmen, die heute in schrittweise Modernisierung investieren, werden in zwei Jahren schneller, sicherer und attraktiver für Talente sein. Die, die warten, werden feststellen, dass ihre technische Schuld nicht nur Zinsen, sondern Zinseszinsen kostet.