Plattform-Entwicklung mit Reverse und Forward Engineering
Neubau, Ablösung oder beides zugleich: Die Ausgangslage entscheidet, mit welchem Ansatz eine Plattform entsteht. Was Reverse und Forward Engineering unterscheidet und wie wir sie in unseren Projekten kombinieren.
In der Plattform-Entwicklung gibt es drei typische Ausgangslagen. Das Greenfield-Projekt, das von Grund auf gedacht werden kann. Die Ablösung bestehender Software auf einer neuen technologischen Basis. Und die Mischform: die Ablösung, in die gleichzeitig Verbesserungen einfliessen. Je nachdem, wo ein Projekt startet, kommen unterschiedliche Engineering-Ansätze zum Zug.
Was ist Reverse Engineering?
Beim Reverse Engineering analysierst du ein bestehendes System mit dem Ziel, es zu verstehen: Design, Struktur und Verhalten. Dabei kommen je nach Ausgangslage Code-Analyse, Disassembler oder Dekompilierer zum Einsatz, häufiger aber schlicht das Nachvollziehen von Datenmodell, Schnittstellen und Bedienlogik.
Das Ergebnis fällt unterschiedlich aus:
- eine Dokumentation des bestehenden Systems: ein UML-Diagramm, ein Flussdiagramm oder eine Spezifikation;
- ein neu gebautes System auf einer neuen Technologie, das dieselben Anforderungen erfüllt wie das alte.
Der Ansatz taugt auch für Zwischenschritte: Fehler aufspüren, die Qualität bestehender Software beurteilen, die Kompatibilität mit anderen Systemen einschätzen.
Was ist Forward Engineering?
Beim Forward Engineering entsteht eine Software von Grund auf. Das System wird aus Anforderungen und Spezifikationen heraus entworfen und umgesetzt. Vorher müssen diese Anforderungen detailliert, Zusammenhänge und Komplexitäten sichtbar gemacht und Spezialfälle definiert werden. Im Kern geht es darum, Geschäftsprozesse, Dienste und Funktionen in eine Anwendung zu übersetzen. Analysiert wird kein bestehender Code, es entsteht neuer.
Auf der grünen Wiese lassen sich Ideen schnell als Prototyp testen. Dafür dauert es meist länger, bis die tatsächlichen Anforderungen und Rahmenbedingungen feststehen. Beim Reverse Engineering liefert das Altsystem sie mit.
Wie wir in Projekten vorgehen
Beide Ansätze gehören bei uns zum Alltag, oft im selben Projekt. Wo wir Reverse Engineering einsetzen, bauen wir Verbesserungen und Erweiterungen im gleichen Schritt ein, damit technische Schulden nicht mitwandern. Dazu kommen Workshops: Wir lernen die Prozesse unserer Kundinnen und Kunden im Detail kennen und entscheiden gemeinsam, wo eine Digitalisierung wirklich etwas bringt.
Schweizer Wanderwege
Beim Relaunch von Website und Plattform 2023 kamen beide Ansätze zum Zug. Das alte CMS und die Erfassung der Wanderungen haben wir analysiert und ihre Funktionsweise im neuen System nachgebaut. Die Content-Erfassung dagegen haben wir nicht übernommen, sondern durch eine neue Funktionsweise ersetzt und ausgebaut. Anderes (die Zuordnung von Tags zu Content-Seiten, die Medienverwaltung) ist ohne vorgängige Analyse neu entstanden. Die Details stehen in der Erfolgsgeschichte zur Plattform rund ums Wandern.
OPAN CARE
Bei der e-Health-Plattform der OPAN CARE AG ging es um ein technologisches Update: neue technische Basis, dazu neue Funktionen und Module im Dienstleistungsangebot. Der anspruchsvolle Teil war das Reverse Engineering der bestehenden Komponenten: Das System ist produktiv im Einsatz, und zahlreiche Schnittstellen-Integrationen hängen daran. Damit der Übergang bruchfrei bleibt, haben wir einen Legacy-Connector gebaut. Er bildet die alten API-Aufrufe auf die neue API ab und verschafft den Integrationspartnern Zeit, ihre Systeme umzustellen. Für die Nutzenden gilt dabei: kein Funktionsverlust.
Sanitized
Bei Sanitized durften wir ein System von Grund auf bauen und die Prozesse neu denken. Zuerst wurden die Geschäftsprozesse analysiert und kritisch hinterfragt. Aus den Anforderungen entstand eine Story Map, daraus Prototypen und schliesslich die Plattform mit allen Business Rules. Das Projekt steht in unserer Referenzliste.
Rotary
Bei der Vereinsplattform für Rotary Schweiz, Frankreich, Belgien und Luxemburg liessen sich beide Ansätze verbinden. Die Vereinssoftware von 2012 wurde per Reverse Engineering vollständig abgelöst; aus der Analyse der vorhandenen Funktionen liessen sich die vielen kleinen Business Rules ableiten. Gebaut haben wir auf einer modularen Basis, die sich schrittweise erweitern und langfristig betreiben lässt.
Welcher Ansatz passt zu deinem Projekt?
Das hängt weniger an der Technologie als daran, wie viel Wissen im Altsystem steckt und wie viel davon erhalten bleiben soll. In den meisten Projekten ist es ohnehin eine Mischung aus beidem. Beschreib uns dein Vorhaben, wir schauen es uns an.