Zum Inhalt springen

Bestehende PHP-Software übernehmen und weiterentwickeln

Eine Anwendung läuft seit Jahren, erfüllt ihren Zweck — und niemand traut sich mehr, etwas daran zu ändern. Wir nehmen den Bestand auf, sagen Ihnen schriftlich und mit Fundstellen, was möglich ist, und entwickeln die Anwendung dann schrittweise weiter, während sie in Betrieb bleibt.

Bildmetapher: Eine bestehende Brückenkonstruktion wird abschnittsweise erneuert.
Konzeptionelle Illustration zur schrittweisen Modernisierung.

Kommt Ihnen eine dieser Lagen bekannt vor?

  • Der Entwickler ist nicht mehr erreichbar, und niemand kennt den Aufbau der Anwendung.
  • Der Hoster kündigt die Abschaltung einer PHP-Version an, auf die Ihre Anwendung angewiesen ist.
  • Eine fachlich kleine Änderung wird seit Monaten verschoben, weil die Folgen niemand abschätzen kann.
  • Auswertungen liefern Zahlen, die sich nicht erklären lassen.
  • Die Anwendung funktioniert — aber es gibt keine Sicherung, deren Wiederherstellung je geprobt wurde.

In allen diesen Fällen ist die erste Frage nicht, was eine Weiterentwicklung kostet, sondern was überhaupt vorliegt. Jede Aufwandsaussage davor wäre geraten.

Was wir dabei übernehmen

  • Bestandsaufnahme mit schriftlichem Befund: technische Grundlage, Aufbau, Datenhaltung, sicherheitsrelevante Stellen, Betrieb.
  • Aktualisierung der Grundlage auf eine PHP-Version mit Sicherheitsaktualisierungen, einschließlich der verwendeten Bibliotheken.
  • Schrittweise Ablösung einzelner Bereiche, während die Anwendung weiterläuft.
  • Technische Übernahme der Betreuung, wenn der bisherige Ansprechpartner wegfällt.
  • Datenbereinigung dort, wo der Befund zeigt, dass gespeicherte Werte der Oberfläche widersprechen.
  • Einrichtung von Sicherungen und Überwachung — und mindestens eine geprobte Wiederherstellung.

Wie eine Modernisierung abläuft

Der Weg ist in Etappen geschnitten, weil eine Anwendung im Tagesgeschäft nicht für Monate stillstehen kann. Nach jeder Etappe ist ein Zustand erreicht, in dem man aufhören könnte.

  1. 1
    Bestand aufnehmen Technische Grundlage, Aufbau, Datenhaltung, sicherheitsrelevante Stellen und Betrieb. Ergebnis ist ein schriftlicher Befund mit Fundstellen.
    WährenddessenDie Anwendung bleibt unverändert in Betrieb.
  2. 2
    Grundlage aktualisieren PHP-Version und Bibliotheken auf einen Stand bringen, der noch Sicherheitsaktualisierungen erhält. Hier zeigt sich, was der Bestand verträgt.
    WährenddessenFunktionen bleiben, wie die Benutzer sie kennen.
  3. 3
    Bereiche ablösen Ein Bereich nach dem anderen wird neu gebaut und übernimmt. Welcher zuerst, entscheidet der Befund — nicht die Reihenfolge im Menü.
    WährenddessenAlte und neue Teile laufen nebeneinander.
  4. 4
    Altbestand abschalten Was niemand mehr aufruft, wird entfernt. Erst damit hört die Pflege zweier Stände auf.
    WährenddessenDer Betrieb merkt davon nichts mehr.
Konzeptionelle Darstellung des Vorgehens, kein Zeitplan eines bestimmten Projekts. Wie viele Etappen nötig sind und wie lang sie dauern, ergibt sich aus der Bestandsaufnahme.

Drei mögliche Ergebnisse — und keine vierte Antwort

Nach der Bestandsaufnahme gibt es genau drei ehrliche Antworten:

  • Weiterentwickeln: Der Aufbau trägt, die Grundlage lässt sich aktualisieren, Änderungen sind zu überschaubaren Kosten möglich.
  • Schrittweise erneuern: Die Anwendung bleibt in Betrieb, Bereiche werden nacheinander abgelöst. Das ist der häufigste Weg.
  • Neu bauen: Wenn Aufbau und Datenhaltung so beschaffen sind, dass jede Änderung mehr Risiko als Nutzen bringt.

Die dritte Antwort braucht eine Begründung mit Fundstellen, keine Geschmacksfrage. Ein pauschales „das muss neu" ohne Prüfung verkauft ein Projekt, keine Lösung.

Was wir dafür brauchen

  • Den Quelltext, möglichst mit seiner Versionsgeschichte.
  • Einen Zugang zu einer Umgebung, in der sich die Anwendung starten lässt — nicht zwingend die Produktivumgebung.
  • Den Aufbau der Datenbank. Ein Auszug der Struktur genügt meist; echte Datensätze sind nicht nötig.
  • Eine Person, die die fachlichen Fragen beantworten kann. Code zeigt, was passiert, nicht warum.

Was wir ausdrücklich nicht brauchen, sind Zugangsdaten zu Produktivsystemen per E-Mail. Für Zugänge gibt es sichere Wege, und wir fragen nur ab, was für die Prüfung nötig ist.

Häufige Missverständnisse

Meistens ja. Entscheidend sind Struktur, Datenhaltung und der Pflegezustand der Grundlage — nicht das Alter. Es gibt sorgfältig gebaute alte Anwendungen und sehr neue, die niemand pflegen kann.

Ja, wenn der Befund zeigt, dass eine Änderung an dieser Stelle beherrschbar ist. Genau dafür ist die Bestandsaufnahme da: sie sagt, welche Eingriffe klein bleiben und welche nicht.

Laufen und gepflegt werden sind zwei Dinge. Ohne Sicherheitsaktualisierungen für PHP und die verwendeten Bibliotheken wächst das Risiko, ohne dass sich im Betrieb etwas ändert.

Sie verschiebt den Beginn der Umsetzung um Tage und verhindert Entscheidungen, die Monate kosten.

Anwendung prüfen lassen

Beschreiben Sie kurz, worum es geht — Pflichtangaben sind nur Ihre E-Mail-Adresse und ein paar Sätze zur Aufgabe. Wählen Sie bei „Worum geht es?" den Punkt „PHP-Software modernisieren".

Entwicklungsanfrage

Für Entwicklungsvorhaben: neue Anwendung, Erweiterung oder Übernahme bestehender Software.

Erzählen Sie uns kurz von Ihrer Idee oder Ihrer bestehenden Anwendung. Technische Unterlagen und ein fertiges Lastenheft sind für die erste Anfrage nicht erforderlich.

Welche Aufgabe soll für wen einfacher werden?
Darüber melden wir uns bei Ihnen.
Optional.

Optionale Angaben — hilfreich, aber nicht nötig

Kommen Sie von einer Projekt- oder Leistungsseite, ist der Bezug bereits ausgewählt.
Nur falls vorhanden. Ein Zugang ist für die Anfrage nicht erforderlich.
Zum Beispiel Warenwirtschaft, Shop oder eine interne Anwendung.
„Noch offen“ ist eine gültige Antwort.

Weitere Kontaktangaben

Optional.
Optional. Für einen Rückruf benötigen wir eine Telefonnummer.

Ihre Angaben verwenden wir zur Bearbeitung Ihrer Anfrage. Informationen zum Umgang mit Ihren Daten finden Sie in unserer Datenschutzerklärung. Bitte senden Sie keine Passwörter, Zugangsschlüssel oder vertraulichen Personen- und Kundendaten.

Wie wir Ihre Angaben verarbeiten, steht in der Datenschutzerklärung.