Aus Legacy Code wird wartbare Software

Alte PHP-Anwendungen modernisieren und weiter betreiben

Individuell entwickelte Anwendungen haben einen großen Wert für die Prozesse, Kommunikation und Wertschöpfung in Unternehmen und Organisationen. Wir bringen Ihre alte, PHP-basierte Anwendung auf einen technisch modernen Stand und öffnen so neue Perspektiven für einen sicheren, langfristigen Weiterbetrieb und zukünftige Anpassungen.

Jetzt kostenloses Erstgespräch vereinbaren

Schrittweise Modernisierung bei laufendem Betrieb

Unsere Leistung hilft kleinen und mittleren Unternehmen sowie Organisationen, die individuell entwickelte Anwendungen oder stark angepasste Softwarelösungen auf Basis von PHP einsetzen und feststellen, dass sie sich im Hinblick auf die weitere Entwicklung oder den reibungslosen Betrieb in einer Sackgasse befinden.

Wir analysieren mit Ihnen die Ausgangslage und schlagen ein Konzept vor, das zu Ihren Prioritäten und Zielen passt.

Anschließend folgt die schrittweise Modernisierung der Code-Basis. Dabei sorgen wir dafür, dass die Software durchgehend im produktiven Betrieb bleibt, während in jeder Iteration Korrekturen, Modernisierungen oder neue Funktionalitäten umgesetzt werden.

Warum ist Legacy Code ein Problem?

Schlecht gewartete Altanwendungen, auch „Legacy Code“ genannt, verursachen typische Probleme. Sicher haben Sie eines der folgenden Warnsignale schon bemerkt:

Das Wissen über die ursprünglichen Anforderungen und Annahmen der Software ist verloren gegangen. Es stehen auch nur wenige oder gar keine automatisierten Software-Tests zur Verfügung, mit denen die korrekte Funktion einfach und bei jeder Änderung des Programmcodes überprüft werden kann. Aus Änderungen folgen so oft überraschende und erst spät bemerkte Fehler. Ihre Kosten- und Risikoabschätzung führt so immer häufiger dazu, eigentlich für sinnvoll erachtete Anpassungen nicht mehr vorzunehmen. „Don‘t touch it!“ wird zur Maxime.

Die geschäftlichen Anforderungen und Prozesse um die Anwendung herum entwickeln sich beständig weiter, werden aber nicht mehr optimal unterstützt. Nach und nach entstehen ad-hoc-Lösungen, um diese Defizite auszugleichen. Ergänzende Abstimmungsprozesse per E-Mail, manuelle Datenaufbereiung in Excel-Tabellen, Medienbrüche – alles das wird zunehmender Ballast. Die damit verbundenen Prozesskosten nehmen zu. Gleichzeitig steigt die Frustration bei Anwenderinnen und Anwendern: Die Software wird zunehmend als Relikt und Altlast empfunden.

Auch der Betrieb der Anwendung wird zunehmend eine Belastung. Alte, längst nicht mehr unterstützte Versionen von PHP, zusätzlich benötigte Software-Bibliotheken oder Tools werden zunehmend schwerer zu beschaffen und zu installieren. Im Extremfall wird auch für das Betriebssystem keine Aktualisierung mehr vorgenommen, um den laufenden „Tech-Stack“ nicht zu gefährden. Der IT-Betrieb ist immer weniger in der Lage, auf Fehler und Probleme angemessen zu reagieren. Wenn bekannt gewordene Sicherheitslücken nicht mehr durch Aktualisierungen auf neue Softwareversionen geschlossen werden können, wird die Legacy Software zum Risikofaktor.

Unser Vorgehen zur Modernisierung von PHP-basierenden Altanwendungen

In einem kostenlosen Erstgespräch schildern Sie uns Ihre Ausgangssituation, welchen Problemen Sie gegenüberstehen und was Sie von einem Modernisierungsprojekt erwarten.

Nehmen Sie jetzt Kontakt mit uns auf

Wir führen zunächst eine Bestandsaufnahme durch und sichten den vorhandenen Quellcode. Wir betrachten auch das Umfeld: Steht das ursprüngliche Entwicklungsteam und Know-How noch zur Verfügung? Welche Prozesse aus dem Software-Lebenszyklus sind etabliert und funktionieren? Gibt es ein Anforderungs- und Fehler-Management, eine funktionierende Qualitätssicherung? Kann der IT-Betrieb Aktualisierungen einfach und regelmäßig ausrollen?

Zusammen mit Ihnen, dem IT-Team und fachlichen Anwendern vereinbaren wir dann die Zielsetzungen und Prioritäten des Projekts.

Geht es nur um eine Aktualisierung technischer Abhängigkeiten, beispielsweise die Aktualisierung eingesetzter Programmbibliotheken? Soll Funktionalität angepasst oder neu entwickelt werden? Welche Prozesse zum Software-Management sollen etabliert werden, damit die Anwendung in Zukunft nicht wieder veraltet? Wir machen einen Vorschlag, wie diese Ziele mit einem schrittweisen Vorgehensmodell erreicht werden können.

Zu Beginn jeder Iteration werden die Aufgaben und Ziele sowie Zeit- und Budgetrahmen vereinbart. Auf diese Weise bleibt es möglich, das Projekt im Ablauf zu steuern. Der ursprüngliche Plan kann in jedem Zyklus angepasst werden, so dass neue Erkenntnisse im weiteren Verlauf berücksichtigt werden können. Das Projekt wird fortgesetzt, solange die nächsten Iterationen weiter hohen Nutzen schaffen.

Ihre Software bleibt die ganze Zeit im produktiven Betrieb. Die Qualitätssicherung erfolgt fortlaufend und parallel zur Entwicklung. Änderungen werden regelmäßig, spätestens zum Ende eines jedes Entwicklungszyklus, in Betrieb genommen.

Welche Erfahrung und Werkzeuge bringen wir in Modernisierungsprojekte ein?

Für PHP-Modernisierungsprojekte steht die Erfahrung des gesamten webfactory-Teams zur Verfügung. Je nach Bedarf greifen wir so auf Kompetenzen der Anforderungsanalyse, der Konzeption von User Interface/Experience (UI/UX) unserem eigenen Betrieb von Kundenanwendungen ein.

PHP ist die technische Basis, mit der wir über 25 Jahre Praxiserfahrung haben. Wir kennen Bibliotheken und Frameworks wie Zend Framework, Laminas, Laravel und sind vor allem mit dem Symfony Framework intensiv vertraut. Wir lieben und leben den Open Source Gedanken und tragen seit langer Zeit durch die Entwicklung neuer Features, mit Bugfixes und der Mitarbeit in „Core Teams“ zu Open Source bei.

Zur Unterstützung und Qualitätssicherung verwenden wir:

  • Einen Entwicklungsprozess mit etablierten Code Reviews (vier-Augen-Prinzip) mit direkter Beteiligung unserer Kunden, am liebsten auf GitHub
  • Automatisiertes Testing, zum Beispiel mit PHPUnit, Behat, Selenium oder Playwright
  • Tools zur statischen Analyse wie Psalm oder PHPStan, für Code-Metriken (PhpMetrics, PHPLOC), zum Architektur-Monitoring (Deptrac) oder für Code-Prüfung (PHPLint, PHP-CS-Fixer)
  • Composer, Yarn und NPM zum Paket- und Dependency-Management
  • Eine CI/CD-Pipeline zur automatisierten Ausführung aller Tests und zum automatischen Deployment (Inbetriebnahme) nach jeder einzelnen Änderung. 

Die Arbeit mit KI-Tools wie Anthropic Claude Code hat für uns einen hohen Stellenwert gewonnen, da wir je nach Aufgabe hohe Effizienzgewinne sehen. Wir stehen den Ergebnissen immer kritisch gegenüber, sehen sie aber als wertvollen Input für Reviews und Diskussionen im Entwicklungsteam. Auch ein Tool wie Rector, mit dem sich Anpassungs- oder Modernisierungsschritte automatisieren lassen, habt einen festen Platz in unserem Werkzeugkoffer.

Häufige Kundenfragen

Was kostet ein Modernisierungsprojekt?

Das lässt sich nicht pauschal beantworten, weil es stark von den Bedingungen des Einzelfalls und den Zielsetzungen der Modernisierung abhängt. Wir sind aber oft in der Lage, im ersten Gespräch zumindest eine grobe Orientierung zu vermitteln. Nach der Analyse bzw. Bestandsaufnahme machen wir einen Vorschlag zum Vorgehen und stellen dabei auch die empfohlene Budgetierung vor.

Durch das inkrementelle, schrittweise Vorgehen bleibt es möglich, das Projekt an veränderte Zielsetzungen anzupassen und auch mit eingeschränkten Budgets sinnvolle Verbesserungen zu erreichen. Wichtig ist, dass jede einzelne Iterationen ein definiertes Zwischenziel erreicht und einen Mehrwert schafft, der den Kosten gegenübersteht.

Jetzt Gesprächstermin anfragen

Lohnt sich eine Modernisierung, oder ist eine Neuentwicklung sinnvoller?

Auch das ist nicht einfach pauschal zu beantworten und hängt stark von der individuellen Situation ab. Grundsätzlich sind wir überzeugt, dass Software langfristig funktionieren und weiterentwickelt werden sollte – und kann. Der Umfang und die Risiken einer Neuentwicklung werden unserer Erfahrung nach häufig unterschätzt.

Eine Neuentwicklung hat zudem das Problem, dass sie die bestehende Anwendung nicht direkt ersetzen kann. Bis die neue Anwendung ausreichend weit entwickelt ist, muss das alte System weiter betrieben und eventuell sogar noch angepasst werden.

Die Neuentwicklung als Alternative zur Modernisierung ist eine Option, die wir im gemeinsamen Gespräch abwägen sollten. Sie kommt vor allem in Betracht, wenn die alte Software große Teile von Funktionalität enthält, die gar nicht oder nicht mehr benötigt wird.

Beratungsgespräch vereinbaren

Mit welcher Größenordnung von Projekten haben wir Erfahrung?

Unsere Erfahrung in PHP-Projekten umfasst kleine Tools mit nur 1000 Zeilen Code (LOC) und reicht bis zu größeren Projekten mit knapp unter 100.000 LOC.

In der laufenden Projektsteuerung bewegen sich unsere Projekte typischerweise zwischen 20 und 100 Personentagen, gelegentlich aber auch darüber hinaus.

Welche Mitarbeit von Kundenseite ist im Projekt erforderlich?

Diese Beteiligung ist ein wesentlicher Erfolgsfaktor. Die Anforderungen hängen dabei von den Projektvoraussetzungen ab.

Wenn auf Kundenseite ein eigenes IT- oder Entwicklungsteam vorhanden ist, arbeiten wir im besten Fall direkt zusammen. Unser Ziel ist dann ein Know-how-Transfer, so dass dieses eigene Team die Anwendung nach Abschluss des Projekts wieder selbstständig weiterentwickeln und betreuen kann. Übernimmt die eigene IT langfristig nur den operativen Betrieb, liegt der Schwerpunkt der Zusammenarbeit im Aufbau der Prozesse für Übergabe neuer Versionen, Inbetriebnahme und laufender Überwachung (Monitorin).

Mindestens eine fachkundige Person aus dem Kreis der Anwenderinnen und Anwender sollte durchgehend ansprechbar sein, um inhaltliche Rückfragen zu beantworten und fachliche Anforderungen zu definieren. In der Praxis organisieren wir das über regelmäßige Jours fixes, typischerweise wöchentlich.

Die Projektverantwortlichen auf Kundenseite benötigen wir mindestens zu Beginn und am Ende jeder Iteration, um gemeinsam Ziele zu vereinbaren und zu überprüfen.

Sprechen Sie uns an

Brauchen Sie Unterstützung bei der Umsetzung einer neuen Website oder suchen Sie nach einer Agentur, die Ihre bestehende Symfony-Anwendung weiterentwickelt? Dann sprechen Sie uns gerne an!