Zum Inhalt springen
Alle Projekte
Anonymisierte Projektreferenz / Code rescue

Legacy-PHP wieder planbar änderbar gemacht

Eine ältere PHP-Anwendung lief im Alltag, doch jede Änderung konnte unerwartet andere Bereiche treffen. Ziel war Sicherheit für den nächsten Schritt, nicht ein Neubau auf Verdacht.

Branche
Business-Software
Projekttyp
Legacy-Stabilisierung
Auftrag
Risiko senken und Änderungen planbar machen
Einordnung
Anonymisiert
Ausgangslage

Die Software lief, aber Änderungen waren Wetten

Geschäftslogik, Datenbankzugriffe und Seiteneffekte lagen eng beieinander. Automatisierte Tests fehlten besonders an den Stellen, die Umsatz oder Daten berührten. Das machte selbst kleine Aufgaben schwer zu schätzen.

Eine sofortige Migration auf ein neues Framework hätte große Teile der Fachlogik gleichzeitig bewegt. Wir konzentrierten uns zuerst auf die Pfade, bei denen ein Fehler den höchsten Schaden verursacht hätte.

Umsetzung

Wir haben Schutz um die kritischen Pfade gebaut

Der Code wurde nicht kosmetisch modernisiert. Jede Änderung musste ein konkretes Risiko senken.

  1. Risiken nach Wirkung sortiert

    Wir verbanden technische Hotspots mit den Geschäftsabläufen, die sie auslösten, und priorisierten nach möglichem Schaden.

  2. Verhalten zuerst festgehalten

    Charakterisierungstests hielten bestehendes Verhalten fest, bevor interne Strukturen verändert wurden.

  3. Grenzen schrittweise eingezogen

    Datenzugriff, Fachlogik und externe Aufrufe wurden dort getrennt, wo die nächste Änderung diese Trennung brauchte.

  4. Release-Prüfung ergänzt

    Die wichtigsten Tests liefen automatisch, damit Fehler nicht erst nach einer manuellen Auslieferung sichtbar wurden.

Ergebnis

Was danach anders war

  • Kritische Geschäftsabläufe hatten automatischen Schutz gegen Regressionen.
  • Technische Risiken waren priorisiert statt als unendliche Altlastenliste dokumentiert.
  • Die nächsten Änderungen konnten in kleineren, verständlichen Schritten geplant werden.
Der wichtigste technische Entschluss

Eine Legacy-Anwendung wird nicht sicherer, nur weil sie neues Vokabular bekommt. Sicherheit entstand hier durch beobachtbares Verhalten, Tests an den richtigen Stellen und kleine strukturelle Schnitte.

Produktname und fachliche Details bleiben vertraulich. Die beschriebenen Risiken und Maßnahmen stammen aus realer Legacy-Arbeit.