Erfolgreiche Software Rewrites

    Erfolgreiche Software Rewrites

    Erfahren Sie hier mehr über die Gründe für das Scheitern von Software Rewrites und mit welchen Modernisierungs-Strategien Sie Ihre Softwareanwendungen erfolgreich modernisieren können.

    Gründe für die Modernisierung von Altanwendungen

    Software, insbesondere Webanwendungen zum Beispiel auf PHP, NodeJS oder JavaScript Basis, haben eine lange Lebenszeit. Viele Webanwendungen sind fünf oder mehr Jahre in Betrieb und liefern immer noch Wert für das Business. Doch Software, die nicht regelmäßig modernisiert wird, veraltet schnell.

    Diese sogenannten Legacy Applications sind ein Grund dafür, dass die Kosten für neue Funktionen mit der Zeit stark ansteigen. Der Gesamtwert der Software sinkt also.

    Verhindern Sie den Alterungsprozess Ihrer Legacy-Applikation, indem Sie Ihre Software mit der richtigen Strategie modernisieren und somit wieder schneller die Bedürfnisse Ihres Business realisieren können.

    Warum scheitern Modernisierungsprojekte?

    Modernisierungsprojekte, oder auch Software Rewrite genannt, sind nur in 4 % aller Fälle erfolgreich (Quelle: Standish Group). In 47 % aller Fälle sogar gefährdet, das heißt, sie sind nicht on time/scope/budget. Solche Software Rewrites scheitern meist deswegen, weil ein großer Rewrite im Gesamten angestrebt wird.

    Über die Gesamtentwicklungszeit Ihrer Software steigt die Komplexität kontinuierlich an. Während es zu Beginn nur vereinzelte Komponenten gab, die in wenigen Abhängigkeiten und Auswirkungen zueinander standen, so hat sich die Komplexität mit der Zeit erhöht: Ihre Software besteht aus deutlich mehr Komponenten, die bei Änderungen zudem Auswirkungen auf andere Komponenten nach sich ziehen.

    Diese erhöhte Gesamtkomplexität ist einer der Gründe dafür, dass ein Gesamtüberblick für Softwareentwickler nur noch schwer zu erhalten ist. Im wahrsten Sinne des Wortes steigt das Schlamassel, je tiefer man versucht, in die Software einzugreifen.

    Neue Funktionen sind somit nur noch zu erhöhten Kosten zu realisieren. Die Wartung bereits bestehender Funktionen fällt durch die angestiegene Komplexität und erhöhten Abhängigkeiten immer schwerer. Viele Unternehmen versuchen, mit einem Gesamt-Rewrite darauf zu antworten.

    Komplette Software Rewrites sind allerdings nicht geeignet für die Modernisierung Ihrer Webanwendung. Es müssen andere Strategien her.

    Strategien der Modernisierung

    Im Rahmen eines 2-tägigen Strategie-Workshops ermitteln wir die für Sie passende Strategie zur Modernisierung Ihrer Software. Die gewählte Strategie ist abhängig von Kriterien wie Schnelligkeit für Einzelfeatures, Abhängigkeiten/Impacts der Software-Komponenten untereinander und weiterer Kriterien aus Ihrem Business.

    Einige der Modernisierungsideen seien hier kurz vorgestellt.

    Grundlage: Knowledge Discovery

    Mit Methoden aus Knowledge Discovery (Story Mapping, Impact Mapping oder Design Thinking) versuchen Sie zunächst zu begreifen, welche Funktionen in der Software stecken. Es muss also das über die Jahre angesammelte Wissen im Programmcode der Legacy Applikation herausgeholt werden.

    Im Rahmen dieses Verfahrens wird zudem auch festgelegt, welche Funktionen in der Legacy-Applikation überhaupt noch einen Wert für Sie und Ihr Business haben. Durch diese Entschlackung sorgen Sie dafür, dass nur die notwendigsten Funktionen von einer Modernisierung betroffen sind und nicht mehr benötigte Funktionen auch nicht in der Modernisierung migriert werden.

    Wussten Sie schon?

    Mehr als zwei Drittel aller Funktionen in Software werden nie oder selten benutzt (Quelle: CHAOS Report). Im Rahmen einer Software Modernisierung können Sie also ein gewaltiges ökonomisches Potenzial heben!

    Modernisierung auf Basis von Funktionen

    Mit dieser Strategie nehmen Sie eine kontinuierliche Modernisierung auf Basis von Funktionen vor. Es wird also über die Zeit hinweg regelmäßig modernisiert.

    Vorteil: Jeweils eine komplette Funktion in der Legacy-Applikation wird modernisiert.

    Nachteil: Der Modernisierungs-Prozess geht nur sehr langsam voran. Zudem kann es passieren, dass bei Modernisierung von Feature 3 oder 4 schon die neue Version des eingesetzten Frameworks zur Verfügung steht. Somit entstehen "Überläufe" mit unterschiedlichen Versionsständen von grundlegenden Frameworks, die unbedingt zu vermeiden sind. Hier muss also aufgepasst werden.

    Modernisierung mit Proxy-Layer

    Mit dieser Strategie betreiben Sie die Altanwendung und die neue Anwendung parallel. Der Endanwender bemerkt dabei jedoch nichts. Ein aufgebauter Proxy-Layer sorgt anhand bestimmter Wegrouten dafür, dass bestimmte Anfragen auf die neu modernisierten Programmteile umgeroutet werden und alte Anfragen weiterhin bestehen bleiben.

    Vorteil: Das bestehende System bleibt stabil und die neue Anwendung beginnt nicht unnötig komplex.

    Nachteil: Je nach Struktur der Altanwendung kann der Aufbau eines Proxy-Layers zunächst kompliziert sein und etwas Zeit in Anspruch nehmen.

    Modernisierung nach MVP-MMF-Prinzip

    Wie Lean Startup Prinzipien auch bei Modernisierungen helfen können

    Diese Strategie ist dem Lean Startup entlehnt. Anhand der Knowledge Discovery wissen wir, welche Funktionen noch von Wert für Sie sind und welche weniger Wert haben. Auf Basis dieser Priorisierung lässt sich das Minimum Viable Product (MVP) definieren, also die Minimalausstattung von Funktionen für die neue Applikation.

    Mit diesem MVP wird die Entwicklung der Neuanwendung gestartet. Parallel dazu werden weitere Minimum Marketable Featuresets (MMF) definiert, die nach Erreichen des MVPs hinzuentwickelt werden.

    Auf Basis dieser iterativen Strategie bekommen Sie sehr schnell eine gereifte Neu-Software, die die für das Business notwendigsten Funktionen erhält.

    Kunden, die diese Strategie gewählt haben, nutzen das MVP zum Beispiel für den Markteintritt der Software in neuen Ländern, und schwenken dann sukzessive die Altanwendung darauf um.

    Andere wiederum nutzen die MVP-Strategie, um möglichst schnell ein erstes Stück der modernisierten Anwendung auf ihrem Bestandsmarkt zu realisieren.

    Beispiele erfolgreicher Software Modernisierungen

    Jetzt erfolgreich modernisieren!

    Hallo Mayflower. Mein Name ist

    und per E-Mail bin ich unter

    zu erreichen. Sie können mich auch unter der Telefonnummer

    anrufen. Ich möchte mehr über

    erfahren.