Scrum Guide - Was ist Scrum?
3 Min Lesezeit
Scrum Guide series
Part 1 - Scrum Guide - Was ist Scrum? (aktueller Artikel)Part 2 - Scrum - Die 5 Werte
Part 3 - Scrum - Die 5 Ereignisse
Part 4 - Scrum - Die 3 Artefakte
Part 5 - Scrum - Die 3 Rollen
#TL;DR
Scrum ist ein agiles Framework (Prozessrahmen), dessen Zweck es ist komplexe Projekte zu meistern, in dem man sich auf die Auslieferung der wichtigsten Geschäftsanforderungen innerhalb kürzester Zeit fokussiert. Häufige Feedback-Schleifen dienen für hohe Prognosensicherheit und Risikokontrolle in der Abwicklung komplexer Projekte.
#Was ist Scrum?
Scrum basiert auf Empirismus und Lean Development.
- Empirismus behauptet, dass Wissen aus Erfahrung kommt und Entscheidungen auf der Grundlage von Beobachtungen getroffen werden, d.h. man überprüft wo man aktuell ist und justiert notfalls nach.
- Lean Thinking reduziert Verschwendung und konzentriert sich auf das Wesentliche.
Denn Entwicklung im Software-Bereich sind meist komplexe und komplizierte Projekte, bei der Planbarkeit aka Wasserfall nicht gut funktioniert. Daher sollten die Komplexität reduziert werden, auf kleinere zeitlich begrenzte Abschnitte (sogennante Sprints). Nach jedem Sprint wird die Kommunikation mit dem Kunden erwünscht, damit man mit dem gewonnenen Feedback die Software bis zum nächsten Mal erledigt kann.
Diese kurzen, zeitlich begrenzten Sprints läufen von 1-4 Wochen ab. Sprints bestehen aus vier Events:
Der Sinn eines jeden Sprints ist ein lauffähiges Product Increment zu entwickeln, das der Auftraggeber (Stakeholder), jeweils nach Abschluss eines Sprint erhalten, testen und kommentieren kann, damit das Feedback zeitnah wieder in die Entwicklung einfließen kann.
In Scrum werden die Stakeholder durchgehend in die Entwicklung mit einbezogen, da im agilen Projektmanagement berücksichtigt wird, dass Entwicklungsprojekte meist zu komplex sind, um sie bereits im Vorwege vollständig durchplanen zu können. Meist sind die Stakeholder erst durch eine intensive Beschäftigung mit dem lauffähigen Product Increment (lauffähiges Produkt nach Ende eines Sprints) in der Lage gebracht worden, Entscheidungen über die konkret benötigte Funktionalitäten treffen zu können.
Ziel ist es bei Scrum das alle Beteiligten gemeinsam einander zuarbeiten und sich auf Augenhöhe begegnen. Die Zusammenarbeit sollte auf Werten wie Achtung, Vertrauen, Selbstbestimmung und -organisation, Fokus auf das Wesentliche, Selbstreflexion und stetiger Verbesserung basieren. Dabei minimiert Scrum Organisations- und Verwaltungsaufwänd und stellt die Produktqualität und vor allem — den höchsten erreichbaren Geschäftswert in den Vordergrund.
Scrum ist ein Framework für das agile Arbeiten im Team, es wird definiert in:
Download des offiziellen Scrum Guide oder als HTML-Version.
For a new software system, the requirements will not be completely known until after the users have used it.
Humphrey, 1995
#Warum der agile Ansatz, warum nicht Wasserfall?
Das Endergebnis ist nicht immer im Voraus bekannt und der Weg dorthin ist stetige Arbeit. Manche Teams gehen nach dem Wasserfallprinzip vor, der wesentlich unflexibler ist. Welchen Prozess man wählt, hängt davon ab, was man bei Arbeitsbeginn weiß und was nicht.
Hier ein kurzer Überblick über Wasserfallmethoden:
- Alles wird im Voraus geplant.
- Die Anforderungen werden vor der Implementierung detailliert erfasst.
- Jeder Schritt muss abgeschlossen sein, bevor der nächste begonnen wird.
- Das Ergebnis wird am Anfang festgelegt.
(waterfall-vs-scrum.jpg)
#Wann ist Wasserfall zu verwenden?
Einfache Arbeit
- Die Arbeit ist einfach und vorhersehbar.
- Jeder kann bestimmen, wie die Arbeit ausgeführt wird.
Komplizierte Arbeit
- Die Arbeit ist vorhersehbar, erfordert aber Know-how.
- Die Arbeit kann automatisiert werden.
#Wann ist der agile Prozess zu verwenden?
Komplexe Arbeit
- Die Arbeit beruht auf stetiger Rückmeldung, Risikobereitschaft und Innovation.
- man möchten etwas ausprobieren und den Kurs regelmäßig ändern können, wenn sich neue Erkenntnisse ergeben.
- neuer Produkte, Software und Services entwickeln, bei denen man noch gar keine Erfahrung hat oder die noch niemand zuvor versucht hat.
"It is impossible to completely specify an interactive system."
Wegner's Lemma, 1995
#Auswahl eines Workflow-Prozesses
- Wie viel weiß man über das vorliegende Projekt?
- Wie klar sind die Zielsetzungen und Anforderungen des Projekts?
- Wie klar und gut definiert ist die Lösung?
- Welche Erfahrung haben das Team und die Beteiligten mit diesen Methodologien?
- Wie komplex ist die Arbeit?