Schreiben Sie uns: nearshore@jcommerce.pl
Rufen Sie uns an: +48 32 201 15 32

Articles | 13. April 2021

Warum sollten Sie sich 2021 für agile Softwareentwicklung entscheide – Teil 2.

Lesen Sie mehr, um zu erfahren, was der Unterschied zwischen Agile und dem Wasserfallmodell oder Scrum und Kanban ist, und erfahren Sie mehr über die Grundlagen von DevOps, DevSecOps und DaD (Disciplined Agile Development).

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. 

Adam Kostecki

Adam Kostecki

International Sales Manager

Der Autor verfügt über eine langjährige Erfahrung im Bereich IT-Verkauf. Bei JCommerce ist er für den internationalen Verkauf zuständig. Adam hat ein Philosophiestudium sowie ein postgraduales Studium des Internationalen Handels, Projektmanagements und des Digitalen Marketings abgeschlossen. In seiner Freizeit liest er Bücher und spielt Gitarre.