Scrum
Scrum ist ein Framework zur Zusammenarbeit, um komplexe Aufgabenstellungen zu lösen und kreative Produkte mit höchstmöglichem Wert auszuliefern.
definiert durch 1 agiles Manifest
basierend auf 12 Prinzipien
beschrieben durch 5 Werte
ermöglicht durch 5 Ereignisse
gelebt durch 3 Rollen
unterstütz durch 3 Artefakte
12 Prinzipien
- Kundenzufriedenheit durch Kundenintegration als höchste Priorität
- Bereitschaft zu Änderungen die Mehrwert schaffen
- Frühzeitige und regelmäßige Lieferung in Iterationen
- Interdisziplinäre Teams
- Rahmenbedingungen für motivierte Teams schaffen (Vertrauen)
- Face to Face Kommunikation
- Funktionierende Produkte als Fortschrittsmaß
- Nachhaltige Entwicklung durch gleichmäßige Geschwindigkeit
- Technische Excellence
- Einfachheit und Fokus auf Wertschöpfung
- Selbstorganisation
- Regelmäßige Reflexion und kontinuierliche Verbesserung
5 Werte
Fokus
Wir fokussieren uns auf das Projekt und konzentrieren uns auf die wichtigen Dinge, die gerade erledigt werden müssen. Wir haben unser Ziel stets vor Augen.
Mut
Wir gehen neue Wege und haben Mut, neues auszuprobieren. Wir treffen mutige Entscheidungen und haben den Mut uns Fehler einzugestehen. Machen den Fehler aber nur einmal.
Offenheit
Wir sprechen Dinge im Team offen an und sind auch offen für Lob und Kritik. Wir leben Tranzparenz täglich im Projekt.
Respekt
Wir respektieren Menschen und andere Meinungen. Wir arbeiten auf Augenhöhe zusammen und pflegen einen wertschätzenden Umgang.
Verbindlichkeit
Wir übernehmen Verantwortung. Wenn wir uns zu etwas verpflichten, dann setzen wir uns auch dafür ein, es einzuhalten.
5 Ereignisse
Sprints
In jeder Iteration „Sprint“ wird, innerhalb eines bestimmten Zeitlichen Rahmens, ein potenziell auslieferbares Produktinkrement hergestellt. Aus dem Backlog (Product) wählt der Produkt Owner vor Beginn eines Sprints jene Backlog Items aus, die er gern im nächsten Sprint umgesetzt haben möchte. Das Entwicklungsteam prognostiziert, welche dieser Backlog Items es umsetzten kann, und nimmt diese in das Backlog (Sprint) auf. Zu jeder Anforderung, die in einem Backlog Item beschrieben ist, erstellt das Entwicklungsteam eine Liste mitAufgaben „Tasks“, die zur Umsetzung der Anforderungen erforderlich sind.
Scrum Meetings
- Sprint Planing, im ersten Teil wird das „Was“ geklärt (welche Backlog Items), im zweiten Teil das „Wie“(welche Tasks).
- Daily Scrum, (15min) synchronisation des Entwicklungsteams:
- Was haben wir seit dem letzten Daily Scrum erreicht?
- Was wollen wir bis zum nächsten Daily Scrum erreichen?
- Was behindert uns an unserer Arbeit?
- Sprint Review, (2h für einen 4wöchigen Sprint, proportional anpassen) Präsentation der erzieltenErgebnisse.
- Der Product Owner läd ein, um zu prüfen, ob die Backlog Items im Sinne der „Definition of Done“ fertig sind.
- Das Entwicklungsteam nimmt einen Perspektivenwechsel von Entwickler zum Anwender vor und muss tatsächlich fertige Backlog präsentieren.
- Retrospektive, (2h für einen 4wöchigen Sprint, proportional anpassen) Rückblick auf den vergangenen Sprint zur Verbessrung des Prozesses.
- Was lief gut?
- Was können wir besser machen?
Zeitlicher Rahmen, 1-4 Wochen, so kurz wie möglich, Wie lange ist der Kunde bereit zu warten, bis er wieder Anforderungen und Änderungswünsche platzieren kann? Sprint Planing (8h für einen 4wöchigen Sprint, proportional anpassen)findet am ersten Tag des Zyklus statt. Sprint Review (4h für einen 4wöchigen Sprint, proportional anpassen) und Retrospektive (4h für einen 4wöchigen Sprint, proportional anpassen) sollten an einem Donnerstag stattfinden, damit der neue Sprint nahtlos, ohne die Unterbrechung durch das Wochenende durchgeführt werden kann. Release Das Zusammenstellen von Funktionen und Funktionsgruppen zu einem Release ist Aufgabe des Product Owners.
3 Rollen
Product Owner
- Repräsentiert den Kunden und verantwortet das Ergebnis.
- Ist für den wirtschaftlichen Erfolg der Projektes verantwortlich (ROI).
- Ist bevollmächtigt, Entscheidungen zu Produkt, Umfang und Priorisierung zu treffen.
- Erhebt, ergänzt und verfeinert Anforderungen.
- Nimmt (Zwischen-) Ergebnisse ab.
Scrum Master
- Ist verantwortlich für die Umsetzung des Scrum Frameworks.
- Ermöglicht, dass das Team produktiv arbeiten kann, und beseitigt Hindernisse.
- Unterstützt das Entwicklungsteam und den Product Owner.
- Stellt eine gute Zusammenarbeit sicher.
- Ist Servant Leader, Coach, Moderator und Ermöglicher.
Entwicklungsteam
Des Entwicklungsteam (engl.: Development Team) ist für das WIE verantwortlich. Die empfohlene Größe laut Scrum Guid liegt zwischen 3 und 9 (ideal 7) Personen. So können alle benötigten Skills professionel abgedeckt werden und das Team wird nicht so groß, dass die innere und äußere Kommunikation und Koordination zu aufwändig wird. Und in Scrum Projekten muss/soll viel Kommuniziert werden. Das Entwicklungsteam ist verantwortlich für:
- Die Aufgabenverteilung/Gruppenverteilung innerhalb des Teams.
- Das technische Design,
- die technische Architektur
- und die technische Umsetzung der Tasks.
- Die bleibende Flexibilität
- und Anpassbarkeit des Produkts.
- Die Auslieferbarkeit des Produkts nach dem Sprint.
- Die „Definition of Done“ nach den Erfordernissen des Projekts und den Erfahrungen der täglichen Arbeit.
- Bereitstellung von Entscheidungshilfen bei unterschiedlichen Problemlösungsmöglichkeiten für den Product Owner (in der Sprache des Product Owners).
Niemand auch nicht der Scrum Master schreibt dem Entwicklungsteam vor, was zu tun ist, um das Sprint-Ziel zu erreichen. Alle Mitglieder handeln eigenverantwortlich, übernehmen gemeinsam die Organisation der Arbeit, planen und verteilen die anstehenden Aufgaben und Kommunizieren auf direkten, kurzen Wegen. Innerhalb des Entwicklungsteams gibt es lediglich die Rollenbezeichnung Entwickler (Developer). Da das team bewusst cross-funktional zusammengestellt ist, damit die Einzelnen ihre unterschiedlichen Fähigkeiten und Fertigkeiten einbringen, verbinden können und am Ende jeder die Verantwortung für das gesamte Sprintergebniss übernimmt.
Metarollen
Ein Schwein (Pig) und ein Huhn (Chicken) erwägen, gemeinsam ein Restaurant zu eröffnen. Aber wie soll es heißen? „Lass es uns `Schinken und Eier´ (Ham & Eggs) nennen“, schlägt das Huhn vor. „Besser nicht“, antwortet darauf das Schwein, „denn du wärst nur daran beteiligt, ich aber wäre dem ausgeliefert und würde voll und ganz darin aufgehen.“
Pig:
Die einen haben sich mit Leib und Seele der Sache verschrieben, gehen darin auf und haen am Ende für den Erfolg.
Chicken:
Die anderen sind dabei und haben ein berechtigtes Interesse an dem, was passiert. Sie reden gern überall mit, sind im Zweifel nicht für den Projekterfolg verantwortlich und im Misserfolg unter Umständen verschwunden.
Weitere Rollen:
Anwender
Kunden
Manager
Projektleiter
3 Artefakten
Product Backlog
Das Product Backlog ist das zentrale Instrument zur Erfassung und Bearbeitung von Anforderungen in Scrum Projekten. Es wird initial vor Beginn des Projektes erstellt und entwickelt sich dynamisch während der Umsetzung weiter.
Sprint Backlog
Das Sprint Backlog beinhaltet alle Product Backlog Einträge die für den Sprint ausgewählt wurden, und enthält alle Aufgaben, die notwendig sind, um die Anforderungen umzusetzen. Es ist das zentrale Werkzeug für das Entwicklungsteam um den Fortschritt zu messen.
Produktinkrement
Das Produktinkrement ist das Ergebnis aus allen in einem Sprint umgesetzten Anforderungen. Es baut auf das vorherige Inkrement auf und muss in einem potentiell auslieferbaren Zustand sein.