Projekt Digital

Der Blog für digitale Business Leader

Das Duell: Migration von Oracle Forms nach APEX mit Tool vs. manuell

APEX ist die Zieltechnologie der Wahl für immer mehr Unternehmen mit einer Forms-Anwendung. Eine der wichtigsten Fragen, die man sich vor einer Migration stellt, ist: Wie migriere ich am besten? Unsere Migrationsexperten Stephan La Rocca und Christian Piasecki traten vor kurzem auf der APEX Connect bei einem imaginären Duell an und stellten zwei unterschiedliche Wege zur Migration von Oracle Forms nach APEX gegenüber. Wie der große Kampf der Migrationsprofis wohl ausging?

Das Unternehmen “Schöne neue Welt” will seine Oracle Forms-basierte Legacy-ERP-Anwendung in eine moderne APEX-Umgebung überführen. Die Applikation ist unternehmensweit intensiv im Einsatz, daher geschäftskritisch und wird seit 20 Jahren ständig weiterentwickelt. Der gesetzte Ablösungszeitrahmen beträgt zwei Jahre.

Nun stellen wir die beiden imaginären Gegner vor, die mit zwei verschiedenen Migrationsmethoden gegeneinander antreten werden. Stephan spielt die Rolle des erfahrenen Forms-Experten, der seit 25 Jahren im Unternehmen ist und die zu migrierende Anwendung von Kindesbeinen an kennt. Christian dagegen ist ein junger Developer und bekennender APEXianer.

Während Stephan die Migration von Forms nach APEX ausschließlich automatisiert mit einem Tool herangehen will, macht Christian lieber alles manuell, um möglichst präzise zu sein.

Der Kampf beginnt

Und los geht’s mit der Migration! Christian muss eine erste Abschätzung des Projektaufwandes machen, um einen Projektplan und ein Pflichtenheft/Backlog zu erstellen. Da er ausschließlich manuell vorgeht, ist sein Plan, persönliche Interviews mit den Key Usern der Applikation zu führen, darauf basierend Mock-ups zu erstellen und die Migrationsanforderungen zu spezifizieren, um letztendlich die Aufwandsabschätzung präzisieren zu können.

Stephan dagegen verlässt sich voll und ganz auf ein automatisiertes Migrationstool und lässt die Anwendung damit analysieren. Statt Interviews generieren die intelligenten Automatismen User Stories, die die tatsächliche Nutzung der Anwendung mittels Cookies sehr genau identifizieren können. Am 7. Tag nach Projektbeginn kann Stephan bereits eine genaue Projektabschätzung nach allen bekannten Größen vorlegen.

Toolgestützt Redundanzen zusammenführen

Tools verschaffen einen technischen Vorsprung?

Bei Stephan geht es zügig voran. Sein Tool hat den Migrationsaufwand genau abgeschätzt – nun kann er die Anwendung für die Migration vorbereiten. Er lässt den Dead Code automatisch ausfindig machen und bereinigen, führt Redundanzen wie von Zauberhand zusammen, identifiziert die Business Logik und verschiebt sie in die Datenbank.

Bis die ersten Stolpersteine auftauchen: Forms-Funktionen, die es in APEX so nicht gibt. Und nun? Auch dafür hat sein Tool eine Lösung: Sie neu zu designen, sodass sie in APEX umgesetzt werden können. Dafür nimmt  das Tool die Anforderungen an die Funktionalitäten auf und skizziert ihre Umsetzung in Form von Mock-ups. Alle offenen Anforderungen werden in einem Ticketing-System verwaltet. So wird nichts vergessen. Am 25. Tag nach Migrationsbeginn hat Stephan bereits einiges erledigt:

  • Den Dead Code der Forms-Anwendung bereinigt
  • Die Business Logik in die Datenbank überführt
  • Redundanzen beseitigt
  • Die Anwendung in passende Häppchen zur einfacheren Migration unterteilt.

Und wo ist Christian geblieben?

Manuell = präziser?

Nach 25 Tagen hat Christian gerade mal alle User Interviews geführt und ein Pflichtenheft erstellt, sodass der Projektumfang klar ist und der Projektplan feststeht. Endlich kann er mit der Implementierung der Anwendung in APEX nach dem Pflichtenheft beginnen.

Zunächst kümmert er sich um die Architektur der neuen Anwendung. Dafür macht er alle wiederverwendbaren Komponenten wie Coding Conventions, Security und Plugins ausfindig. Dann skizziert er die Navigation, das Theme und die Page Flow der Applikation. Und los geht’s mit dem Coding!

Coding

Tag 60 und Christian ist bereits deutlich in Verzug. Die Anwendung wird zwar nach den User-Wünschen implementiert, er hat aber bislang gerade mal 5% der Anforderungen umgesetzt. Der Aufwand scheint viel größer zu sein, als eingeschätzt.

Was ist eigentlich der Hauptgrund für den Projektverzug?

  1. Komplexität unterschätzt – über Jahre gewachsene Komplexität muss neu implementiert werden
  2. Spezifikation nicht klar genug – viele Voraussetzungen haben die Key User nicht erwähnt
  3. Nicht betrachtete Querschnittsfunktionalitäten und Schnittstellen

In der Tat kann jeder dieser Gründe eine Rolle gespielt haben. Und oft erweist sich bei manuellen Vorgehensweisen die Migration einer Legacy-Anwendung als komplexer als die Erstellung einer neuen Applikation auf der grünen Wiese. Das muss Christian aber auf die harte Tour lernen.

***

Am 60. Tag hat Stephan das erste Cluster migriert und das Fine-Tuning fertiggestellt. Teilweise kommen aber Masken zurück, weil die Benutzer sich Mehrwerte wünschen, die davor nicht bekannt waren. Letztendlich hat Stephan nie echte User-Interviews geführt, sondern sich nur auf die automatisch generierten User Stories verlassen.

Die goldene Mitte finden

Früher oder später ist jede der beiden Methoden auf Schwierigkeiten gestoßen. Denn sowohl die toolgestützte als auch die manuelle Migration haben ihre Vor- und Nachteile. Daher haben Stephan und Christian beschlossen, sich zusammenzutun, um vom Besten aus beiden Welten zu profitieren.

Stephan kann mit seinem intelligenten Tool die komplexe Business-Logik problemlos übernehmen und eine um den Dead Code bereinigte Forms-Anwendung statt Pflichtenheft zur Verfügung zu stellen. Er bringt auch ein großes Forms-Know-how mit. Christian kann dagegen die genauen Anforderungen der Key User feststellen und besitzt wertvolles APEX Development Know-how.

So ist der optimale Migrationsprozess entstanden – eine Mischform, bei der sowohl intelligente Automatismen als auch Fachwissen Hand in Hand gehen. Noch immer kooperieren Stephan und Christian erfolgreich bei PITSS-Projekten und sorgen dafür, dass sie überdurchschnittlich schnell, kostengünstig und präzise abgeschlossen werden.

Die Anwendungsmodernisierung mit PITSS.CON

Die Anwendungsmodernisierung mit PITSS.CON: Immer wieder wechseln sich toolgestützte Methodik und manuelle Migration ab