Das Projekt
Das Engineering-Support-Team unseres Kunden verwaltet die Werkzeuge, die bei den Entwicklern in Deutschland und anderen Ländern eingesetzt werden. Dazu gehören zwei Jira-Server: Der eine wird von den Entwicklern der deutschen Online-Shopping-Plattform genutzt, der andere von Software-Entwicklungsteams anderer Marktplätze wie Holland, Australien und Dänemark. kreuzwerker wurde mit der Zusammenführung aller aktiven Projekte von der deutschen Instanz auf den zentralen, globalen Server beauftragt.
Das Problem
Entwickler unseres Kunden arbeiten bereits seit langem in zwei Jira-Welten. Tatsächlich hatte das Engineering-Support-Team selbst in beiden ähnliche Projekte. Nicht nur hatten sich die Kosten für die Wartung von zwei Servern verdoppelt, die getrennten Jira-Anwendungen verhinderten auch jede enge Zusammenarbeit zwischen den Teams weltweit und schufen zwei Support-Einstiegspunkte für Endanwender. In dieser Situation hatte dieselbe Gruppe von 2.000 Benutzern Zugriff auf beide Server. Auf den deutschen Server wurde meist zu normalen Arbeitszeiten zugegriffen, während die Zugriffe auf den globalen Server weltweit rund um die Uhr stattfanden. Nach Ansicht unseres Kunden sind Teams dann am erfolgreichsten, wenn sie ihre Arbeit frei organisieren können. Für Jira bedeutet dies jedoch, dass es viele unterschiedlich konfigurierte Projekte und nur eine geringe Anzahl gemeinsamer Konfigurationselementen gibt.
Der globale Server wurde wegen der großen Anzahl der vorhandenen Projekte und Probleme als Zielserver bestimmt. Somit wurden etwa sechzig aktive Projekte vom lokalen Server für die Zusammenführung ausgewählt. Neben der technischen Komplexität bestand die Herausforderung darin, das Projekt mit minimalen Auswirkungen auf die Entwicklungsteams durchzuführen. Ein Big-Bang-Szenario, bei dem alle Projekte über ein Wochenende zusammengeführt werden konnten, war jedoch nicht möglich, da die Zeit für die Zusammenführung von sechzig Projekten einfach nicht ausreichte. Außerdem hätte der Support an den Tagen nach einem solchen Wochenende nicht garantiert werden können, weil das technische Support-Team einfach zu klein war. Wir entschlossen uns, Gruppen von etwa zehn geschäftsbezogenen Projektenzu bilden, wobei jeweils eine Gruppe pro Woche zusammengelegt werden sollte.
Die Lösung
Um die Zusammenführung tatsächlich zu schaffen, bauten wir eine Merge-Toolchain aus zwei Produktions- und zwei Staging-Servern auf. Wir synchronisierten die Jira-Software und Add-ons auf allen Servern. Zur Übertragung der agilen Daten (was über Jira lange Zeit nicht möglich war), führten wir ein Update auf die neueste Jira-Version durch und verwendeten zum Importieren den Standard Jira-Projekt-Importer dieser Version. Die Projektkonfiguration wurde mit dem Add-on Configuration Manager der Botron Software
übertragen. Die erforderliche Konvertierung von Konfigurationselementen und Ausgabedaten erfolgte mit SQL-Scripts. Besonderes Augenmerk wurde auf die Kommunikation mit den Teams gelegt. Wir verfassten ein eigenes Handbuch für die Entwicklungsteams, in dem beschrieben wurde, was vor und nach der Zusammenführung zu tun wäre, und wir arbeiteten mit E-Mails, Slack (Instant Messaging-Tool) und Kalendern für die Kommunikation über den Zusammenführungsplan.
Unser Beitrag
Unser wichtigster Beitrag in diesem Projekt bestand in einer erweiterten Analyse der Konfiguration und der Projekte beider Jira-Instanzen sowie in der Vorbereitung und im Testen der Zusammenführung im Detail. Dies führte letztlich zu einer minimalen Anzahl von Supportproblemen während der Zusammenführung selbst und zu einem Freeze, das für die Mitglieder der deutschen Entwicklungsteams aber nur eine Nacht lang dauerte.
Vorteile
Die Entwickler unseres Kunden in allen Ländern arbeiten nun in einer gemeinsamen Jira-Instanz und müssen keine Kontextwechsel mehr vornehmen. Das Engineering Support Team in Berlin hat es zur Unterstützung der lokalen Entwickler und der globalen Entwicklungsteams mit einem einzigen zentralen Support-Projekt in Jira zu tun. Durch die Arbeit an diesem Projekt konnte kreuzwerker die eigene Jira-Projektkompetenz weiter ausbauen und verbessern. Im Zuge dieses Einsatzes gelang es uns, 60 Projekte, 100 agile Boards, 75.000 Probleme und rund 250.000 Kommentare erfolgreich zu übertragen.