
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
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
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
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.
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 vorhandenem Code, Dokumentation und Anforderungen, der funktionierenden Software durch einen erfahrenen Experten, mit sinnvoll eingesetzter KI-Unterstützung, führt zu einem Verständnis, das künstliche Intelligenz allein, besonders bei Legacy Code, nicht erreicht.
Ein wichtiger Aspekt ist die Entscheidung zwischen Modernisierung und Migration. Auch in laufenden Projekten vor dem Livegang oder bei Prototypen (MVP) mit nur wenigen Kunden ist oft schon viel Arbeit in die bisherige Entwicklung und Abnahme geflossen. Mehraufwand und das Risiko neuer Fehler erscheinen oft schon zu hoch für einen Neustart. Andererseits sind manche Live-Systeme so veraltet, dass Handlungsbedarf besteht.
Sowohl als Dienstleister für Unternehmen, als auch als Freelancer im Team einer Agentur, gehört es zu meinen Aufgaben als Senior Web-Entwickler, geschäfltiche Anforderungen in technischer Sprache zu formulieren, die Vor- und Nachteiler verschiedener Lösungsalternativen für Menschen verständlich zu erklären und als Experte Verantwortung für meine Entscheidungsempfehlungen zu übernehmen.
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.