Wie lässt sich agile Entwicklung in einer SAP-Umgebung praktizieren?
Teil 2
SAP genießt das Vertrauen führender Unternehmen, wenn es um die Abwicklung ihrer kritischen Geschäftsprozesse und -funktionen angeht. Änderungen an SAP-Systemen vorzunehmen, um damit auf sich ändernde geschäftliche Erfordernisse zu reagieren, kann jedoch mühsam und umständlich sein.
In der übrigen Welt der Softwareentwicklung bedient man sich inzwischen neuer Methoden wie der agilen Entwicklung, die es ermöglicht, Softwareänderungen und Updates für kritische Systeme schneller und effizienter zu entwickeln und bereitzustellen.
In Teil 1 dieser Blogserie haben wir uns mit der agilen Entwicklung beschäftigt und erklärt, warum sie so wichtig ist. In Teil 2 werden wir uns genauer ansehen, wie Unternehmen agile Methoden in SAP-Umgebungen anwenden können.
Ausweitung der agilen Teams für die SAP-Entwicklung
Bei der Scrum-Methode werden kleine Teams mit drei bis neun Mitgliedern gebildet. Dazu gehört ein Scrum Master, der für das Funktionieren des Teams zuständig ist. Der Product Owner verwaltet und priorisiert User Storys für die Entwicklung und vermittelt zwischen den Verantwortlichen für ein System und dem Entwicklungsteam. Zudem gehört dem Team natürlich mindestens eine Entwickler:in an.
Aufgrund des speziellen Charakters der Entwicklung für SAP ist es häufig ratsam, das Team über die reinen Entwickler:innen hinaus zu erweitern. Unter Umständen müssen aufgrund der engen Beziehung zwischen Konfiguration und Code in SAP das Basis-, das QS- und das Konfigurationsteam vertreten sein. Ein weiterer Grund dafür sind die strengen Testvorgaben für die meist geschäftskritischen Systeme.
SAP-Integration mit dem Produkt-Backlog
Bei Beginn eines Entwicklungszyklus mit der agilen Methode werden User Storys in einem so genannten Produkt-Backlog gesammelt. Diese Storys können zu Epics und diese wiederum zu Initiatives (auch Themes genannt) kombiniert werden. Diese Hierarchie ermöglicht eine differenziertere, wertorientierte Herangehensweise an die SAP-Entwicklung.
Das Produkt-Backlog wird in der Regel mit Tools wie Jira, Cherwell, Microsoft Azure DevOps oder ServiceNow verwaltet. Leider gibt es keine direkte Schnittstelle zwischen diesen Anwendungen und SAP. Und hier kommt ActiveControl ins Spiel. Dabei handelt es sich um eine DevOps-Automatisierung, die speziell für den Einsatz in SAP-Umgebungen entwickelt wurde. Damit können Sie SAP so mit solchen Anwendungen verknüpfen, dass jeder SAP-Transport mit einer User Story im Backlog verknüpft ist. Ohne diese Verknüpfung wäre eine manuelle Neueingabe in den einzelnen Systemen nötig. Das würde es erschweren, die Systeme auf dem jeweils aktuellen Stand zu halten.
Die Integration von SAP mit der Produkt-Backlog-Software erleichtert die Koordinierung von Projekten, die Entwicklungsarbeit mit und ohne SAP-Bezug einschließen – wie es bei vielen Projekten der Fall ist. Diese Integration sorgt für uneingeschränkte Transparenz im gesamten Entwicklungsprojekt. Das macht es möglich, jede Umgebung auf die übergeordneten Projektziele auszurichten.
Weitere Informationen zur Integration von SAP mit agilen Entwicklungswerkzeugen finden Sie in unserem ebook: Optimierte Softwareentwicklung mit SAP Toolchain Integration
Höherer Automatisierungsgrad
Das agile Konzept ermöglicht ein höheres Entwicklungstempo und damit eine schnellere Bereitstellung neuer Funktionen. Viele ActiveControl-Benutzer berichten, dass sie dank der agilen Workflows in der Lage sind, tägliche Änderungen an SAP-Systemen bereitzustellen.
Bei der agilen Entwicklung ist es häufig so, dass mehrere Teams gleichzeitig separate User Storys oder Epics entwickeln. Das funktioniert gut, wenn Entwickler:innen unabhängig arbeiten können, beispielsweise in containerisierten Umgebungen oder vielleicht sogar auf ihrem eigenen Laptop unter Verwendung Git-basierter Tools für die Quellcodeverwaltung.
In SAP stehen wir aber noch vor einer weiteren Herausforderung. Hier arbeiten meist viele Entwickler:innen im selben Entwicklungssystem. Es kann sein, dass Hunderte von Entwicklern:innen gleichzeitig an derselben Codebasis arbeiten, häufig in siloartigen Teams, die nur wenig miteinander kommunizieren. Die Folge: Ein erhebliches Fehlerpotenzial – wie miteinander im Konflikt stehende Änderungen oder das Überschreiben der Arbeit eines Teams durch ein anderes. Transparenz und Koordination sind entscheidend, aber viele Unternehmen arbeiten noch auf der Basis von Excel-Tabellen und E-Mails, wenn es darum geht, den Überblick über Abhängigkeiten zu behalten und die Abfolge der einzelnen Transporte zu steuern. Diese manuellen Methoden der Verwaltung von Änderungen werden dem Tempo der agilen Entwicklung nicht mehr gerecht. Mit ActiveControl können Sie Transporte so verwalten und automatisieren, dass Abhängigkeiten richtig gehandhabt werden und nichts übersehen wird – selbst bei einer größeren Zahl individueller Änderungen in kürzerer Zeit.
Zudem ist Automatisierung die entscheidende Voraussetzung für die Gewährleistung der Qualität von Bereitstellungen. Die frühzeitige Erkennung und Behebung von Problemen ist entscheidend für die Sicherstellung kurzer Entwicklungslebenszyklen. Das ist der so genannte Shift-Left-Ansatz, der bei der agilen Entwicklung häufig genutzt wird. Er forciert ein früheres Testen und zwingt die Entwickler:innen, mehr Verantwortung für die Code-Qualität zu übernehmen, weil es in einem agilen Prozess einfach nicht die Zeit für mehrere Übergabe- und Überarbeitungsrunden gibt. Die differenziertere Auflösung von User Storys und Sprints erleichtert das Testen und das Beheben von Fehlern; Automatisierung hilft ihrerseits, eine große Bandbreite technischer Fehler schon im Vorfeld der Qualitätssicherung zu eliminieren. ActiveControl bietet mehr als 70 Analysefunktionen zur Erkennung problematischer Transporte. So kann es beispielsweise im Rahmen des Freigabeprozesses die Prüfung der Code-Qualität (über SAP Code Inspector) und Komponententests (über ABAPUnit) erzwingen.
Höhere Qualität und schnellere Auslieferung
Risiko fällt einem immer als Erstes ein, wenn man an geschäftskritische SAP-Systeme denkt. Und die agile Entwicklung senkt das Risiko im Vergleich zu Wasserfall-Entwicklungen. Zum einen ist das Risiko geringer, dass ein Projekt fehlschlägt oder aufgegeben wird, ohne Mehrwert zu liefern, weil die einzelnen Entwicklungszyklen viel kürzer sind. Zudem besteht ein geringeres Risiko, dass unvorhergesehen Probleme auftreten, weil das Projekt beim agilen Konzept in kleinere Einheiten aufgeschlüsselt wird, die einfacher zu verstehen und zu verwalten sind sowie ein früheres Testen und Validieren ermöglichen.
Mit agilen Methoden können SAP-Teams schneller auf die Wünsche der Benutzer reagieren und gleichzeitig die hohe Qualität und Verfügbarkeit gewährleisten, wie sie für kritische Systeme unabdingbar sind.
Sind Sie bereit, mit der Implementierung der agilen Entwicklung in Ihrer SAP-Umgebung zu beginnen? Melden Sie sich noch heute bei uns, um einen Produktpräsentationstermin zu vereinbaren.