Integration von Jira mit ActiveControl – warum und wie?
Das Aufkommen der agilen Softwareentwicklung mündete in einer ausgeprägten Kooperation von Business- und Entwicklungsteams.
Bedingt durch die wichtigsten Werte der agilen Methode – „prozess- und toolübergreifende Interaktion von Einzelpersonen“ und „Reaktion auf Änderungen unter Verfolgung eines Plans“ – kam es zum vermehrten Einsatz von Post-its an Wänden zur Steuerung der Entwicklung neuer Funktionen und Änderungen. Dieser Ansatz mag bei kleineren Unternehmen mit einem Standort funktionieren, eignet sich aber nicht wirklich für agile Teams in größeren Unternehmen, die in der Regel in unterschiedlichen geografischen Regionen und Zeitzonen agieren.
Zudem sind herkömmliche Projektplanungs- und Anforderungsmanagement-Lösungen, die auf der Prämisse eines Wasserfall-Modells aufbauen, für die heutige iterative agile Entwicklung zu unflexibel.
Und hier kommen Atlassian, ein im Jahr 2002 gegründetes Startup, und seine Jira-Lösung ins Spiel. Dabei handelt es sich um ein schlankes, umfassend konfigurierbares Tool zur Fehler- und Vorgangsverfolgung, das schnell zu einer der De-Facto-Plattform für Teams wurde, die den Fortschritt ihrer agilen Workitems verfolgen und steuern wollen.
Da sich die agile Softwareentwicklung als Verfahren der Softwarelieferung immer stärker durchsetzt, sehen sich SAP-Teams zunehmend damit konfrontiert, agile Verfahren mithilfe agiler Planungs- und Auslieferungstools wie Jira einzuführen.
Ziel von Basis Technologies ist es, SAP-Kunden permanent dabei zu unterstützen, ihre Arbeitsweisen zu modernisieren. Deshalb verstand es sich von selbst, dass wir eine systemeigene Integration zwischen Jira und unserer DevOps-Automatisierungslösung ActiveControl entwickeln. In diesem Artikel erläutere ich, warum die Integration notwendig war und wie sie funktioniert.
Agile und Jira
„Agil“ bezeichnet im Allgemeinen Methoden rund um die Idee der iterativen Entwicklung, bei der Anforderungen und Lösungen im Rahmen der Kooperation zwischen sich selbst organisierenden funktionsübergreifenden Teams ständig weiterentwickelt werden.
Das am weitesten verbreitete Agile-Framework ist Scrum. Hier wird Arbeit in Form von gewünschten Ergebnissen abgebildet, die als User Stories beschrieben werden. Das sind im Wesentlichen kurze Beschreibungen einer Funktion oder einer Anforderung in folgendem Format: „Als brauche ich , damit ich erzielen kann.“
User Stories werden in einem „Backlog“ gesammelt und verwaltet, das auf Basis des Feedbacks vom Markt oder Fachbereich permanent priorisiert und re-priorisiert wird. Zu Beginn jeder Entwicklungsrunde, die als „Sprint“ bezeichnet wird, entscheidet der Product Owner, welche User Stories aufgenommen werden.
Wie wird die Arbeit, die den einzelnen Sprints zugewiesen wurde, und der Rest des Backlogs, der außen vor bleibt, verwaltet? Diese Aufgabe kann eine gemeinsame physische Ressource – wie
Post-its an einer Wand – erfüllen, sofern sich alle Teammitglieder am selben Ort befinden. Wie wahrscheinlich ist das in der Welt der Software-Entwicklung jedoch, vor allem angesichts von COVID-19?
Hier kommt Jira ins Spiel. Das Erfassen von User Stories als digitale Versionen dieser altmodischen Haftnotizen ermöglicht es allen, gemeinsam und ortsunabhängig daran zu arbeiten.
Die „digitalen Haftnotizen“ in Jira lassen sich einfach aus dem Backlog in einen Sprint ziehen, wo der Status der Arbeit in der Regel auf einem digitalen „Kanban Board“ ausgewiesen wird – mit Spalten wie „Entwicklung in Arbeit“, „Bereit für QS“, „QS in Arbeit“ und „Erledigt“ (diese Spalten lassen sich jedoch an die individuellen Arbeitsabläufe anpassen). Wenn die User Stories während des Sprints diese Zustände durchlaufen, können sie einfach per Drag & Drop von einer Spalte in die nächste gezogen werden. Die im Backlog verbleibenden Elemente lassen sich auf ähnlich einfache Weise verwalten.

Verwendung von Jira für die SAP-Entwicklung
Es liegt in der Natur der Sache, dass Unternehmen ihre Softwaretoolchain harmonisieren wollen, wo immer das möglich ist. Daher überrascht es auch nicht, dass sich immer mehr SAP-Teams bei Einführung der agilen Entwicklung für Jira entscheiden (oder zu dessen Nutzung aufgefordert werden). Aber wie so oft sind die Dinge bei SAP ein wenig kniffliger als woanders.
SAP-Workflows sind in der Regel sehr stringent – schließlich handelt es sich oft um geschäftskritische Systeme – und lassen sich mit digitalen Haftnotizen nicht exakt abbilden. Darüber hinaus benötigen wir vollständig audit-fähige Genehmigungsprozesse, die Informationen mit einem geeigneten Detaillierungsgrad offenlegen. Außerdem haben wir es mit SAP-Eigenheiten wie der Verwendung von WRICEFs (Workflow, Report, Interface, Conversion, Enhancement, Form) für die Konfiguration und Transporte zur Bereitstellung von Änderungen zu tun.
Unter dem Strich kann Jira in seiner ursprünglichen Form deshalb nicht ohne Weiteres den Status der SAP-Entwicklung widerspiegeln. Es kann die User Stories nicht mit den tatsächlichen SAP-Implementierungen der einzelnen Änderungen verknüpfen, es kann die Änderungen in SAP nicht direkt steuern (geschweige denn mit der nötigen Stringenz) und es hat keinen Zugriff auf alle benötigten Informationen. Tatsächlich weiß Jira von Haus aus gar nicht, was WRICEFs oder SAP-Transporte überhaupt sind.
Warum ist die Integration zwischen Jira und ActiveControl wichtig?
Weil SAP so einzigartig ist, muss ein SAP-Entwickler oder -Funktionsberater in einem auf Jira basierenden agilen Entwicklungsprozess in der Regel jede Transportauftrags-Nummer (und sonstige relevante Informationen) erneut in die entsprechende Jira-User Story eingeben, um alle Änderungen zeitnah und zentral zu erfassen. Auch der aktuelle Status jeder User Story muss manuell aktualisiert werden.
Das ist eine Menge Arbeit – man stelle sich vor, es müssten Hunderte oder gar Tausende von Transporten neu eingegeben werden – und es ist fehleranfällig. Und die Jira-Updates finden möglicherweise nicht einmal statt, wenn andere, dringendere Aufgaben Vorrang haben. Um es etwas lapidarer auszudrücken: Wenn Sie sich auf Handarbeit verlassen, ist die Wahrscheinlichkeit groß, dass SAP-bezogene Informationen in Jira – Informationen, auf die sich Endanwender verlassen, um zu verstehen, wann neue Funktionen live gehen, und die Ihre Teams benötigen, um die agile SAP-Entwicklung effektiv zu betreiben – fehlerhaft sind, vor allem in SAP-Landschaften, in denen die Teams viel zu tun haben und/oder regelmäßig viele Transporte bewegen (kein ungewöhnliches Szenario). Das macht die Vorteile von Jira als Tool mehr oder weniger zunichte!
Und genau diese Lücke soll die Integration zwischen Jira und ActiveControl schließen. Schauen wir uns an, wie die Integration funktioniert, und beginnen wir dabei mit den WRICEFs.
Funktionsweise
Die Jira/ActiveControl-Integration sorgt für eine bidirektionale Synchronisation, die die Jira-User Stories auf dem neuesten Stand hält, damit das Unternehmen über den Fortschritt der von ihm gewünschten Änderung informiert ist.
In Jira wird eine Änderungsanfrage, die aus dem Unternehmen kommt, wie eingangs erwähnt, als User Story dargestellt, und das SAP-spezifische Element kann als WRICEF dargestellt werden. ActiveControl enthält ein Konstrukt mit der Bezeichnung „Geschäftsaufgabe“ (Business Task), mit dem eine Änderungsanfrage dargestellt und alle mit ihr verbundenen Aktivitäten zusammengefasst werden können. Bei der agilen SAP-Entwicklung, die in Jira verwaltet wird, gilt daher: ActiveControl-Business Task = WRICEF = SAP-spezifisches Element einer bestimmten User Story.

Das folgende Diagramm zeigt eine vereinfachte Version der möglichen Funktionsweise eines agilen SAP-Workflows, der von Jira und ActiveControl gesteuert wird. Dabei wird von denselben Kanban-Statusbezeichnungen ausgegangen, die ich oben genannt habe (Entwicklung in Arbeit, Bereit für QS, QS in Arbeit und Erledigt). Dieser Ablauf wird im Wesentlichen von ActiveControl mit Updates in Jira gesteuert, aber auch der umgekehrte Weg ist möglich; Statusänderungen von User Stories in Jira lösen dabei automatisierte Aktionen über ActiveControl aus:

- Wenn eine User Story aus dem Jira Backlog in einen Sprint überführt und für die Entwicklung freigegeben wird, wird in ActiveControl eine entsprechende Business Task erstellt, die in der Regel die ID der Jira-User Story als eindeutige Kennung nutzt. (User Stories im Backlog befinden sich noch in einem „schwebenden“ Zustand und erhalten vielleicht nie Priorität; daher wäre es zu früh, sie in ActiveControl zu synchronisieren).
- SAP-Entwickler beginnen mit der Implementierung der Änderungen in SAP-Transporten. ActiveControl erzwingt die Verknüpfung jedes Transports mit einer Business Task und damit mit einer Jira-User Story.
- Nach den Komponententests und der automatisierten Analyse durch ActiveControl wird der Abschluss des Peer-Reviews durch ActiveControl erzwungen, bevor der Transport für die QS freigegeben werden kann. Jira wird gegebenenfalls mit relevanten Informationen aktualisiert.
- Nach Abschluss des Peer-Reviews werden Transporte automatisch vom Entwicklungssystem freigegeben und als „bereit für den Import in das QS-System“ deklariert. ActiveControl verwaltet dabei automatisch die Sequenzierung und die Abhängigkeiten – auch über verschiedene Systeme hinweg (z. B. ECC und CRM). Der Status der User Story in Jira ändert sich in „Bereit für QS“ und die „digitale Haftnotiz“ verändert automatisch ihre Position auf dem Kanban-Board.
- Wenn die Transporte (wiederum über ActiveControl) zum Testen in das QS-System importiert werden, ändert sich der Status der User Story in Jira in „QS in Arbeit“.
- Nach Abschluss der QS-Tests kann die Jira-User Story bei Bedarf wieder aktualisiert werden. Die Transporte sind bereit für den Import in das Produktionssystem.
- Wenn dann ein CAB (oder ein gleichwertiges Gremium) die aktuelle User Story überprüft hat, kann die endgültige Freigabe für die Bereitstellung (Deployments) in der Produktion erteilt werden. Bei eindeutigen Fällen ist es u. U. nicht einmal notwendig, die in ActiveControl verfügbaren Daten zu referenzieren – ActiveControl-Deployments können mittels Freigaben in Jira ausgelöst werden.
- Die Transporte werden zum richtigen Zeitpunkt (vielleicht am Ende des Sprints, in manchen Fällen aber auch sofort nach der Freigabe) in die Produktion überführt und die User Story wird in Jira auf „Erledigt“ gesetzt.
Alle Testnachweise und die Bestätigung jeder Freigabe werden während des Prozesses in ActiveControl gespeichert, um eine vollständige Rückverfolgbarkeit zu gewährleisten. Die automatisierte Analyse von ActiveControl umfasst mehr als 60 einzelne Analysefunktionen, die so konfiguriert werden können, dass sie an jedem Kontrollpunkt im Prozess ausgeführt werden, um maximale Sicherheit und Transparenz zu gewährleisten.

Dank der Integration zwischen Jira und ActiveControl kann jedes Teammitglied in seinem Fachgebiet mit maximaler Effizienz arbeiten. SAP-Experten müssen ihre bevorzugte SAP-Umgebung nicht verlassen, und der Product Owner, der vielleicht kein SAP-Experte ist, kann trotzdem in Jira die Arbeit planen und den Fortschritt verfolgen.
Fazit
Die agile Softwareentwicklung hat SAP erreicht – und mit ihr neue Praktiken, die ein Umdenken und die Einführung neuer Werkzeuge erfordern. Von zentraler Bedeutung ist dabei die Möglichkeit, die Arbeit mit agilen Backlog-Management-Tools wie Jira planen und verfolgen zu können.
Jira ist zwar leistungsfähig und umfassend konfigurierbar, verfügt aber von Haus aus über keine Integration in SAP. Nachverfolgbarkeit und Governance, beides sehr wichtige Faktoren in SAP, lassen sich dadurch nur schwer realisieren.
ActiveControl von Basis Technologies kann diese Lücke schließen. Es stellt die Verbindung von der Anfrage bis zur Implementierung her und ermöglicht es SAP-Teams zudem, weiterhin in ihren bevorzugten Tools und Umgebungen zu arbeiten. Die zugrunde liegenden Synchronisationen mit externen Tools wie Jira übernimmt ActiveControl.
Wenn Sie die ActiveControl-Jira-Integration in Aktion erleben möchten, schauen Sie sich diese Video-Playlist an oder kontaktieren Sie uns. Wir erläutern Ihnen gern, welche Vorteile ein komplett automatisierter Änderungsmanagement-Workflow Ihrem Unternehmen bieten kann.