Fünf agile Methoden zur Beschleunigung der SAP-Entwicklung
Der agile Ansatz ermöglicht eine schnellere und flexiblere Softwareentwicklung für SAP-Umgebungen. Doch bei so vielen agilen Methoden ist es nicht leicht herauszufinden, welche für Ihr Unternehmen am besten geeignet ist.
Kürzlich sprach ich mit einem Kunden, der die Entwicklungsmethodik in seiner SAP-Umgebung von dem Wasserfallmodell auf agile Entwicklung umgestellt hat. Jetzt nehmen sie nicht mehr zwei Änderungen pro Jahr an SAP vor, sondern ändern jede Woche ihre Umgebung.
Das ist das wahre Versprechen der agilen Arbeitsweise: mehr Flexibilität, um SAP regelmäßig zu aktualisieren und mit dem immer schnelleren Tempo des modernen Geschäftsbetriebs Schritt zu halten.
Bei den vielen Ansätzen für agile Softwareentwicklung ist es aber nicht leicht zu entscheiden, welcher für Ihre SAP-Umgebungen und Basisteams am besten passt.
In diesem Blog stelle ich fünf der gebräuchlichsten agilen Methoden vor und beschreibe, für welche Organisationen sie am besten geeignet sind.
#1: Scrum
Scrum ist ein agiles Prozess-Framework, mit dem Teams schneller Software entwickeln und im Laufe der Zeit mehr lernen können. Dieses Konzept sieht kleine Teams vor, in denen die Aufgaben in kleinere Bestandteile aufgeteilt werden, um das Benutzer-Feedback schnell in ein Produkt integrieren zu können.
In der Regel funktioniert Scrum folgendermaßen:
- Projekte werden nach einzelnen Aufgaben aufgeschlüsselt und im Rahmen des Produkt-Backlogs priorisiert.
- Eine bestimmte Anzahl von Aufgaben wird ausgewählt, um sie alle in einem einzigen Sprint zu erledigen (in der Regel innerhalb von zwei Wochen).
- Jede Aufgabe ist einem Teammitglied zugewiesen.
- Die Teammitglieder berichten täglich in kurzen Standup-Meetings über ihre Fortschritte.
Alle Aufgaben kommen aus dem Product Backlog: einer priorisierten Liste der Arbeiten, die erforderlich sind, um ein Produkt zum Leben zu erwecken. Die Liste der Aufgaben stammt sowohl aus der Product Roadmap als auch aus dem Anforderungskatalog. Die Aufgaben werden häufig in kleinere User Stories unterteilt.
Durch die Aufteilung großer und komplexer Programmierungsprojekte in einzelne Sprints unterstützt Scrum die Arbeit an kleineren, mundgerechten Zielen, die sich schnell ändern können, wenn ein neuer Ansatz erforderlich ist. Und da tägliche Scrum-Meetings stattfinden, wird auf diese Weise auch ein kollaborativer Ansatz im gesamten Team gefördert.
Der Scrum-Master leitet das Scrum-Team und steht ihm hilfreich zur Seite. Mit dieser Rolle wird Scrum in der gesamten Organisation gefördert: vom Coaching des Scrum-Teams über die Verwaltung von Standup-Meetings und Sprint-Reviews bis hin zum Verfechten der Kernwerte von Scrum in anderen Geschäftsbereichen.
Scrum-Frameworks sind besonders dann sinnvoll, wenn Ihre Organisation…
- einen strukturierten agilen Ansatz möchte.
- von den regelmäßigen Revisions- und Lernmöglichkeiten zwischen den Sprints profitiert.
- schnell auf Benutzer-Feedback reagieren muss.
#2: Kanban
In den späten 1940er Jahren wollte Toyota die Effizienz seines Hauptwerks für Maschinen verbessern. Dem Unternehmen schwebte dafür ein ungewöhnliches Modell vor: das Supermarktregal. Toyota erkannte, dass die Fabrik als „Supermarkt“ effizienter sein könnte, wenn die Lagerbestände mit dem Verbrauch abgestimmt werden. Durch den Einsatz optischer Signale wurde sichergestellt, dass die Materialien immer pünktlich nachgefüllt wurden.
Im Laufe der Jahre wurde aus dieser Idee „Kanban“, ein Bestandteil der schlanken Produktion („Lean-Produktion“), die heute in Unternehmen aller Art eingesetzt wird.
Eines der Hauptmerkmale von Kanban ist die „Kanban-Tafel“. Sie zeigt an, wer gerade an welcher Aufgabe arbeitet, wo es Engpässe gibt und wie diese beseitigt werden können. Entscheidend ist, dass die Arbeitselemente nur dann an einer Kanban-Tafel ausgehängt werden, wenn die Kapazität dafür verfügbar ist, und nicht in dem Moment, in dem ein Prozess angefordert wird.
Kanban-Tafeln sind in der Regel in verschiedene Spalten aufgeteilt. Klebezettel mit darauf geschriebenen Aufgaben (oder Aufgaben auf einer digitalen Tafel) werden im Laufe der Zeit zwischen den Spalten verschoben.
Kanban kann für sich alleine oder im Rahmen einer anderen agilen Methode verwendet werden. Zum Beispiel kombiniert „Scrumban“ die Sprints und das Backlog von Scrum mit den Zykluszeiten und der Just-in-Time-Aufgabenplanung von Kanban. Es gibt auch „Kanplan“, ein weiteres Hybrid-Konzept, das die Kanban-Tafel neben dem priorisierten Backlog von Scrum verwendet – ohne die Aufgaben in verschiedene Sprints aufzuteilen.
Unabhängig davon, ob Kanban alleine oder in Kombination mit anderen agilen Methoden eingesetzt wird, ist es sinnvoll für Unternehmen, die…
- maximale Teameffizienz erreichen möchten.
- von der Visualisierung der Arbeitslasten und Aufgaben profitieren würden.
- den Ansatz der kontinuierlichen Auslieferung verfolgen.
#3: Extreme programming (XP)
XP ist eine Version der agilen Softwareentwicklung, bei der die Qualität im Vordergrund steht und die nötige Agilität geboten wird, um auf ändernde Benutzeranforderungen reagieren zu können.
Wie die Scrum-Frameworks erfordert XP kurze Entwicklungszyklen, um die Agilität zu verbessern. Darüber hinaus werden dem Entwicklungsprozess verschiedene Arten von Tests und Qualitätssicherungsmaßnahmen hinzugefügt. Dazu gehören:
- Paarprogrammierung, bei der ein zweiter Programmierer den geschriebenen Quelltext sofort kontrolliert
- Komponententests am Quelltext direkt nach dem Commit
- Programmierung von Funktionen erst dann, wenn sie gebraucht werden
- Schreiben von einfachem, klarem Quelltext, um die Zusammenarbeit zwischen Entwicklern zu optimieren
- häufige Kommunikation mit Benutzern, um schnell zu reagieren, wenn sich Anforderungen ändern
Im Gegensatz zu Scrum und Kanban ist XP ein ganzheitlicheres und sehr komplexes Regelwerk. Daher ziehen es einige Unternehmen vor, die für sie am besten geeigneten XP-Regeln auszuwählen, anstatt das gesamte Sortiment zu übernehmen.
XP wäre besonders sinnvoll für Organisationen, die…
- haarscharf die Qualität ihres SAP-Codes im Auge behalten möchten.
- genügend Arbeitskräfte bereitstellen können, um regelmäßig in Paaren zu programmieren.
- ein ganzheitliches Regelwerk wünschen, dem sie bei ihrem agilen Ansatz für die SAP-Entwicklung folgen können.
#4: Disciplined agile delivery (DAD)
DAD ist eine Komponente im Disciplined-Agile-Toolkit und ein agiler Ansatz für die Softwareentwicklung, der auf Scrum, Lean und anderen etablierten Methoden aufbaut.
Während sich einige agile Ansätze auf einen einzelnen Teil des Entwicklungsprozesses konzentrieren, unterstützt DAD den gesamten Lebenszyklus der Auslieferung. DAD unterscheidet sich auch dadurch, dass es sich auf die Bereitstellung vollständiger, verbrauchsfertiger Lösungen konzentriert und nicht auf das minimal lebensfähige Softwareprodukt, auf das sich andere agile Ansätze konzentrieren.
DAD ist auch insofern einzigartig, als es einen hybriden Ansatz bietet, bei dem Elemente aus Scrum, Kanban, XP und vielen anderen agilen Methoden zusammengebracht werden. Insofern bietet die Methode einen ganzheitlicheren Ansatz für die Entwicklung.
Ein weiterer Vorteil von DAD ist, dass es skaliert werden kann. Anhänger von Scrum und Kanban setzen auf Stand-up-Meetings und Tafeln, die nicht immer für größere Teams geeignet sind. DAD hingegen kann über mehrere Gruppen und Geschäftsbereiche hinweg skaliert werden, um die Vorteile der Agilität im gesamten Unternehmen zu nutzen.
DAD eignet sich besonders für Organisationen, die…
- Agilität auf größere Teams hochskalieren müssen.
- einen ganzheitlicheren Ansatz für die Entwicklung wünschen.
- bereits Scrum- oder Lean-Prinzipien anwenden und darauf aufbauen möchten.
#5 Scaled Agile Framework (SAFe)
Viele agile Methoden wie Scrum funktionieren nur in einzelnen Teams. Wenn Sie die Methoden ausbauen möchten, um mehrere Geschäftsfunktionen abzudecken, müssen Sie ein „Scrum of Scrums“ einrichten – die Möglichkeit, mehrere im gesamten Unternehmen verteilte Scrums übergeordnet zu steuern.
Das Scaled Agile Framework ist eine Möglichkeit, einen solchen agilen Ansatz in großem Maßstab zu handhaben. Durch die Aufteilung von Scrums und Kanbans auf verschiedene Ebenen können Sie Ihren agilen Ansatz über mehrere vertikale Levels hinweg skalieren.
Eine Besonderheit von SAFe ist, dass es auch Aspekte von DevOps wie „Release on Demand“ integriert, um die Entwicklung weiter zu beschleunigen. Da SAFe jedoch so viele Disziplinen einbezieht, muss das Unternehmen möglicherweise komplett neue Rollen schaffen.
SAFe funktioniert am besten in Organisationen, die…
- das Agile-Konzept im gesamten Unternehmen anwenden möchten.
- genügend Mitarbeiter beschäftigen, um neue Rollen zu besetzen.
- daran interessiert sind, Agile- und DevOps-Ansätze zu kombinieren.
Wenn Sie mehr über den Einsatz von SAFe für die SAP-Entwicklung erfahren möchten, lesen Sie unseren aktuellen Blog: Agile Entwicklung mit dem Scaled Agile Framework (SAFe).
Welchen Ansatz Sie auch wählen – wir unterstützen Sie dabei
Diese fünf Ansätze decken einige der beliebteren agilen Methoden ab. Es gibt jedoch noch zahlreiche andere. Jeder hat unterschiedliche Vor- und Nachteile und eignet sich daher besser für bestimmte Organisationen und Basisteamstrukturen.
Unabhängig davon, für welchen Ansatz Sie sich entscheiden – mit den richtigen Werkzeugen und Technologien können Sie die agile Entwicklung optimal nutzen.
Wenn Sie mit SAP arbeiten, kann Basis Technologies Ihnen dabei helfen. Unsere Automatisierungssoftware unterstützt die agile Entwicklung von SAP-Anwendungen, sodass Sie schneller, sicherer und effizienter arbeiten können – unabhängig von dem gewählten Agile-Ansatz.
Wenn Sie mehr über Basis Technologies erfahren möchten, oder wenn Sie wissen möchten, wie wir Sie bei der agilen SAP-Entwicklung unterstützen können, wenden Sie sich an einen unserer Experten.