Allgemein, Apps, News, Technik

Veröffentlicht am 16. Dezember 2021

Projektmigration – ein Erfahrungsbericht

Heute möchte ich meine Erfahrungen zum Thema Projektmigration anhand eines Beispielfalles mit dir teilen. 

Die Herausforderung 

Bei einem unserer Kunden, einem IT-Unternehmen, existierte ein Jira, das „historisch gewachsen“ war. Die Konfiguration und Wartung des Systems wurden immer schwieriger. Mit der Zeit wurden sehr viele benutzerdefinierte Felder angelegt, die teilweise den gleichen Namen hatten, aber von unterschiedlichen Typen waren oder unterschiedlich verwendet wurden. Ebenso gab es viele Status, die zwar dieselbe Bedeutung, aber unterschiedliche Namen hatten. Zudem war an diesem System noch kein Benutzerverzeichnis angebunden. Stattdessen wurden alle Benutzer:innen lokal im Jira konfiguriert. 

Da es zu aufwendig war, dieses Jira zu konsolidieren und aufzuräumen, wurde im Unternehmen entschieden, Jira neu und sauber aufzusetzen. Zudem galt es, striktere Best-Practices für die Konfiguration zu vereinbaren und das System insgesamt besser wartbar zu halten. Im bereits bestehenden Jira-System gab es nicht mehr so viele Projekte, die aktiv genutzt wurden. Zudem waren diese Projekte fast abgeschlossen. Daher sollten für einen kurzen Zeitraum, der wenige Monate umfasste, beide Systeme parallel betrieben werden. Nach Abschluss aller Projekte sollte das bestehende Jira-System abgeschaltet und nur noch das neue System benutzt werden. 

Heute, einige Jahre später, laufen immer noch beide Systeme parallel und es wird in beiden fleißig gearbeitet. Die Anzahl an Projekten im alten System wurde nicht weniger. Mit der Zeit mussten sogar neue Projekte dort angelegt werden, weil diese eng mit den bestehenden Projekten zusammenhängen und beide miteinander verknüpft werden sollten. 

Um nicht beide Systeme parallel weiter betreiben und lizensieren zu müssen, gab es nun die Entscheidung, alle „notwendigen“ Projekte in das neue System zu migrieren. 

Der Projektverlauf 

Zu Beginn verschafften wir uns einen Überblick, welche Projekte migriert werden sollen. Da es viele alte Projekte gab, bestand die erste Herausforderung darin, herauszufinden, ob es für die Projekte noch Ansprechpartner:innen gibt. Diese sollten wiederum eine Einschätzung abgeben, ob das Projekt migriert werden soll oder nicht. Nach einiger Zeit hatten wir einen Überblick über fast alle der knapp 500 Projekte, die im alten Jira vorhanden waren. Rund 30 bis 50 Projekte kamen für die Migration in Frage. Für diese haben wir dann eine grobe Einschätzung in „einfach“, „mittel“ und „schwer“ vorgenommen und die geschätzten Aufwände mit den jeweiligen Verantwortlichen abgestimmt. Daraufhin hat sich die Anzahl der zu migrierenden Projekte noch einmal deutlich reduziert. 

Nachdem dieser organisatorische Teil erledigt war, konnten wir uns der eigentlichen Migration widmen. Wie bereits geschrieben, war die Konfiguration von Quell- und Zielsystem sehr unterschiedlich, sodass wir die Projekte nicht einfach von A nach B migrieren konnten. Auch sollten die „Altlasten“ nicht mit ins neue, aufgeräumte Jira übernommen werden. Die Anpassung im alten System vorzunehmen war allerdings, bis auf wenige Ausnahmen, nicht möglich, um die Arbeit dort nicht zu behindern. 

Aus diesem Grund haben wir uns dazu entschieden, für die Migration einen extra Server aufzusetzen, auf dem die Projekte zunächst mit der Konfiguration aus dem alten System eingespielt werden. Hier fand die Anpassung der Konfiguration statt. Anschließend wurden die Projekte von dort zunächst ins Staging-System exportiert. An diesem Ort testeten Benutzer:innen, ob alles zufriedenstellend migriert war. Da dies der Fall war, wurde ein neuer Termin für die Migration in das Zielsystem abgestimmt. Die Migration ging wieder von vorne los: Export aus dem Quellsystem, Import in die Migrationsinstanz, Anpassung der Konfiguration, Export und Import in das Zielsystem. 

Für sämtliche Im- und Exporte haben wir mit der App „Project Configurator“ gearbeitet. Diese bietet die Möglichkeit, einzelne Projekte inklusive ihrer Konfiguration zu exportieren und zu importieren. In einem der nächsten Blog-Artikel stellen wir diese App detaillierter vor. 

Aber auch mit der App funktionierte nicht alles reibungslos. Wir sind unter anderen auf Dateninkonsistenzen gestoßen, die per Datenkorrektur in der Datenbank oder sogar im Laufe der Migration direkt in den Export-Dateien behoben werden mussten. Außerdem haben einige der Konfigurationen Probleme gemacht und mussten anders angepasst werden. 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.