Skip to content

Laravel-Anwendung modernisieren oder neu entwickeln?

Eine Neuentwicklung wirkt oft übersichtlicher als die Reparatur einer gewachsenen Laravel-Anwendung. Sie übernimmt jedoch auch sämtliche Geschäftsregeln, Daten und Integrationen – einschließlich der Details, die niemand dokumentiert hat. Dieser Entscheidungshelfer zeigt dir, wie du Modernisierung, Neubau und schrittweisen Ersatz sinnvoll vergleichst.

Moritz Klaßen

Moritz Klaßen

Entwickler & Gründer von Klassen AI

7 Min. Lesezeit

Vor einer größeren Laravel-Überarbeitung steht oft dieselbe Entscheidung: Bestehenden Code weiterentwickeln oder die Anwendung neu aufsetzen? Die Antwort ergibt sich weder aus dem Alter des Frameworks noch aus der Qualität einzelner Klassen. Maßgeblich ist, wie zuverlässig du Geschäftslogik, Daten und laufende Abläufe in einen änderbaren Zustand überführen kannst.

Ein Neubau kann richtig sein. Eine Modernisierung ebenfalls. In vielen Fällen liegt die wirtschaftlich sinnvolle Lösung dazwischen: Du ersetzt besonders problematische Bereiche schrittweise und lässt stabile Funktionen zunächst unangetastet. Damit diese Entscheidung nicht nach Bauchgefühl fällt, brauchst du einen Vergleich auf Grundlage konkreter Geschäftsabläufe.

Die Anwendung ist mehr als ihr Laravel-Code

Eine gewachsene Anwendung enthält meist Regeln, die weder im Lastenheft noch in Tickets vollständig beschrieben sind. Dazu gehören Sonderfälle bei Preisen, Freigaben, Fristen, Benutzerrechten, Exporten oder Benachrichtigungen. Manche dieser Regeln sind im Code erkennbar. Andere stecken in Daten, manuellen Arbeitsschritten oder den Erwartungen der Beschäftigten.

Ein typisches Beispiel ist ein internes Auftragsportal. Auf den ersten Blick verwaltet es Kunden, Aufträge und Dokumente. Im Alltag berücksichtigt es zusätzlich abweichende Rechnungsadressen, nachträgliche Korrekturen, gesperrte Kundenkonten und historische Nummernkreise. Ein neues Datenmodell kann eleganter aussehen und trotzdem wichtige Fälle übersehen.

Bevor du technische Optionen vergleichst, solltest du deshalb klären, welchen betrieblichen Wert die vorhandene Anwendung bereits abbildet. Je umfangreicher und weniger dokumentiert diese Regeln sind, desto höher ist das fachliche Risiko einer vollständigen Neuentwicklung.

Diese Bestandsaufnahme brauchst du vor der Entscheidung

Eine reine Codeanalyse reicht nicht aus. Sie zeigt dir technische Schulden, aber nicht automatisch deren Bedeutung für den Betrieb. Untersuche die Anwendung aus vier Perspektiven.

Geschäftsvorgänge

Liste die wichtigsten Vorgänge auf, die durch die Anwendung laufen. Beschreibe jeweils den Auslöser, die beteiligten Rollen, das gewünschte Ergebnis und bekannte Ausnahmen. Beginne bei Vorgängen mit finanziellen, rechtlichen oder organisatorischen Folgen.

Die entscheidende Frage lautet: Kann dein Team erklären, wie der Vorgang vollständig funktioniert, oder liefert nur die bestehende Anwendung die Antwort? Im zweiten Fall ist die Software zugleich Dokumentation, auch wenn sie dafür nur eingeschränkt geeignet ist.

Daten und Historie

Prüfe, welche Daten übernommen werden müssen und welche davon über Jahre gewachsen sind. Relevant sind nicht nur Tabellen und Dateianhänge. Beziehungen, Statusverläufe, externe Kennungen und frühere Berechnungsergebnisse können ebenfalls benötigt werden.

Bei einer Neuentwicklung musst du festlegen, ob historische Daten migriert, archiviert oder weiterhin aus dem Altsystem gelesen werden. Diese Entscheidung beeinflusst den Projektumfang erheblich. Plane die Datenmigration früh, weil sie Datenqualität, Schnittstellen und den Umschaltzeitpunkt betrifft.

Integrationen und Randprozesse

Erfasse angebundene Systeme wie Warenwirtschaft, Zahlungsanbieter, CRM, E-Mail-Versand, Dateispeicher oder externe APIs. Ergänze manuelle Exporte und Importe. Gerade CSV-Dateien wirken technisch nebensächlich, können aber einen zentralen Arbeitsablauf versorgen. Falls solche Übertragungen eine größere Rolle spielen, hilft dir der Artikel zum prüfbaren Laravel-CSV-Import bei der fachlichen Einordnung.

Änderungsfähigkeit

Betrachte, wie aufwendig eine typische fachliche Änderung heute ist. Muss dafür ein großer, eng verknüpfter Bereich angefasst werden? Lassen sich Änderungen testen und getrennt ausrollen? Oder scheitert die Arbeit bereits daran, dass lokale Entwicklungsstände, Datenbank und Produktivbetrieb kaum reproduzierbar zusammenpassen?

Hier zeigt sich, ob du hauptsächlich ein Versionsproblem oder ein Strukturproblem hast. Ein älteres Framework lässt sich unter Umständen schrittweise aktualisieren. Unklare Zuständigkeiten im Code, unbeherrschte Seiteneffekte und fehlendes Fachwissen verschwinden durch ein Upgrade allein nicht.

Wann eine Modernisierung sinnvoll ist

Bei einer Modernisierung bleibt die bestehende Anwendung grundsätzlich erhalten. Du aktualisierst Abhängigkeiten, sicherst kritische Abläufe mit Tests ab und überarbeitest problematische Bereiche kontrolliert. Das passt besonders gut, wenn der fachliche Kern weiterhin trägt.

Für eine Modernisierung sprechen folgende Bedingungen:

  • Die zentralen Geschäftsabläufe funktionieren zuverlässig. Probleme betreffen eher Wartbarkeit, Oberfläche oder einzelne Module.
  • Das Datenmodell bildet den Betrieb noch passend ab. Anpassungen sind nötig, aber keine vollständige fachliche Neuordnung.
  • Die Anwendung lässt sich in bearbeitbare Bereiche zerlegen. Du kannst Komponenten aktualisieren, ohne jedes Mal das gesamte System umzubauen.
  • Ein längerer Funktionsstopp ist ausgeschlossen. Das Unternehmen braucht während der Arbeiten weiterhin kleinere Änderungen und Fehlerbehebungen.
  • Das vorhandene Verhalten besitzt hohen Wert. Viele Sonderfälle sind bereits korrekt umgesetzt, auch wenn ihre Dokumentation Lücken hat.

Modernisierung bedeutet nicht, jede alte Klasse beizubehalten. Manche Bereiche dürfen ersetzt werden. Der Unterschied zum Neubau liegt darin, dass du funktionierende Abläufe und Daten gezielt weiterverwendest.

Besondere Aufmerksamkeit verdienen Datenbankänderungen. Sie verbinden alten und neuen Code und können deshalb den möglichen Rollout bestimmen. Ein planbares Vorgehen beschreibt der Beitrag über das Testen und Deployen von Laravel-Datenbankmigrationen.

Wann eine Neuentwicklung vertretbar ist

Eine Neuentwicklung bietet sich an, wenn die vorhandene Anwendung die heutigen Abläufe grundsätzlich falsch abbildet. Dann würdest du bei einer Modernisierung viel Aufwand investieren, um ein überholtes Modell technisch sauberer zu betreiben.

Ein Neubau wird plausibel, wenn mehrere dieser Merkmale zusammentreffen:

  • Die Geschäftsprozesse haben sich grundlegend verändert. Begriffe, Rollen und Freigabewege des Altsystems passen nicht mehr zum Betrieb.
  • Das Datenmodell erzwingt ständig Umwege. Neue Anforderungen lassen sich nur über Hilfstabellen, Mehrfachbelegungen oder schwer nachvollziehbare Sonderlogik abbilden.
  • Funktionen sind kaum voneinander trennbar. Selbst kleine Änderungen lösen unüberschaubare Seiteneffekte in fachlich entfernten Bereichen aus.
  • Ein klar begrenzter Zielumfang ist möglich. Du kannst definieren, welche Vorgänge der Neubau zum Start tatsächlich beherrschen muss.
  • Datenübernahme und Parallelbetrieb sind lösbar. Für historische Daten, offene Vorgänge und den Umschaltzeitpunkt existiert ein belastbarer Plan.

Der letzte Punkt entscheidet häufig über die Machbarkeit. Ein neues System kann technisch fertig sein und trotzdem nicht eingeführt werden, weil offene Aufträge, Dokumente oder externe Kennungen nicht sauber übertragen werden können.

Vermeide außerdem eine unkritische Nachbildung des gesamten Altsystems. Wenn jede selten genutzte Funktion vor dem Start erneut gebaut werden muss, entsteht ein langes Projekt mit veränderlichem Umfang. Definiere stattdessen den kleinsten fachlich vollständigen Umfang: Ein Vorgang muss von Anfang bis Ende funktionieren, auch wenn angrenzende Komfortfunktionen später folgen.

Der schrittweise Ersatz als dritte Option

Zwischen Modernisierung und vollständiger Neuentwicklung liegt der schrittweise Ersatz. Dabei bleibt die alte Anwendung zunächst in Betrieb, während du einzelne fachliche Bereiche herauslöst oder neu aufbaust. Geeignet sind Module mit klaren Ein- und Ausgaben, etwa Dokumentenerzeugung, Benachrichtigungen, ein Kundenbereich oder eine abgegrenzte Importstrecke.

Diese Variante begrenzt das Risiko, verlangt aber klare Zuständigkeiten für Daten. Für jeden ersetzten Bereich muss feststehen, welches System führend ist. Wenn alter und neuer Teil denselben Datensatz unabhängig ändern dürfen, entstehen Synchronisationskonflikte und widersprüchliche Datenstände.

Ein schrittweiser Ersatz ist sinnvoll, wenn du früh betrieblichen Nutzen liefern möchtest und die Anwendung genügend Grenzen zwischen ihren Bereichen besitzt. Ist alles über gemeinsame Tabellen und implizite Seiteneffekte verbunden, musst du diese Grenzen zuerst schaffen.

So vergleichst du die Optionen ohne Scheingenauigkeit

Eine Punktetabelle kann die Diskussion strukturieren. Sie sollte jedoch keine mathematische Sicherheit vortäuschen. Bewerte Modernisierung, Neubau und schrittweisen Ersatz jeweils mit niedrigem, mittlerem oder hohem Risiko. Ergänze zu jeder Bewertung eine konkrete Begründung.

  1. Wähle drei bis fünf kritische Geschäftsabläufe. Nimm keine allgemeinen Funktionen wie Benutzerverwaltung, sondern vollständige Vorgänge mit erkennbarem Ergebnis.
  2. Schätze den Erhaltungswert. Halte fest, welche vorhandenen Regeln, Daten und Integrationen bei jeder Option weiterverwendet werden können.
  3. Bewerte die Einführung. Berücksichtige Datenmigration, Parallelbetrieb, Schulung, Rückfallmöglichkeit und fachliche Abnahme.
  4. Bewerte künftige Änderungen. Prüfe, ob die Option kommende Anforderungen erleichtert oder lediglich den heutigen Zustand konserviert.
  5. Dokumentiere die größten Unbekannten. Eine unbekannte Datenqualität oder undokumentierte Schnittstelle gehört als Risiko in die Entscheidung und nicht in die spätere Aufwandsschätzung.

Vergleiche anschließend nicht nur die Entwicklungskosten. Eine Neuentwicklung verursacht zusätzlich Aufwand für fachliche Spezifikation, Datenübernahme, Abnahme und häufig einen zeitweisen Doppelbetrieb. Eine Modernisierung enthält dagegen Analyseaufwand, Übergangslösungen und Arbeiten an schwer verständlichem Bestand. Der schrittweise Ersatz verteilt viele dieser Kosten, verlängert aber die Phase mit zwei technischen Welten.

Ein begrenzter Vorlauf liefert bessere Antworten als ein Gesamtangebot

Wenn wesentliche Fragen offen sind, solltest du nicht sofort den gesamten Umbau beauftragen. Beginne mit einer begrenzten Analysephase. Ihr Ergebnis ist keine lose Ideensammlung, sondern eine belastbare Entscheidungsgrundlage.

Dazu gehören:

  • eine Karte der wichtigsten Geschäftsabläufe und Systemgrenzen,
  • eine Übersicht kritischer Daten und Integrationen,
  • eine technische Stichprobe aus besonders riskanten Bereichen,
  • ein Vorschlag für die erste umsetzbare Etappe,
  • klare Annahmen und Ausschlüsse für die Aufwandsschätzung.

Als technische Stichprobe eignet sich ein Bereich, der für die Gesamtanwendung typisch ist. Ein rein kosmetischer Bildschirm liefert wenig Erkenntnis. Ein kleiner, aber vollständiger Vorgang mit Validierung, Datenänderung, Berechtigungen und einer externen Schnittstelle zeigt deutlich besser, wie modernisierbar der Bestand ist.

Falls du diese Bestandsaufnahme nicht intern leisten kannst, sollte externe Unterstützung zuerst die Entscheidungsrisiken reduzieren. Eine pauschale Empfehlung für einen Neubau nach kurzem Blick auf das Repository ist ebenso wenig belastbar wie das Versprechen, jede Altanwendung mit einigen Updates zu retten. Auf der Leistungsseite zur Modernisierung von Laravel-Anwendungen findest du den passenden Rahmen für eine solche technische und fachliche Einordnung.

Die Entscheidung hängt am Risiko des Wissenstransfers

Modernisiere, wenn die bestehende Anwendung wertvolle Geschäftslogik zuverlässig abbildet und sich kontrolliert weiterentwickeln lässt. Entwickle neu, wenn Prozesse und Datenmodell grundsätzlich nicht mehr zum Betrieb passen und du einen klaren Zielumfang einschließlich Migration definieren kannst. Ersetze schrittweise, wenn einzelne Bereiche dringend erneuert werden müssen, der Rest aber weiterlaufen soll.

Die wichtigste Frage lautet damit nicht, ob der Code alt aussieht. Entscheidend ist, bei welcher Option du vorhandenes Fachwissen, Daten und laufende Vorgänge mit dem geringsten unkontrollierten Risiko in einen änderbaren Zustand überführst. Genau dort liegt meist die wirtschaftlich sinnvolle Lösung.

Häufige Fragen

Kurz beantwortet, damit du schneller einschätzen kannst, was für dein Projekt wichtig ist.

Wann lohnt sich die Modernisierung einer Laravel-Anwendung?

Eine Modernisierung lohnt sich, wenn die zentralen Geschäftsabläufe weiterhin passen, wertvolle Regeln im Bestand stecken und sich problematische Bereiche kontrolliert überarbeiten lassen.

Wann ist eine Laravel-Neuentwicklung sinnvoller?

Ein Neubau ist sinnvoll, wenn Prozesse und Datenmodell grundlegend veraltet sind, der Zielumfang klar begrenzt werden kann und für Datenmigration sowie Parallelbetrieb ein belastbarer Plan existiert.

Kann eine Laravel-Anwendung schrittweise ersetzt werden?

Ja. Klar abgegrenzte Bereiche können nacheinander erneuert werden. Voraussetzung ist, dass für jeden Datensatz und Vorgang eindeutig feststeht, welcher alte oder neue Teil zuständig ist.

Welche Kosten werden beim Vergleich häufig übersehen?

Beim Neubau werden oft fachliche Spezifikation, Datenmigration, Abnahme und Doppelbetrieb unterschätzt. Bei einer Modernisierung geraten Analyse, Übergangslösungen und Arbeiten an schwer verständlichem Bestand leicht aus dem Blick.