Scrum (aus dem Englischen scrum für „Gedränge“) ist ein Vorgehensmodell des Projekt- und Produktmanagements, insbesondere zur agilen Softwareentwicklung. Es wurde ursprünglich in der Softwaretechnik entwickelt, ist aber davon unabhängig. Scrum wird inzwischen in vielen anderen Bereichen eingesetzt.
Der Ansatz von Scrum ist empirisch, inkrementell und iterativ. Er beruht auf der Erfahrung, dass viele Entwicklungsprojekte zu komplex sind, um in einen vollumfänglichen Plan gefasst werden zu können. Ein wesentlicher Teil der Anforderungen und der Lösungsansätze ist zu Beginn des Entwicklungsprojektes unklar, sowohl für den Kunden, als auch für den Entwickler. Diese Unklarheit lässt sich beseitigen, indem Zwischenziele und -ergebnisse geschaffen werden. Anhand dieser Zwischenergebnisse lassen sich die fehlenden Anforderungen und Lösungstechniken konkreter und effizienter finden, als durch eine abstrakte Klärungsphase. In Scrum wird neben dem Produkt auch die Planung iterativ und inkrementell entwickelt. Der langfristige Plan (das Product Backlog) wird kontinuierlich verfeinert und verbessert. Der Detailplan (das Sprint Backlog) wird nur für den jeweils nächsten Zyklus (den Sprint) erstellt. Ein Sprint dauert in der Regel zwischen einer und vier Wochen. Damit wird die Projektplanung auf das Wesentliche fokussiert
Das Ziel von Scrum ist die schnelle und kostengünstige Entwicklung hochwertiger Produkte entsprechend einer formulierten Vision. Die Umsetzung der Vision in das fertige Produkt erfolgt nicht durch die Aufstellung möglichst detaillierter Lasten- und Pflichtenhefte. In Scrum werden die Anforderungen in Form von Eigenschaften aus der Anwendersicht formuliert. Die Liste dieser Anforderungen ist das Product Backlog. Diese Anforderungen werden Stück für Stück in ein bis vier Wochen langen Intervallen, sogenannten Sprints umgesetzt. Am Ende eines Sprints steht bei Scrum die Lieferung eines fertigen Teilprodukts (das Product Increment). Das Produktinkrement sollte in einem Zustand sein, dass es an den Kunden ausgeliefert werden kann (potentially shippable product). Im Anschluss an den Zyklus werden Produkt, Anforderungen und Vorgehen überprüft und im nächsten Sprint weiterentwickelt.
Scrum besteht also aus nur wenigen Regeln. Diese Regeln beschreiben
- die vier Ereignisse in einem Sprint-Zyklus:
- Sprint Planning: Festlegung des „Was“ und des „Wie“ für den nächsten Sprint.
- Daily Scrum: Tägliches 15-Minuten Meeting des Entwicklungsteams zum aktuellen Arbeitsstand.
- Sprint Review: Das Entwicklungsteam präsentiert dem Product Owner das Ergebnis des Sprints, d.h. das Prodcut Increment.
- Sprint Retrospektive: Gemeinsame Analyse der Arbeitsweise im Sprint, moderiert durch den Scrum Master.
- die drei Artefakte eines Sprints:
- Product Backlog: Liste der Anforderungen in Form von Eigenschaften aus der Anwendersicht.
- Sprint Backlog: die Anforderungen, die für den nächsten Sprint beauftragt werden.
- Product Increment: Das fertige Teilprodukt, dass in einem Sprint erarbeitet wurde.
- und die drei Scrum-Rollen:
- Product Owner: Der Product Owner ist für die Eigenschaften und den wirtschaftlichen Erfolg des Produkts verantwortlich. Er gestaltet das Produkt mit dem Ziel, seinen Nutzen zu maximieren.
- Scrum Master: Der Scrum Master ist dafür verantwortlich, dass Scrum als Rahmenwerk gelingt. Dazu arbeitet er mit dem Entwicklungsteam zusammen, gehört aber selbst nicht dazu. Er führt die Scrum-Regeln ein, überprüft deren Einhaltung und kümmert sich um die Behebung von Störungen und Hindernissen. Dazu gehören mangelnde Kommunikation und Zusammenarbeit sowie persönliche Konflikte im Entwicklungsteam, Störungen in der Zusammenarbeit zwischen Product Owner und Entwicklungsteam sowie Störungen von außen, beispielsweise Aufforderungen der Fachabteilung zur Bearbeitung zusätzlicher Aufgaben während eines Sprints.
- Entwicklungsteam: Das Entwicklungsteam ist für die Lieferung der Produktfunktionalitäten in der vom Product Owner gewünschten Reihenfolge verantwortlich. Zudem trägt es die Verantwortung für die Einhaltung der vereinbarten Qualitätsstandards. Das Entwicklungsteam organisiert sich selbst. Es lässt sich von niemandem, auch nicht vom Scrum Master, vorschreiben, wie es Backlogeinträge umzusetzen hat
Auch bei Scrum steht die kontinuierliche Weiterentwicklung und das gemeinsame Lernen im Fokus. Ein Scrum-Team ist also in der Lage, durch Erfahrungen zu lernen, sich bei der Problembehebung selbst zu organisieren sowie seine Erfolge und Niederlagen zu reflektieren, um sich kontinuierlich zu verbessern.