Application Lifecycle Management mit Atlassian-Tools bei catworkx

Customer Story

catworkx hat eine hauseigene Integrationslösung auf Basis von Atlassian-Tools entwickelt, um komplizierte App-Entwicklungsprozesse so schlank und strukturiert wie möglich zu gestalten. Der gesamte Entwicklungsprozess wird dabei in einen Jira-Vorgang ausgegliedert. Durch die Verknüpfung mit Confluence, Bitbucket und Bamboo erhöht sich der Automatisierungsanteil. Weiterführend lassen sich Arbeitsvorgänge von allen Beteiligten einfach überwachen und nachvollziehen. Abgerundet wird der App-Entwicklungsprozess in Jira durch implementiertes Release-Management.

Highlights
  • Durch das automatische Anlegen der Entwicklungsprojekte, der Confluence-Bereiche, der Bitbucket-Repositories und der Bamboo-Pläne wird ein Administrator nur noch einmal für die Implementierung des Prozesses und die Wartung des Systems benötigt, aber nicht mehr für das Anlegen der Projekte, Bereiche etc.
  • Der Entwicklungsvorgang wird standardisiert.
  • Die Traceability des gesamten Entwicklungsvorgangs bis zum Artefakt der Version ist gewährleistet.
  • Namenskonventionen werden automatisch eingehalten.
  • Änderungen müssen nur an einem Workflow vorgenommen werden.
  • ALM beinhaltet ausschließlich standardisierte Apps und keine “Skriptlösungen”.

Die Software-Entwicklung bei catworkx unterstützt primär die eigenen Consulting-Tätigkeiten und ist geprägt durch eine Vielzahl individueller Kundenentwicklungen. Im Laufe der 16-jährigen Atlassian-Aktivitäten hat catworkx hieraus über 260 Zusatzlösungen (Apps) abgeleitet, die auf Anfrage oder über den Atlassian Marketplace erhältlich sind.

Die Ausgangslage:


Für eine nachhaltige und qualitätsgesicherte Entwicklung aller Apps strebt catworkx die Instanziierung der gesamten Development-Toolchain an, mit eigenem Jira-Projekt und assoziiertem Confluence-Space, Bitbucket-Repository sowie Build-Plan. Der auf den ersten Blick administrative Overhead für eine relativ kleine Entwicklung bietet die Möglichkeit, durch einen hohen Automationsanteil die Abhängigkeit von Einzelpersonen zu reduzieren sowie Self-Service zu realisieren. Da die existierenden Integrationsoptionen innerhalb der Atlassian-Toolchain den Automationsbedarf nicht abdecken, entschied sich catworkx für eine eigene Integrationslösung.

Der Lösungsansatz:


Führend für den gesamten Entwicklungsprozess ist Jira. Die gesamte Automationskette wird an einem Jira-Vorgang aufgehängt. Der Jira-Vorgang repräsentiert dabei die App auf einer Meta-Ebene, von der aus über einen Workflow insbesondere die administrativen Vorgänge ausgelöst werden:

  1. Automatisches Anlegen eines Jira-Projekts, über das die eigentliche (Weiter-)Entwicklung der App gesteuert wird.
  2. Automatisches Anlegen eines Bereichs für die App-Dokumentation im externen Confluence.
  3. Automatisches Anlegen eines Repositories in Bitbucket.
  4. Automatisches Anlegen eines Build-Plans in Bamboo.
Application Lifecycle Management mit Atlassian-Tools bei catworkx - Customer Story

Der App-Vorgang dient später als zentraler Einstiegspunkt, von dem aus der gesamte Entwicklungsprozess überwacht und nachvollzogen werden kann und damit die Traceability gewährleistet wird. Die Gesamtheit der App-Vorgänge wird in einem dedizierten Projekt verortet und bildet gleichzeitig den App-Katalog ab.

Application Lifecycle Management mit Atlassian-Tools bei catworkx - der Workflow

In Bezug auf die eigentliche Featureentwicklung ist ein Entwicklungsworkflow umgesetzt, der vollständig über Trigger aus Bitbucket durchlaufen wird. Der Entwickler muss seine Entwicklungsumgebung nicht verlassen und arbeitet in einem Tool. Mit dem Anlegen eines Feature-Branches wechselt der Vorgang automatisch in den Zustand “In Bearbeitung”. Auch die weiteren Übergänge in Richtung QA erfolgen automatisch, ausgelöst über Trigger in Verbindung mit Pull-Request in Bitbucket und deren Abnahme bzw. Zurückweisung. Alle diese Funktion bietet die Jira/Bitbucket-Integration im Standard.

Eine zusätzliche Erweiterung hat catworkx für das Release-Management der eigenen Apps vorgenommen und dabei wiederum die Implementierung über einen Jira-Vorgang gewählt. In dessen Workflow sind Synchronisationsfunktionen aus der catworkx-App Version Management for Jira eingebettet, um “echte” Versionen am Projekt anzulegen, zu aktualisieren und zu veröffentlichen.

Neben der höheren Flexibilität, die durch die Abbildung eines echten Workflows im Release-Management und die zusätzlichen Felder für Versionsinformationen erreicht wird, lässt sich über Bordmittel von Jira leicht ein Release-Branch erzeugen. Dies erlaubt den Durchgriff vom App-Vorgang bis auf das Artefakt der Version. Weiteren Mehrwert zieht catworkx aus der Tatsache, dass die hauseigene App Issue Publisher for Jira dafür eingesetzt werden kann, um automatische Release-Notes als Confluence-Seite zu generieren.

Kontaktieren Sie uns!

Wir beraten Sie zum gesamten Atlassian Ecosystem und unterstützen Sie gerne hinsichtlich der Optimierung von Lizenzmodellen und -kosten.