Legacy-Modernisierung: Monolithen in wartbare Systeme überführen
Schrittweise statt Big Bang. Strangler-Fig-Pattern, Domain-Driven Design und Java/Spring Boot — bei laufendem Betrieb, ohne Feature-Stopp.
Die meisten Modernisierungsprojekte scheitern nicht an der Technik, sondern am Zuschnitt. Ein Neubau auf der grünen Wiese braucht Jahre, in denen das Altsystem weiterläuft und weiter wächst — am Ende sind zwei Systeme zu pflegen statt eines. Ich modernisiere deshalb inkrementell: Das Altsystem bleibt produktiv und verliert Stück für Stück Verantwortung an neue, klar geschnittene Module.
Der konkrete Nachweis: In einem dreijährigen Mandat habe ich über 20 Module aus einer gewachsenen Enterprise-Codebasis extrahiert — ohne Big-Bang-Umstellung, ohne Wartungsfenster, mit durchgehend auslieferbarem Stand. Jedes Modul ging einzeln in Produktion, jedes war einzeln zurückrollbar.
Das Ziel ist nie Modernisierung um ihrer selbst willen. Es geht um die Kennzahlen, die im Alltag wehtun: Wie lange dauert ein Release? Wie viele Regressionen kommen pro Deployment zurück? Wie lange braucht ein neuer Entwickler bis zum ersten sinnvollen Commit? Wenn diese Zahlen sich nicht bewegen, war die Modernisierung teuer und folgenlos.
Leistungen im Überblick
Architektur-Assessment des Bestands
Bevor irgendetwas umgebaut wird: Wo liegen die tatsächlichen Kopplungen, welche Module ändern sich gemeinsam, wo sitzt das Risiko? Ergebnis ist eine priorisierte Schnittfolge mit Aufwand und Risiko pro Schnitt — keine Folien, sondern eine Reihenfolge, nach der gearbeitet werden kann.
Inkrementelle Extraktion nach Strangler-Fig
Neue Module übernehmen Verantwortung hinter einer Fassade, das Altsystem wird schrittweise entlastet und am Ende abgeschaltet. Jeder Schritt ist einzeln deploybar und einzeln zurückrollbar — kein Stichtag, an dem alles gleichzeitig funktionieren muss.
Domain-Driven Design als Schnittwerkzeug
Bounded Contexts und Aggregate liefern die fachliche Begründung für jeden Schnitt. Module, die entlang der Fachlichkeit geschnitten sind, ändern sich unabhängig voneinander — technisch geschnittene Module tun das nicht und verursachen dieselben Abhängigkeiten in neuer Verpackung.
Modernisierung des Technologie-Unterbaus
Java-Versionssprünge, Spring-Boot-Migration, Ablösung veralteter Persistenz- und Build-Ketten, Aufbau von CI/CD samt Testabsicherung. Ohne belastbare Pipeline ist inkrementelle Modernisierung nicht durchführbar — sie ist die Voraussetzung, nicht die Kür.
Wie ein Mandat abläuft
Bestandsaufnahme (2–4 Wochen)
Code-Analyse, Änderungshistorie, Gespräche mit dem Team. Am Ende steht eine Karte des Systems: fachliche Grenzen, tatsächliche Abhängigkeiten, die drei Stellen mit dem größten Hebel.
Erster Schnitt als Pilot
Ein bewusst überschaubares Modul wird vollständig extrahiert und produktiv gesetzt. Der Pilot beweist das Vorgehen im eigenen Haus — und deckt auf, was in der Infrastruktur noch fehlt, bevor es teuer wird.
Serie mit dem Team
Die folgenden Schnitte laufen im Takt und zunehmend durch Ihre eigenen Entwickler. Ich arbeite mit, reviewe und übergebe das Muster — Ziel ist, dass die Serie ohne mich weiterläuft.
Abschaltung und Übergabe
Das Altsystem verliert seine letzten Verantwortlichkeiten und geht vom Netz. Dokumentierte Architekturentscheidungen bleiben, damit die nächste Generation nachvollziehen kann, warum geschnitten wurde wie geschnitten wurde.
Woran sich das Ergebnis messen lässt
Modernisierung ist erst dann eingetreten, wenn sich Release-Frequenz, Regressionsrate und Einarbeitungszeit messbar verbessert haben. Diese drei Werte werden zu Beginn erhoben und bleiben während des Mandats sichtbar — sie sind der Maßstab, an dem die Arbeit gemessen wird.
Ich arbeite dabei mit KI-Agenten, aber unter Verifikation: generierter Code geht durch dieselben Tests, Reviews und Guard-Rails wie handgeschriebener. Das beschleunigt Routinearbeit wie Testabdeckung und mechanische Umbauten erheblich, ersetzt aber keine Architekturentscheidung.
Häufige Fragen zur Legacy-Modernisierung
Was Auftraggeber vor einem Modernisierungsmandat regelmäßig wissen wollen.
Ist Neuentwicklung nicht günstiger als Modernisierung?
In der Kalkulation fast immer, in der Realität selten. Ein Neubau muss den kompletten Funktionsumfang nachbilden, einschließlich der Sonderfälle, die niemand mehr dokumentiert hat und die erst beim Umschalten auffallen. Währenddessen läuft das Altsystem weiter und wird weiterentwickelt — Sie zahlen zwei Systeme parallel. Inkrementelle Modernisierung verteilt den Aufwand, liefert früher Nutzen und lässt sich jederzeit anhalten, ohne dass das Investierte verfällt.
Muss die Entwicklung während der Modernisierung stillstehen?
Nein, und genau deshalb wird inkrementell gearbeitet. Fachliche Anforderungen laufen parallel weiter; neue Features werden bevorzugt in den bereits extrahierten Modulen umgesetzt, wodurch sich der Umbau teilweise selbst finanziert. Ein Feature-Stopp über Monate ist in den meisten Organisationen ohnehin nicht durchsetzbar.
Wie lange dauert so ein Mandat?
Das Assessment dauert zwei bis vier Wochen, der Pilotschnitt üblicherweise sechs bis zehn Wochen. Wie lange die Serie läuft, hängt von Systemgröße und Teamkapazität ab — ein größeres Enterprise-System kann mehrere Jahre umfassen. Wichtig ist, dass nach dem Piloten belastbar geschätzt werden kann statt vorher geraten zu werden.
Was passiert, wenn das Wissen über das Altsystem im Haus fehlt?
Das ist der Normalfall, nicht die Ausnahme. Die Bestandsaufnahme stützt sich deshalb nicht auf Dokumentation, sondern auf Code und Änderungshistorie: Welche Dateien werden gemeinsam geändert, wo häufen sich Fehlerkorrekturen, welche Pfade werden produktiv überhaupt durchlaufen. Das ergibt ein belastbareres Bild als ein veraltetes Architekturdokument.
Arbeiten Sie allein oder mit meinem Team?
Mit Ihrem Team. Der Pilotschnitt läuft überwiegend durch mich, damit das Muster steht; danach verschiebt sich die Arbeit bewusst zu Ihren Entwicklern und ich reviewe. Ein Mandat, nach dessen Ende nur ich das neue System verstehe, hat die Abhängigkeit verschoben statt sie aufgelöst.
Welche Technologien setzen Sie ein?
Schwerpunkt ist Java mit Spring Boot, dazu Spring Modulith für modulare Monolithen, PostgreSQL, Docker und CI/CD mit GitHub Actions. Im Frontend Angular oder React. Die Technologieauswahl folgt aber dem Bestand — eine Modernisierung, die nebenbei den kompletten Stack wechselt, verdoppelt das Risiko ohne Not.