Scrum
Scrum ist einer der beliebtesten agilen Ansätze. Scrum-Entwicklungsteams sind funktionsübergreifend und bestehen aus einem Scrum Master, Product Owner und dem Entwicklungsteam. Die Teammitglieder haben alle erforderlichen Kompetenzen, um das Produkt an den Kunden zu liefern. Arbeiten mit Scrum umfasst Folgendes:
- Aufteilen der Arbeitslast in kurze Iterationen, die als Sprints bezeichnet werden.
- Festlegung, was innerhalb eines Sprints zu tun ist, und zwar in User Stories, nicht in der Dokumentation.
- Platzierung von User Stories im Product Backlog.
- Bereitstellung von Arbeitsfunktionen (entwickelt und getestet) für den Kunden.
- Durchführen von Scrum-Meetings (Zeremonien): Sprint-Planung, Review des Backlogs, tägliche Standups, Retrospektiven zur Besprechung der Sprint-Performance (was war gut, wo gibt es Verbesserungsbedarf).
- Der Prozess wird von einem Scrum Master beaufsichtigt
Kanban
Kanban ist im Softwareentwicklungsprozess weit verbreitet. Wir bei JCommerce verwenden die Kanban-Methodik in unserem E-Commerce-Projekt für Boozt. Der Kunde selbst hat gesagt, dass dies zur Verbesserung der Projektarbeit beigetragen hat: „Wir haben tägliche Stand-ups und ein Kanban-Setup, bei dem Deployments mehrmals am Tag durchgeführt werden. Wir haben dem Team schnell Deployment-Rechte gegeben, um es nicht auszubremsen, und wir haben es nie bereut. Kanban-Softwareentwicklung bedeutet:
- Erstellen von User Stories, um zu beschreiben, was zu tun ist.
- Visualisierung des Arbeitsablaufs.
- Minimierung der „laufenden Jobs“ und Steigerung der Effizienz
- Verwendung von Kanban-Boards (wie Atlassian Tools oder Trello) zur Verwaltung des Workflows, indem User Stories auf dem Board verschoben werden, z. B. von „zu tun“ über „in Arbeit“ zu „erledigt“.
DevOps & DevSecOps
Wie es der Name schon sagt, bestehen DevOps aus Dev (für Entwicklung) und Ops (für Betrieb). Die Idee von DevOps wurde erstmals 2009 als Softwareentwicklungsprozess vorgestellt, bei dem die Zusammenarbeit zwischen Teams, die Produkte entwickeln und an den Kunden liefern, im Vordergrund steht. Mit der Zeit entwickelte sich die Idee, Aspekte der Cybersicherheit einzubeziehen, d. h. von Anfang an an der Anwendungs- und Infrastruktursicherheit zu arbeiten. Bei JCommerce liefern wir DevOps-Support und ganze DevOps-Teams. DevOps-Methodik bedeutet:
- Schnellere Implementierung mit Blick auf die Markteinführungszeit.
- Kontinuierliche Deployments und Integrationsprozesse
- Verwendung maßgeschneiderter Tools für Konfigurationsmanagement, Bereitstellung und Überwachung
- Verfolgung des Prozesses von Planung, Anwendungsentwicklung (Programmierung und Code-Review), Kompilierung (CI/CD-Prozess), Test, Freigabe, Implementierung, Service und Überwachung
DaD: Disciplined Agile
Als die agile Denkweise immer beliebter wurde, gewann der neue Ansatz namens DaD (Disciplined Agile Delivery) an Bedeutung. Die erste Erwähnung von DaD findet sich in der Publikation „Choose Your WoW!“
(wo WoW für Arbeitsweise, d. h. Way of Working, steht). Das Ziel von Disciplined Agile Development ist es, die besten agilen Praktiken zu kombinieren, um über Scrum hinauszugehen und die Ergebnisse zu maximieren. Wir verwenden die DaD-Methodik in einem unserer Gaming-Projekte, das wir für einen internationalen Kunden durchgeführt haben. Die Annahmen von Disciplined Agile Delivery lauten wie folgt:
- Verbindung der besten agilen Methoden, um die Ergebnisse zu maximieren.
- Hybridmodell, mit dem Sie eine optimale Strategie für die Softwarebereitstellung festlegen können.
- Kontextbasierte Arbeitsweise, die Sie je nach den Umständen ändern können.
Zusammenfassung
Agil zu sein bedeutet nicht nur, multidisziplinäre Teams zu bilden und eine neue Denkweise anzunehmen. Es ist vielmehr der Prozess der kontinuierlichen Verbesserung. Unternehmen, die ihn verstehen, sind in einer guten Position, um dank der Agile-Strategie die richtige Perspektive zu gewinnen, besonders in harten und unsicheren Zeiten, in denen sich rapide ändert. Ich hoffe, der Artikel hat die wichtigsten Aspekte der verschiedenen Agile-Methoden umrissen.