Scrum
„Scrum ist ein leichtgewichtiges Rahmenwerk, das Menschen, Teams und Organisationen hilft, Werte zu schaffen durch adaptive Lösungen für komplexe Probleme“.
Seine Prinzipien beruhen auf
- Schlankes Denken (lean thinking):
- Ziel ist es, Verschwendung zu reduzieren und
- sich auf das Wesentliche zu konzentrieren
- Empirie (Empiricism):
- Erfahrung fördert Wissen,
- Entscheidungen sollten durch Beobachtungen getroffen werden
Scrum – Prinzipien
Der Scrum-Rahmen basiert auf DREI Prinzipien.
- Transparenz (Transparency)
Der Status des Projekts muss sichtbar sein, insbesondere durch Artefakte
- Inspektion (Inspection)
Fortschritt und Artefakte müssen regelmäßig inspiziert werden
- Anpassung (Adaption)
Der Prozess muss angepasst werden, um akzeptable Ergebnisse zu erzielen
Scrum – Werte
Darüber hinaus definiert Scrum fünf Werte, nach denen die Teammitglieder vorgehen müssen.
Die FÜNF Scrum-Werte:
- Commitment (Verbindlichkeit)
- Focus (Konzentration)
- Openness (Offenheit)
- Respect (Wertschätzung)
- Courage (Mut)
Scrum – Prozesse
Scrum – Rollen
Das Scrum-Team:
- Product Owner
Verantwortlich für die Anforderungen und den Erfolg des Produkts - Development Team
Entwickler, Spezialisten und Prüfer - Scrum Master
Verantwortlich für die korrekte Anwendung des SCRUM-Prozesses
zusätzlich außerhalb des Scrum-Teams:
Stakeholder (Interessensvertreter, Anspruchsberechtigte)
Kunden, Benutzer, etc.
Scrum – Rollen „Scrum Master“
Der Scrum Master stellt sicher, dass alle den Scrum-Prozess verstehen und befolgen.
Er hilft dem Product Owner indem er
- Techniken zur Pflege und Ordnung des Product Backlogs vermittelt
- dem Team hilft, die Notwendigkeit präziser Product Backlog Items zu verstehen
- Techniken für eine effektive Definition von Produktzielen (Product Goals) anbietet bei Bedarf bei der Zusammenarbeit mit den Stakeholdern unterstützt
Der Scrum Master hilft darüber hinaus dem
- Entwicklungsteam
- durch Coaching des Teams zur Selbstorganisation und Teamarbeit
- Hindernisse zu beseitigen
- Hilfestellung bei der Erstellung wertvoller Produkte zu leisten
- sicherzustellen, dass alle Scrum Ereignisse produktiv sind, positiv verlaufen und innerhalb des Zeitrahmens ablaufen
- Unternehmen
- durch Einnahme einer führenden und beratenden Rolle bei der Einführung von Scrum
- bei der Planung der Einführung von Scrum im Unternehmen bei Unterstützung von Kollegen und Stakeholdern um Scrum zu verstehen
Scrum – Rollen „Product Owner“
Der Product Owner ist für die Erstellung des wertmaximierten Produkts verantwortlich.
Verantwortlichkeiten:
- Formulieren und Kommunizieren des Produktziels (Product Goal)
- Erstellen von klaren Product Backlog Items
- Ordnen der Product Backlog Items
- Sicherstellen, dass das Product Backlog transparent, sichtbar und verständlich ist
Der Product Owner ist eine einzelne Person, repräsentiert aber die Bedürfnisse vieler Stakeholder. Änderungen im Product Backlog müssen über den Product Owner vorgenommen werden.
Scrum – Rollen „Development Team“
Das Development Team ist für die Erstellung eines nutzbaren Inkrements verantwortlich.
Die Mitglieder des Development Teams und das Development Team als Ganzes sind verantwortlich dafür
- Sprint Backlogs zu erstellen
- die Definition of „Done“ einzuhalten
- ihren Plan täglich an das Sprintziel (Sprint Goal) anzupassen
- einander Rechenschaft abzulegen
Während jedes Mitglied über spezifische Fähigkeiten verfügt, ist das Team als Ganzes für den Erfolg eines jeden Sprint verantwortlich.
Scrum – Artefakte
Von Beteiligten zu führende Pläne und Konzepte (Scrum Artefakte)
- Product Backlog
Geordnete Liste aller Anforderungen - Sprint Backlog
Ausgewählte Anforderungen für den aktuellen Sprint
Artefakt Produkt-Backlog im Scrum Projekt
Das Product Backlog ist
- eine geordnete Liste aller Produktanforderungen
- die einzige Quelle für Änderungsanforderungen
- nie vollständig
- es entwickelt sich mit dem Produkt weiter
- es ist dynamisch
- es strebt ständig danach, ein wettbewerbsfähiges, nützliches Produkt zu definieren
- es unterliegt einer ständigen Verfeinerung durch Aufschlüsselung und Definition von Elementen
- eine Mischung aus
- Merkmalen,
- Funktionalitäten,
- Änderungen und
- Fehlern
Artefakt Sprint Backlog im Scrum Projekt
Das Sprint Backlog ist das
- warum (Sprint-Ziel / Sprint Goal),
- was (Product Backlog Items) und
- wie (Plan für die Inkrement-Lieferung).
- Es ist ein Plan, der von und für das Entwicklungsteam erstellt wird.
Das Sprint Backlog ist
- eine Prognose über die Funktionalitäten des nächsten Inkrements
- eine Echtzeit-Visualisierung der Arbeit des Entwicklungsteams
- eine detaillierte Visualisierung des jeweils aktuellen Fortschritts der Arbeit während des Sprints (detailed updated progress throughout the sprint)
- wird nur vom Entwicklungsteam geändert
Scrum – Definition of „Done“
Alle Teammitglieder müssen sich darüber einig sein, was „done“ bedeutet.
Die Definition von „Done“ sollte
- die Qualität eines jeden Inkrements sicherstellen
- eine Grundlage für die Auswahl der Product Backlog-Einträge sein
- sicherstellen, dass jedes Produktinkrement vom Product Owner freigegeben werden kann
Die Definition of „Done“ kann vom Unternehmen oder vom Entwicklungsteam festgelegt werden.
Eine Ausweitung der Definition von „Done“ kann zur Wiederholung von bereits erledigten Backlog-Items führen.
Scrum – Events
Ereignisse / Events (Scrum-Prozesse)
- Sprint
Zeitrahmen von max. einem Monat für die Entwicklung eines Inkrements - Sprint Planning
Das gesamte Team plant die Anforderungen für den nächsten Sprint - Daily Scrum
15 Minuten für das Entwicklungsteam zur Planung der nächsten 24 Stunden - Sprint Review
Validierung des Inkrements, Anpassung des Product Backlogs - Sprint Retrospektive
Verbesserungen für den nächsten Sprint, insbesondere Teamorganisation
Ereignis (Event) Sprint im Scrum Projekt
Was ist ein Sprint?
- der Hauptbestandteil von Scrum
- ein definierter Zeitrahmen von max. einem Monat
- während eines Sprints wird ein nutzbares Produktinkrement entwickelt
- jeder Sprint hat die gleiche Länge
- jeder Sprint beginnt direkt, wenn der vorhergehende beendet ist
Jeder Sprint (Ereignis) besteht aus
- Sprint Planning (Ereignis)
- Daily Scrums (Ereignis)
- Entwicklungsarbeit (Hauptarbeit während eines Sprints)
- Sprint Review (Ereignis)
- Sprint Restrospective
Ein Sprint kann nur vom Product Owner abgebrochen werden, z.B. wenn das aktuelle Sprint Goal obsolet geworden ist.
Während des Sprints wird das Product Backlog verfeinert (Refinement), aber die Qualität sinkt nicht und das Sprint Goal wird beibehalten.
Ereignis (Event) Sprint Planning im Scrum Projekt
Beim Sprint Planning wird der nächste Sprint vom gesamten Scrum Team geplant.
Dabei werden die folgenden Fragen beantwortet:
- Warum ist dieser Sprint wertvoll?
- Der Product Owner schlägt ein Inkrement vor, um den Produktwert zu erhöhen
- Das Scrum Team definiert gemeinsam ein Sprint Goal (Sprintziel)
- Was kann in diesem Sprint getan werden?
- Das Entwicklungsteam wählt Elemente aus dem Product Backlog aus
- Die Einträge werden durch Diskussion mit dem Product Owner ausgewählt
- Wie wird die ausgewählte Arbeit erledigt?
- Das Entwicklungsteam plant die Arbeit zur Erstellung des Inkrements
- Product Backlog-Einträge werden oft in kleinere Arbeitsschritte aufgeteilt
Ereignis Daily Scrum im Scrum Projekt
Was ist das Daily Scrum?
- Ein 15-minütiges Zeitfenster für das Entwicklungsteam
- Ziel: Planung der Arbeit für die nächsten 24 Stunden
- Es findet jeden Tag zur gleichen Zeit und am gleichen Ort statt.
Ein Beispiel für eine Struktur könnte die Beantwortung folgender Fragen sein:
- Was habe ich gestern getan, um das Sprint-Ziel zu erreichen?
- Was werde ich heute tun, um das Sprint-Ziel zu erreichen?
- Stehe ich vor irgendwelchen Hindernissen?
Falls erforderlich, können nach dem Daily Scrum ausführliche Diskussionen zwischen den Mitgliedern geführt werden.
Sprint Review
Was ist das Sprint Review?
- Findet am Ende eines jeden Sprints statt
- Um das Produktinkrement zu validieren und das Product Backlog anzupassen
- Das Scrum Team und die Stakeholder überprüfen gemeinsam die Ergebnisse des Sprints
Während des Reviews
- erklärt der Product Owner, welche Product Backlog-Einträge „Done“ sind
- erklärt das Entwicklungsteam die Probleme und wie sie gelöst wurden
- demonstriert das Entwicklungsteam die fertige Arbeit und beantwortet Frage
- zeigt der Product Owner den aktuellen Stand des Product Backlogs
Nachdem der aktuelle Projektstatus präsentiert und von allen Mitgliedern verstanden wurde, wird der Input für den nächsten Sprint generiert:
- Alle Mitglieder liefern gemeinsam Input für das nächsten Sprint Planning
- Der aktuelle Markt (Anforderungen von Stakeholdern, Kunden..etc.) wird auf mögliche Änderungen am Produkt überprüft
- Prioritäten, Budget und Anforderungen werden überprüft
Sprint Retrospective
Die Sprint Retrospective wird vom Scrum-Team genutzt, um Verbesserungen für den nächsten Sprint zu planen.
Ziele:
- Überprüfung des Sprints in Bezug auf Personen, Interaktionen, Prozesse und Tools
- Überprüfung der Definition of „Done“
- Identifizieren, was gut gelaufen ist, Probleme und Lösungen
- Identifizierung und Anordnung von Verbesserungen
- Planung der Umsetzung dieser Verbesserungen
Die Sprint Retrospective wird vom Scrum Master geleitet, der dafür sorgt, dass das Treffen produktiv ist und den Zeitrahmen einhält.