
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, gesetztlicher 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 den 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 Einstellung 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 Darstellungsvariaten 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 Migrations-Projekten
Auch in einem anderen Projekt hatte ich es mit funktionierender Softare im laufenden Betrieb zu tun, auch hier war ein vorhandes 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 und sinnvoll eingesetzter KI-Assistenten durch einen erfahrenen Experten führt zu einem Verständnis, das künstliche Intelligenz allein, besonders bei Legacy Code, auch in näherer Zukunft nicht erreichen wird.
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 und das Risiko neuer Fehler und zusätzlichem Aufwands oft schon zu hoch für einen Neustart. Andererseits sind manche Live-Systeme so veraltet, dass eine Neuentwicklung unausweichlich erscheint.
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ßnahhmen 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.