Scrum ist ein Framework, um komplexe Aufgabenstellungen mit unklarem Ziel zu lösen. Das Ziel von Scrum ist, den höchstmöglichen Nutzwert von Produkten zu erreichen. Scrum basiert auf der empirischen Prozesssteuerung und strebt ständige Verbesserung an. Empirische Prozesssteuerung, verbessert durch neue Erkenntnisse.
Obwohl Scrum für die Softwareindustrie entwickelt ist, wenden heute die unterschiedlichsten Branchen Scrum an.
Der Begriff “Scrum” stammt aus dem Ballsport Rugby und bedeutet Gedränge. In diesem Gedränge arbeiten alle Mitarbeiter eng zusammen und kommen ohne Hierarchien aus. Das Verteilen von Aufgaben geschieht nicht durch höhere Instanzen, sondern die Mitarbeiter nehmen sich die Arbeit. Scrum verfolgt eine Pull – anstelle einer Push-Strategie.
Wie bei einem Rugby-Spiel steht bei Scrum das Ergebnis erst am Ende fest.
Ken Schwaber und Jeff Sutherland haben Scrum entwickelt. Die Öffentlichkeit erfuhr 1995 auf der OOPSLA- Konferenz von Scrum.
Empirische Prozesssteuerung und Inspect & Adapt
Scrum steuert seinen Prozess empirisch. Der Scrum Prozess passt sich durch „Inspect & Adapt“ ständig an die Rahmenbedingungen an. Zusätzlich fordert Scrum Transparenz:
- Validierung (Inspect) bedeutet, dass die Ergebnisse regelmäßig auf ihre Ziele zu überprüfen sind, um bei Abweichungen Anpassungen vorzunehmen.
- Anpassung (Adapt) erfolgt bei Abweichungen, die das Ergebnis inakzeptabel machen. Das Ergebnis der Analyse bestimmt, was beim Produkt, der Zusammenarbeit oder dem Prozess anzupassen ist.
- Transparenz ist entscheidend für die Ergebnisverantwortung und hilft gemeinsames Verständnis herzustellen.
Scrum verwendet einen iterativen Ansatz aus Zyklen. Ein Zyklus wird in Scrum, Sprint genannt. Jeder Sprint erweitert oder verändert das Produkt. Die Iterationen stellen sicher, dass Feedback schnell in die Sprints einfließt.
Artefakte in Scrum
Ein Sprint dauert zwischen einer und vier Wochen. Am Ende eines Sprints liegt ein Inkrement eines potenziell lieferbaren Produkts vor. Ein Produktinkrement ist eines der fünf Artefakte in Scrum.
- Das Product Backlog ist eine geordnete Liste von allen Eigenschaften und Funktionen des Produkts. Es dient als Anforderungsquelle für sämtliche Änderungen am Produkt.
- Das Sprint Backlog ist eine Auswahl von Backlog-Items aus dem Product Backlog. Diese Backlog-Items stellt das Dev-Team innerhalb eines Sprints, im Sinne von “Done” fertig.
- Ein Backlog-Eintrag ist mit der Definition of Done auf Done zu überprüfen. Done bedeutet, dass es an diesem Backlog-Item nichts mehr zu tun gibt.
- Das Burn-Down-Chart visualisiert, wie viel Arbeit im Sprint erledigt und wie viel Arbeit noch zu leisten ist.
- Das Produktinkrement ist ein potenziell lieferbares Ergebnis der umgesetzten Arbeit des letzten Sprints.
Die Events im Scrum Cycle
In Scrum sind fünf Events definiert. Timeboxes helfen, Events fokussiert durchzuführen. Ein Event endet, wenn die Zeitspanne der Timebox abgelaufen ist.
Events in Scrum finden zur selben Zeit, am selben Ort statt. Das verringert Komplexität, weil die Termine und Orte schnell zur Routine werden. Wenn Scrum-Events weglassen werden, sinkt die Transparenz und behindert Inspect & Adapt.
Der Sprint
Der Sprint ist die Klammer für alle übrigen Events und der Regelkreis des Scrum Prozesses. Die Timebox eines Sprints liegt zwischen einer und vier Wochen.
Das Sprint Planning
Im Sprint-Planning erfolgt die Planung der Arbeit im Sprint. Die Dauer ist mit 8 Stunden für einen vierwöchigen Sprint festgelegt. Die Dauer verkürzt sich im Verhältnis zur Sprintdauer.
Das Daily Scrum
Im Daily Scrum überprüft das Dev-Team den Fortschritt in Richtung Sprint-Ziel und legt ein Tagesziel fest. Dieses Meeting ist ein Stand-up Meeting, bei dem sich das Dev-Team vor dem Taskboard trifft. In diesem Event wird das Burn-Down-Chart aktualisiert. Die Timebox für das Daily Scrum beträgt 15 Minuten.
Der Sprint-Review
Eine Veranstaltung, bei dem das Scrum Team die Ergebnisse vorstellt und Feedback der Stakeholder erwartet.
Die Sprint-Retrospektive
Das Scrum Team überprüft die Zusammenarbeit und definiert Maßnahmen für Verbesserungen.
Agiles Manifest und agile Prinzipien
Scrum orientiert sich an dem agilen Manifest mit seinen vier agilen Werten und zwölf agilen Prinzipien. Scrum definiert selber fünf Prinzipien:
- Selbstverpflichtung
- Mut
- Fokus
- Offenheit
- und Respekt
Scrum-Teams leben die agilen Werte. Scrum ist erfolgreich, wenn alle Beteiligten in diesen Werten kompetenter werden. Um Scrum einzusetzen, ist es nicht erforderlich, dass die Beteiligten die Kompetenzen besitzen.
Rollen in Scrum Teams
In Scrum wird ein Scrum-Team durch die Rollen Scrum Master, Product Owner und das Dev-Team definiert. Ein Scrum Team besteht aus fünf bis neun Mitarbeitern.
Ein Dev-Team besteht aus drei bis sieben Mitarbeitern. Mitarbeiter in einem Dev-Team bezeichnen sich als Entwickler, unabhängig von ihrer Aufgabe und Disziplin. Das Dev-Team stellt aus den Anforderungen des Product Owners ein Produkt her.
Die Rolle Product Owner verantwortet die Umsetzung der Anforderungen des Kunden und erstellt daraus Backlog-Items. Hierfür wird vom Product Owner ein Product Backlog verwaltet, in dem sich alle Backlog-Items befinden.
Die Backlog-Items sind nach vom Product Owner festgelegten Zielen, ihrer Komplexität und dem Business Value geordnet.
Häufig kommen in Scrum-Teams, sogenannte User Storys als Backlog-Items zum Einsatz. Falsch angewandte User Storys richten Schaden in einem Projekt an. Es ist unumgänglich, dass ein Scrum-Team in der Anwendung von User Storys qualifiziert ist.
Im Sprint-Planning wählt das Dev-Team aus dem Product Backlog eine Anzahl von Backlog-Items aus, die es im Sprint bearbeitet. Diese Auswahl wird als Sprint-Backlog bezeichnet. Das Dev-Team visualisiert täglich die Arbeit im Sprint über ein Taskboard mit mindestens den Spalten “Todo”, “In Progress”, “Done”.
Der Scrum Master ist als “Servant Leader” in einer dienenden und führenden Position. Er ist verantwortlich, dass alle Beteiligten Scrum richtig verstehen und anwenden. Der Scrum Master hilft bei der Beseitigung von Impediments und stellt sicher, dass ein Dev-Team effizient arbeitet.
Scrum-Teams sind selbstorganisiert und interdisziplinär besetzt. Interdisziplinär bedeutet, dass das Team gemeinsam die Ziele erreicht. Scrum-Teams entscheiden autonom, wann sie welche Arbeit und wie sie ihre Arbeit erledigen wollen.
Personen außerhalb eines Scrum-Teams sind nicht berechtigt, dem Scrum-Team Vorgaben zu machen, wie sie ihre Arbeit erledigen.
Scrum auf den Punkt gebracht
Scrum ist ein leichtgewichtiges Framework, mit dessen Hilfe der Wert eines Produkts maximiert wird. Scrum verbessert sich durch Erkenntnisgewinn. Das Risiko sinkt, ein Produkt in die falsche Richtung zu entwickeln. Regelmäßiges Inspect & Adapt schafft eine höhere Produktqualität, verkürzt die Time-to-Market und verhindert Fehlentwicklungen.
Einsatzbedingungen für Scrum
Wenn der Kunde nicht beschreibt, wie sein Produkt beschaffen ist, besteht der Bedarf nach einer agilen Vorgehensweise. Fehlt diese Beschreibung, ist das Produkt nicht vorhersagbar. Mit klassischen Vorgehensweisen ist das Produkt nicht herzustellen.
Weil Scrum auf Inspect & Adapt basiert, ist eine vollständige Beschreibung des Produkts zum Projektstart nicht notwendig. Nach jedem Inkrement fließt das Feedback des Kunden in das Product Backlog ein.
In der Praxis hat die agile Vorgehensweise Hindernisse zu bewältigen:
- Die Philosophie oder die Kultur der Organisation steht im Widerspruch zu den agilen Werten.
- Es besteht mangelnde Erfahrung mit der agilen Methode
- Das Management unterstützt Agile unzureichend
- Es formiert sich organisatorischer Widerstand gegen die anstehenden Veränderungen.
Wenn eine Organisation gegen Veränderung resistent ist, funktioniert die Einführung von Scrum nicht. Lassen sich diese Hindernisse nicht beseitigen, ist es besser, klassische Verfahren anstelle von agilen anzuwenden.