Eine Modernisierungs-Roadmap in 5 Schritten

Neuentwicklung klingt verlockend, ist aber meist der teuerste Weg. Eine gute Modernisierung Roadmap führt Sie in fünf klaren Schritten aus dem Legacy-Code — ohne den Betrieb zu riskieren.

Die meisten Legacy-Projekte, die auf meinem Tisch landen, beginnen mit demselben Satz: "Das System ist alt, wir müssen neu bauen." Und fast immer stimmt die zweite Hälfte nicht. Ein System, das seit Jahren im Produktivbetrieb läuft und das Tagesgeschäft trägt, ist kein Müll. Es ist der beste Beweis dafür, dass die Fachlogik funktioniert. Das Problem ist selten die Logik selbst, sondern der Code drumherum: veraltete Frameworks, fehlende Tests, direkter SQL-Zugriff in Templates, keine Trennung von Verantwortlichkeiten.

Eine Neuentwicklung wirft dieses erprobte Wissen weg und beginnt bei null — inklusive aller Fehler, die man vor Jahren schon einmal gelöst hatte. Deshalb brauchen Sie keine Neuentwicklung, sondern eine Modernisierung Roadmap: einen Plan, der das laufende System schrittweise gesundet, ohne den Betrieb anzuhalten. Hier sind die fünf Schritte, die sich in der Praxis bewährt haben.

Schritt 1: Bestandsaufnahme — was läuft hier eigentlich?

Bevor Sie eine Zeile ändern, müssen Sie wissen, womit Sie es zu tun haben. Bei alten PHP-Anwendungen fehlt diese Übersicht fast immer, weil die Menschen, die das System gebaut haben, längst weg sind.

Machen Sie eine ehrliche Inventur: Welche PHP-Version läuft (und wird sie noch mit Sicherheitsupdates versorgt)? Welche Frameworks und Libraries sind im Einsatz, und in welchen Versionen? Wo liegen die Geschäftsregeln — im Code, in Stored Procedures, in Cronjobs, oder in den Köpfen einzelner Mitarbeiter? Werkzeuge wie composer outdated, phpstan im niedrigsten Level und ein einfacher Dependency-Graph zeigen schnell, wo die Zeitbomben liegen. Ziel dieses Schritts ist keine Bewertung, sondern eine Landkarte.

Schritt 2: Risiken priorisieren statt alles gleichzeitig anzufassen

Der häufigste Fehler nach der Bestandsaufnahme: alles auf einmal reparieren wollen. Das führt zu monatelangen Umbauten ohne sichtbares Ergebnis — und irgendwann zieht das Management den Stecker.

Sortieren Sie stattdessen nach zwei Achsen: Risiko und Aufwand. Eine nicht mehr gepflegte PHP-Version oder eine bekannte SQL-Injection-Lücke ist hohes Risiko bei überschaubarem Aufwand — das kommt zuerst. Ein unschöner, aber stabiler Modul-Aufbau ist niedriges Risiko und darf warten. Fragen Sie sich bei jedem Punkt konkret: Was passiert, wenn wir das ein weiteres Jahr ignorieren? Bei Sicherheitslücken und auslaufendem PHP-Support lautet die Antwort meist "Ausfall oder Datenleck", bei Kosmetik "nichts". Diese Priorisierung ist das Rückgrat Ihrer Roadmap.

Schritt 3: Das Sicherheitsnetz einziehen — Tests vor Umbau

Legacy-Code lässt sich nicht gefahrlos ändern, solange Sie keine Rückmeldung bekommen, ob Sie etwas kaputtgemacht haben. Deshalb kommt vor jedem Refactoring das Sicherheitsnetz.

Sie brauchen keine hundertprozentige Testabdeckung, um anzufangen. Beginnen Sie mit Characterization Tests: Tests, die das aktuelle Verhalten festhalten — auch die Macken. Sie beschreiben nicht, wie das System sein sollte, sondern wie es ist. Priorisieren Sie die Pfade, mit denen Geld verdient wird: Bestellprozess, Login, Abrechnung. Ergänzend helfen End-to-End-Tests über die HTTP-Ebene, etwa mit Symfony BrowserKit oder einem einfachen Panther-Setup, weil sie das System so testen, wie der Nutzer es erlebt — ohne dass Sie erst die innere Struktur verstehen müssen.

Schritt 4: Inkrementell modernisieren mit der Strangler-Fig-Strategie

Jetzt beginnt der eigentliche Umbau — und zwar Stück für Stück, im laufenden Betrieb. Das bewährte Muster dafür heißt Strangler Fig (nach Martin Fowler): Sie legen das neue System wie eine Würgefeige um das alte, leiten nach und nach einzelne Funktionen um und lassen das Alte absterben, statt es in einem großen Schnitt zu ersetzen.

Konkret bei PHP heißt das oft:

  • Dependencies aktualisieren: zuerst auf eine unterstützte PHP-Version, dann Framework-Upgrades in einzelnen Minor-Schritten.
  • Fachlogik herauslösen: Geschäftsregeln aus Controllern und Templates in eigene Service-Klassen ziehen, die unabhängig testbar sind.
  • Neue Features neben dem Alten bauen: ein modernes Symfony- oder Laravel-Modul, das über einen gemeinsamen Einstiegspunkt neben dem Altsystem läuft.
  • Datenzugriff kapseln: rohe SQL-Strings hinter Repository-Klassen und vorbereitete Statements legen — das schließt nebenbei einen Großteil der Injection-Risiken.

Nach jedem Schritt ist das System lauffähig und deploybar. Genau das ist der Punkt: Sie liefern kontinuierlich, statt monatelang in einem Branch zu verschwinden.

Schritt 5: Absichern, dokumentieren und Rückfall verhindern

Modernisierung ist kein Projekt mit Enddatum, sondern ein Zustand, den man halten muss. Ohne Leitplanken verrottet auch der neue Code innerhalb von zwei Jahren wieder.

Verankern Sie deshalb das Erreichte: eine CI-Pipeline, die Tests und statische Analyse bei jedem Commit ausführt; ein phpstan-Level, das schrittweise angehoben und nie wieder gesenkt wird; und eine schlanke Dokumentation der Architekturentscheidungen, damit das Wissen nicht wieder in einzelnen Köpfen verschwindet. Legen Sie fest, dass neuer Code die Standards erfüllt, während alter Code beim Anfassen mitgezogen wird — die "Boy-Scout-Regel". So bleibt die Roadmap lebendig, statt in der Schublade zu verstauben.

Wie lange dauert eine solche Modernisierung Roadmap?

Das hängt von Größe und Zustand des Systems ab und lässt sich seriös nicht pauschal beziffern. Realistisch ist: Die ersten sichtbaren Ergebnisse — geschlossene Sicherheitslücken, ein unterstützter PHP-Stack, ein grüner Testlauf — erreichen Sie in der Regel in Wochen, nicht Jahren. Der große Vorteil des inkrementellen Vorgehens ist, dass Sie nach jedem Schritt einen echten Nutzen in der Hand haben und jederzeit neu priorisieren können, wenn sich die Geschäftslage ändert.

Ehrlicher Praxis-Tipp zum Schluss

Fangen Sie klein an. Der Fehler ist fast nie, zu vorsichtig zu modernisieren — sondern zu viel auf einmal zu wollen und dann zwischen halb fertigen Umbauten den Überblick zu verlieren. Nehmen Sie sich in Woche eins den einen Punkt mit dem höchsten Risiko und dem geringsten Aufwand vor, liefern Sie ihn aus, und bauen Sie darauf auf. Wenn Sie bei genau dieser Priorisierung oder beim ersten Sicherheitsnetz einen erfahrenen Blick von außen brauchen, unterstützt LegacyWerk genau an diesen Stellen.

Modernisierung Roadmap in 5 Schritten 1 2 3 4 5 Bestand aufnehmen Risiken priorisieren Tests als Sicherheitsnetz Inkrementell umbauen Absichern & halten Nach jedem Schritt: System lauffaehig und deploybar

Ist Ihre PHP-Anwendung noch zu retten?

Im kostenlosen Kurz-Check schaue ich mit Ihnen auf Ihr System und sage Ihnen ehrlich, was möglich ist – unverbindlich und ohne Verkaufsdruck.

Kurz-Check vereinbaren