Bei der Planung einer erfolgreichen Software-Migration gibt es viele Faktoren zu berücksichtigen. Dies ist der zweite Teil einer Serie, den Einstieg finden Sie
hier. Hier sind einige Gedanken, die Sie vor einer Migration in Betracht ziehen sollten:
-
Ziele: Bevor Sie mit der Migration beginnen, sollten Sie sich klare Ziele setzen. Möchten Sie beispielsweise die Effizienz Ihrer Systeme verbessern, einen aktuellen Tech-Stack einsetzen oder die Benutzerfreundlichkeit erhöhen? Welche Probleme mit der existierenden Legacy-Software sind es genau, die zur Entscheidung für eine Migration geführt haben? Wie können diese Probleme in Zukunft vermieden werden? Die Definition Ihrer Ziele hilft Ihnen, den Fokus während des Migrationsprozesses zu behalten.
-
Standardlösung / Eigenentwicklung: Eine wichtige Entscheidung, die Sie treffen müssen, ist, ob Sie eine Standardlösung oder eine Eigenentwicklung verwenden möchten. Standardlösungen sind oft kostengünstiger und einfacher zu implementieren, während Eigenentwicklungen besser an Ihre spezifischen Anforderungen angepasst werden können. Im Kerngeschäftsbereich Ihres Unternehmens ist oft eine Eigenentwicklung sinnvoll, da diese einen wichtigen Wettbewerbsvorteil durch die perfekte Abbildung Ihrer Geschäftsprozesse generieren kann. In Randdomänen wie Buchhaltung etc. ist jedoch in den allermeisten Fällen eine Standardsoftware, ggf. mit Anpassungen, ausreichend.
-
Migration / Neuentwicklung: Eine weitere wichtige Entscheidung ist, ob Sie Ihre bestehende Software migrieren oder eine (funktionell gleiche) Software neu entwickeln möchten. Eine Migration kann über die Wiederverwendung bestimmter Teile kostengünstiger sein, erfordert jedoch möglicherweise mehr Zeit und Ressourcen, da eine präzise Analyse der existierenden Software die Voraussetzung ist (Stichwort: Reverse Engineering). Eine Neuentwicklung kann teurer sein, bietet jedoch die Möglichkeit, Ihre Software genau an Ihre Anforderungen anzupassen bzw. auch weitreichende Änderungen an Architektur und Tech-Stack vorzunehmen.
-
Eigene / Auftragsentwicklung: Wenn für Sie primär eine Eigenentwicklung in Frage kommt, müssen Sie entscheiden, ob Sie die Entwicklung intern durchführen oder einen Auftragnehmer beauftragen möchten. Eine interne Entwicklung kann bei vorhandenem Know-How im Ziel Tech-Stack kostengünstiger sein, erfordert jedoch möglicherweise mehr Zeit und Ressourcen. Ein Auftragnehmer kann teurer sein, bietet jedoch auch möglicherweise mehr Fachwissen und Erfahrung.
-
Erwerb / Miete: Wenn Sie sich für eine Standardlösung entscheiden, müssen Sie entscheiden, ob Sie die Software erwerben oder mieten möchten. Der Kauf kann langfristig kostengünstiger sein, erfordert jedoch möglicherweise mehr Ressourcen. Die Miete kann kurzfristig kostengünstiger sein, erfordert jedoch möglicherweise höhere monatliche Kosten.
-
On Premise / Cloud: Die gleiche Überlegung ist auch für die Entscheidung On Premise / Cloud relevant. Cloud Anbieter wie Amazon AWS, Microsoft Azure etc. bieten eine hohe Flexibilität und Skalierbarkeit sowie zahlreiche vorkonfigurierte Lösungen, lassen diese sich aber auch sehr gut bezahlen.
-
Personalressourcen / Berater / externe Auftragnehmer: Sie müssen auch entscheiden, welche Ressourcen Sie für die Migration benötigen. Möchten Sie Ihre eigenen Mitarbeiter einsetzen oder einen Berater oder externe Auftragnehmer beauftragen? Siehe auch "Eigene / Auftragsentwicklung".
-
Infrastruktur: Sie müssen sicherstellen, dass Ihre Infrastruktur die Anforderungen der neuen Software erfüllt. Möglicherweise müssen Sie zusätzliche Hardware oder Software erwerben oder Ihre bestehende Infrastruktur aktualisieren. Des weiteren muss auch bei einer In House-Entwicklung die entsprechende Infrastruktur vorhanden sein (Stichwort: Entwicklungs- / Test- / Abnahmeumgebung, jeweils mit den erforderlichen Schnittstellen zu externen Diensten, (falls relevant) Geräten etc.).
-
Projektmanagement: Eine erfolgreiche Software-Migration erfordert eine sorgfältige Planung und ein effektives Projektmanagement. Sie müssen sicherstellen, dass Sie ein Team haben, das für die Migration verantwortlich ist, und dass Sie einen klaren Zeitplan und Meilensteine haben. Das Team sollte Erfahrung mit dem gewählten Vorgehensmodell (z.B. Scrum) haben. Oft ist es auch sinnvoll das Projektmanagement outzusourcen (-> Externes Projektmanagement), da ein externer Projektmanager oft professioneller, neutraler und effizienter agieren kann als ein in die Prozesse der Firma eingebundener Mitarbeiter)
-
Controlling: Sie müssen sicherstellen, dass Sie während des Migrationsprozesses sowohl in Bezug auf Entwicklungsfortschritt als auch Kosten die Kontrolle behalten. Sie sollten regelmäßig den Fortschritt überwachen und sicherstellen, dass das Projekt im Zeitplan bleibt.
-
Risikoanalyse: Eine Risikoanalyse ist ein wichtiger Schritt bei der Planung einer Software-Migration. Sie müssen die potenziellen Risiken identifizieren und einen Plan haben, um diese Risiken zu minimieren oder zu vermeiden (Stichwort z.B: vorherige Proof of Concept-Lösungen für kritische Parts, Planung der eigentlichen "Umschaltung" zwischen Alt- und Neusystem). Erst nach einer Risikoanalyse kann die finale Entscheidung für den Start der Migration getroffen werden.
-
Cost-/Benefit-Analyse: Schließlich müssen Sie eine Kosten-Nutzen-Analyse durchführen, um sicherzustellen, dass die Migration wirtschaftlich sinnvoll ist. Sie sollten die Kosten der Migration gegen die erwarteten Vorteile abwägen und sicherstellen, dass die Migration einen positiven ROI hat.