Scrum ist die häufigste angewendete agile Methode, welche als Rahmenwerk für agile Prozesse bekannt ist.

Der Begriff „Scrum“ stammt aus der Sportart Rugby. Dabei stehen sich zwei gegnerische Mannschaften gedrängt („Scrum“ = „Gedränge“) gegenüber und versuchen den Ball zu erkämpfen. Ein selbstorganisiertes Entwicklerteam steht im Mittelpunkt von Scrum. Der Scrum Master bildet eine Schnittstelle zwischen dem Team und den Produktverantwortlichen. Er sorgt dafür, dass der Entwicklungsprozess reibungslos abläuft. Die Idee ist, dass bei umfangreichen Projekten der Erfolg nur durch ein regelmäßiges Feedback zu erreichen ist. Dadurch werden die Abweichungen vom Soll schnell erkannt und notwendige Anpassungen ermöglicht. Die gesamte Entwicklung wird in Iterationen mit einer Dauer zwischen einer und vier Wochen strukturiert und durchgeführt. Diese Iterationen werden als Sprints bezeichnet. Die Sprints haben eine feste Dauer und enden unabhängig davon, ob die Aufgabe abgeschlossen werden konnte oder nicht. Die Produktanforderungen des Kunden werden vor dem Sprint in einem Product Backlog gesammelt. Dieses wird fortlaufend vervollständigt. Das Team entscheidet über die Priorisierung der Anforderungen bzw. Aufgaben. Jeder Sprint endet mit der Überprüfung der Ergebnisse, einem Sprint Review, und einer Reflektion der Prozesse, dem Sprint Retrospective. Am Ende jedes Sprints steht eine lauffähige, getestete und inkrementell verbesserte Software zur Verfügung (Abbildung 1).

Das Prinzip von Scrum.
Abbildung 1: Das Prinzip von Scrum.

Scrum unterscheidet zwischen drei Rollen:

  • Der Product Owner repräsentiert in Scrum die Kundenbedürfnisse. Im besten Fall ist er der Kunde selbst oder ein vom Kunden bevollmächtigter Vertreter. Er trifft eigenständig und zügig qualifizierte Entscheidungen über das Produkt. Er steuert die Softwareentwicklung und arbeitet mit dem TEAM während des ganzen Projekts eng zusammen. Der Product Owner koordiniert die Kundenanforderungen und priorisiert sie im Product Backlog. Er definiert Anforderungen und deren Akzeptanzkriterien und nimmt die Arbeitsergebnisse des Teams ab.
  • Der Scrum Master ist der Coach für das Team. Er hilft den Team Mitgliedern Scrum richtig einzusetzen. Seine Rolle ist umso wichtiger, je weniger Erfahrung das Team mit Scrum hat. Der Scrum Master hat im Projekt keine spezifischen Verantwortlichkeiten und Aufgaben, die unmittelbar mit der Umsetzung desselben zu tun haben. Wenn ein Scrum Master seine Arbeit gut macht und das Team richtig zusammenarbeitet, wird er kaum noch benötigt. Das Team hilft sich in allen Situationen selbst.
  • Das Scrum Team hat die zentrale Rolle, da es alle Arbeiten ausführt, die zur Umsetzung der Anforderungen notwendig sind. Es ist von Vorteil, wenn die Mitglieder in einem Scrum Team über ein breites Spektrum an Wissen verfügen. Dieses Wissen darf sich nicht in den Köpfen von Spezialisten konzentrieren, sondern es muss gemeinsames Wissen des gesamten Teams sein oder werden. Die Team Mitglieder bezeichnet man auch gerne als „generalistische Spezialisten“. Das Team organisiert sich selbst (empowered team), d.h. es entscheidet über eine Vielzahl von Dingen selbstverantwortlich. Hierdurch entsteht eine höhere Identifikation mit dem Projekt und das Verantwortungsgefühl steigt. Insbesondere schätzt das Team selbst die Aufwände für die einzelnen User Stories, und es übernimmt die Verantwortung, dass diese richtig konzipiert sind. Ein wichtiger Punkt ist das „commitment“ im jeweiligen Sprint auf bestimmte User Stories. Dabei entscheidet das Team, welche und wie viele User-Stories es im nächsten Sprint umsetzen kann. Jeder Mitarbeiter kann unabhängig von seiner Position eine der drei Rollen annehmen.


Ein zentrales Merkmal von Scrum sind regelmäßige, kompakte und ergebnisorientierte Meetings. Sprint Planning Meetings sind so genannte Start Meetings für den jeweiligen Sprint und diese werden in zwei Schritten ausgeführt. Dies sind die Festlegung des Inhalts des nächsten Sprints und die Erstellung des Sprint Backlogs. Das Sprint Review wird am Ende jedes Sprints durchgeführt und dient zur Überprüfung und Abnahme des Produkt-Inkrements durch den Product Owner. Dabei müssen Sie die Ergebnisse präsentieren und zeigen, dass die von Ihnen entwickelten Features funktionieren. Durch die regelmäßige Durchführung bekommen Sie immer sofort ein Feedback und eine Entwicklung in die falsche Richtung kann ausgeschlossen werden.

Die Sprint Retrospective zielt im Gegensatz zum Sprint Review auf eine Analyse der Zusammenarbeit während des vorangegangenen Sprints ab. Es ist für die Qualität nicht nur wichtig, dass die Features auch funktionieren, sondern für alle Beteiligten ist es auch äußert interessant, wie Sie die Ergebnisse erreicht haben. Welchen Programmieransatz haben Sie gewählt? Gibt es vielleicht eine einfachere Lösung zum Ziel? Aus der gemeinsamen Betrachtung ziehen Sie Schlüsse für den nächsten Sprint. Das Daily Scrum umfasst tägliche 15-minütige Meetings des Teams unter Beteiligung des Scrum Masters und eventuell des Product Owners. Diese dienen hauptsächlich dem Informationsaustausch des Teams untereinander. Hier wird Ihnen meist kein Sitzplatz zur Verfügung gestellt. Ganz im Sinne der Dynamik und der effizienten Arbeitsweise erfolgt die kurzfristige Zusammenkunft meist im Stehen. Eine Tasse Kaffee ist aber erlaubt 😊.

Grundsätzlich verfolgt jedes Scrum Meeting das Ziel die Ergebnisse zu analysieren und die daraus resultierenden Anpassungen unmittelbar umzusetzen. Ein wichtiges Kriterium für den Projekterfolg ist die Teamarbeit. Eine weitgehend reibungslose Zusammenarbeit zwischen den Teammitgliedern wird angestrebt. Bei der Teamgröße sollte man sich daher auf maximal zehn Mitglieder beschränken. Bewährt haben sich Teilteams von nur sechs Mitgliedern. Diese müssen Programmier-, Projekt- und Teamerfahrung haben.

Literatur & Links

[1] https://de.wikipedia.org/wiki/Scrum