Agile Softwareentwicklung
-o-
Eine minimalistische Einführung
zur Übersicht und zurück mit [Esc]
implemented with https://revealjs.com/
Agile Coach & Open Source Professional
Digitally Enabling your Business
Agile Softwareentwicklung sollte aus drei verschiedenen Blickwinkeln betrachtet (und verstanden) werden:
1995 erfand Ward Cunningham das Wiki. Ein radikal neuer Ansatz, um digital zusammenzuarbeiten.
Alle können jederzeit alles verändern
&
Es gibt eine vollständige Historie.
1996 wurde mit Extreme Programming neue Wege
in der Erstellung von Software beschritten.
Statt erst alles durchzuplanen,
bekommen User sofort eine (minimal funktionsfähige) Software.
User werden sofort in die Entwicklung einbezogen.
Daraus wurde CI/CD.
Aus diesen Erfahrungen entstand 2001 das
Manifest für Agile Softwareentwicklung
Signatory: Metaspatial
Die Ideale des Manifest für agile Softwareentwicklung wurden als Methodik im Scrum Guide von Jeff Sutherland und Ken Schwaber konzipiert und werden kontinuierlich weiter entwickelt.
Es gibt andere bekannte Methoden wie sie z.B. im Kanban Guide definiert sind.
Techniken verschiedener Methoden
können kombiniert werden und sich ergänzen.
Das Projektmanagement kann Scrum (oder Kanban) als Methode für Softwareentwicklung (z.B. mit Komponenten aus XP) wählen.
Das Projektmanagement erarbeitet individuell für jedes Projekt ein Scrum Handbuch.
Das Scrum Handbuch sollte gemeinsam durch AG und AN erarbeitet und verbindlich beschlossen werden.
Agiles Projektmanagement basiert auf der Annahme,
dass Änderungen im Plan
unvermeidbar sind.
Statt alles
Unvorhergesehene
im Voraus zu planen
(was offensichtlich unmöglich ist),
wird der Plan selbst flexibel gestaltet.
Scrum ist eine Methode, bei der Aufgaben in regelmäßigen Iterationen von 2 bis 4 Wochen (einem Sprint) geplant und durchgeführt werden, bis das Produkt fertiggestellt ist.
Konkrete Arbeitspakete werden jeweils nur für einen Sprint zusammengestellt.
Das Projektrisiko wird erheblich reduziert.
Auch agil geführte Projekte können komplett scheitern, davor ist nichts sicher. Oft liegt das aber an mangelnder Konsequenz bei der Anwendung agiler Methoden.
Gefährliches Halbwissen führt im Regelfall zu Schwierigkeiten
Rahmenbedingungen!
...pflegt kontinuierlich das Backlog.
Product Owner unterschätzen anfangs
oft
immer
den Aufwand, um das Backlog zu pflegen!
Achten auf die Einhaltung der Regeln.
Alle, die ein Interesse an dem Projekt haben,
aber nicht direkt daran arbeiten:
Haben keinen direkten Einfluss auf das Projekt,
nur mittelbar über den Product Owner.
Drei Haupt-Artefakte werden regelmäßig gepflegt:
Die Aufgabe; Was soll erzielt werden?
Wie wird die Story umgesetzt
Das Product Backlog enthält alle User Stories, die benötigt werden, um die Vision umzusetzen.
Anfangs gibt es nur wenige klare Stories im Product Backlog, das laufend von Product Owner gepflegt wird.
Product Owner kann nur die Priorität
der User Stories ändern.
Wie werden Bug-Tickets behandelt? Ein Beispiel:
Es gibt immer jede Menge Spezialfälle, die im gleichen Duktus bearbeitet werden können. Wenn sich Spezialfälle häufen, wird eine generelle Lösung dafür gefunden und in die agile Methodik eingefügt.
Im Vorgehensmodell gibt es drei feste Haupt-Meetings:
Flexible Meetings mit einer kontinuierlichen Aufgabe:
Das Team definiert Tasks, um die User Story umzusetzen.
Scrum in a nutshell. Source: http://metaspatial.net/wiki/Sprint (2019-02-27)
...beschreiben Anforderungen in User-Stories.
Der Product Owner stellt neue User Stories aus dem Product Backlog vor.
...erstellen konkrete Arbeitspakete (Tasks) aus den User Stories, die am Ende jedes Sprints zu einem funktionierenden Produkt führen.
Das Team legt Tasks an, um die User Story umzusetzen.
...arbeitet das Team Tickets ab (typisch sind 2 oder 4 Wochen)
Das Team berät sich täglich im Daily zu den Arbeiten und identifiziert Blocker.
15 Minuten. Der Scrum Master moderiert.
...beseitigen Blocker und halten das Management aus
auf dem Laufenden.
Das Team präsentiert am Ende des Sprints dem Product Owner, Anwendern und Stakeholdern das Ergebnis. (Im Idealfall) eine neue, funktionierende Version des Produkts.
Ziel ist immer laufenden Code zu zeigen, keinen Foliensatz!
Dieser Prozess wird wiederholt, bis das Ziel erreicht ist.
Das Ergebnis ist immer ein funktionierendes Produkt, dessen Qualität sich aus der Funktion von Budget, Zeit und Funktionsumfang zusammensetzt.
Source: https://en.wikipedia.org/wiki/Project_management_triangle (2019-03-11)
Scrum in a nutshell. Source: http://metaspatial.net/wiki/Sprint (2019-02-27)
...im folgenden zwei Beispiele:
Vielen Dank für Ihre Aufmerksamkeit!
Arnulf Christl
https://metaspatial.com