Portrait von Webentwickler Ingo Steinke in Berlin

Fallstudie: Migration, Modernisierung und Wartung von Legacy-Code-Projekten

Als Web-Entwickler habe ich mit unterschiedlichen Arten von Legacy-Code-Projekten zu tun. Viele Web-Projekte erfüllen lange Zeit still und unverändert ihre Aufgaben, bis aktuelle Anforderungen entstehen, die sich nicht ohne Umprogrammierung umsetzen lassen. Das können Anforderungen geschäftlicher, gesetzlicher oder technischer Art sein, beispielsweise ein sicherheitsrelevantes Software-Update, das nicht mit dem vorhandenen Code kompatibel ist.

Aber auch in aktiven Projekten kann es durch veränderte Anforderungen nötig werden, im laufenden Betrieb Codebasis und Geschäftslogik zu verändern, ohne dabei die vorhandene Funktionalität zu gefährden. In der folgenden Fallstudie gehe ich konkret auf ein solches Projekt ein und vergleiche die Lösungsansätze mit anderen ähnlichen Fällen aus meiner beruflichen Praxis.

Native Web Themes

  • Rolle: Senior Frontend Developer
  • Branche: Online-Dienstleistungen (B2B)
  • Zeitraum: 01/2025 – 06/2025
  • Projekt: Ablösung bestehender Legacy-Themes und -Plugins durch ein natives Theme mit dynamisch angepassten Designs und Tracking zwecks Conversion-Rate-Optimierung in einem komplexen Multi-Domain-Setup
  • Tech Stack: PHP, JavaScript, CSS, Cypress, WordPress, Docker
Herausforderung

Der bereits von Endkunden genutzte Prototyp skalierte nicht wie erwartet. Die Abhängigkeit von zahlreichen Drittsystemen erhöhte Wartungsaufwand und Risiken durch häufige Updates und durch manuelle Konfigurationsschritte. Speicherverbrauch und Ladezeit waren ebenfalls noch nicht optimal.

Alle Einstellungen sollten konfigurativ bzw. parametrisiert steuerbar sein, um die Entwicklung für eine große Anzahl an Domains und Portalen zu skalieren und durch automatisierte Tests absichern zu können. Bei Bedarf sollten kurzfristig zusätzliche Darstellungsvarianten und Slots für externe Inhalte ergänzt werden, und deren Aufrufe an ein bestehendes Tracking-Layer übermittelt werden.

  • Abhängigkeiten reduzieren
  • Performance optimieren
  • Ladezeit beschleunigen
  • Speicherverbrauch minimieren
  • Wartung vereinfachen
Umsetzung

Da die bestehende Lösung bereits mit WordPress in Docker-Containern umgesetzt wurde, entschieden wir uns, diese Plattform nicht zu verändern. So konnten vorhandene Inhalte weiter genutzt und einfach zwischen dem alten und neuen Frontend umgeschaltet werden.

Zusätzlich zum bestehenden Monitoring der veröffentlichten Websites haben wir Frontend-Tests mit Cypress ergänzt, um zentrale Anforderungen bereits während des Entwicklungsprozesses zu gewährleisten.

  • Dokumentation bestehender und neuer Anforderungen
  • Entwicklung eines Native-Web-Themes ohne Abhängigkeiten von zusätzlichen Plugins
  • Frontend-Tests zur Gewährleistung zentraler Anforderungen
  • Livegang neuer Websites mit dem neuen Web-Theme
  • schrittweise Umstellung bestehender Websites auf das neue Web-Theme
Erfolg

Bereits nach vier Wochen konnten wir einen funktionsfähigen Prototypen des neuen Themes erfolgreich einsetzen. Dieser wurde in den kommenden Monaten um weitere Anforderungen ergänzt, die sich mit der bisherigen Lösung nicht mit der nötigen Effizienz hätten umsetzen lassen.

Im Vertrauen auf positive Testergebnisse und Geschäftszahlen konnte unser Kunde die neue Software auf allen bestehenden Portalen einsetzen und schnell und sicher weitere Websites erstellen.

zurück zur Projektübersicht

Vergleich mit anderen Modernisierungs- und Migrationsprojekten

Auch in einem anderen Projekt hatte ich es mit funktionierender Software im laufenden Betrieb zu tun, auch hier war ein vorhandenes WordPress-Theme Teil einer komplexeren Software-Architektur, die in diesem Fall nicht mit Docker, sondern mit Ansible provisioniert wurde. Auch hier konnten wir Änderungen vor einem Deployment lokal entwickeln und auf Test-Instanzen prüfen.

Die ganzheitliche Analyse von Anforderungen, Dokumentation, vorhandenem Code und tatsächlichem Verhalten bildet die Grundlage für fundierte Entscheidungen bei Legacy-Code-Projekten. KI kann diesen Prozess unterstützen, ersetzt aber nicht die fachliche Bewertung eines erfahrenen Experten.

Ein wichtiger Aspekt ist die Entscheidung zwischen Modernisierung und Migration. Auch wenn wir uns für einen Neustart entscheiden, kann die Laufzeit einer bestehenden Lösung mit gezielten Maßnhamen deutlich verlängert werden. Oft können schon kleine Änderungen großen Nutzen bewirken.

Optimierung bestehender Websites

Bei Linuxhotel.de war die Entscheidung einfach. Die Website funktionierte und war bereits gut positioniert und besucht. Wichtig war, zeitnah Fehler zu beheben und dann mittelfristig Optimierungspotenzial zu entdecken und umzusetzen.

Ein vollständiger Neubau hätte nicht automatisch einen entsprechenden Mehrwert bedeutet. Statt funktionierende Strukturen pauschal zu ersetzen, konnten bestehende Funktionen erhalten und gezielt verbessert werden.

Im Zuge solcher Verbesserungen und Erweiterungen kann bereits bestehender Code schrittweise verbessert werden. Dieser Umgang mit Legacy Code ähnelt der Modernisierung eines Altbaus: Nicht alles muss erneuert werden. Entscheidend ist, den Bestand zu verstehen, Schwachstellen zu erkennen und dort einzugreifen, wo Verbesserungen tatsächlich sinnvoll sind.

Verstehen, erklären und Verantwortung übernehmen

Als Techniker, der zuhört und versteht, kann ich die Vor- und Nachteiler verschiedener Lösungsalternativen für Menschen verständlich erklären. Als Experte übernehme ich Verantwortung für meine Empfehlungen. Dabei verlasse ich mich nicht nur auf meine Berufserfahrung und Intuition, sondern auch auf handfeste Fakten.

Vorschau-Server und automatisierte Tests schützen vor vielen unliebsamen Überraschungen. Web-Performance im Sinne von Ladezeit-Optimierung kann durch verschiedene Maßnahmen im Frontend und auf Serverseite geschehen. Wirtschaftliche Performance-Optimierung im Sinne von Conversion-Rate-Optimierung hat viel mit dem Nutzererlebnis (User Experience, UX) zu tun. Barrierefreiheit beginnt mit dem Einhalten bestimmter Kriterien wie ausreichender Lesbarkeit durch Struktur und Farbkontrast.

Auch bestehende Legacy-Code-Projekte lassen sich grundsätzlich nachträglich verbessern.

Interesse?