Scrum

Eintrag zuletzt aktualisiert am: 24.05.2022

Scrum ist ein Vorgehensmodell aus dem Bereich der agilen Softwareentwicklung.

Scrum

Quelle: Manfred Steyer: Agile Muster und Methoden: Agile Softwareentwicklung maßgeschneidert, ISBN 978-3868020427

Wie bei XP handelt es sich auch bei Scrum um eine iterative und agile Methode. Allerdings wird hier der Fokus nicht, wie es bei XP teilweise der Fall ist, auf technische Aspekte gelegt. Vielmehr wird die Organisation von Entwicklungsprojekten aller Art, darunter auch Softwareentwicklungsprojekte, adressiert.

Scrum unterscheitet zwischen drei Rollen: Der Scrum-Master ist für den Prozess verantwortlich und moderiert Besprechungen. Beim Produkteigner handelt es sich entweder um einen Vertreter des Kunden oder um einen Produktmanager. Er ist für die Definition und Priorisierung der Anforderungen zuständig. Bei der dritten Rolle handelt es sich um das Team, welches selbstgesteuert plant und arbeitet und für die Umsetzung der Anforderungen verantwortlich ist.

Scrum sieht die Verwendung von ein- bis vierwöchigen Iterationen vor, welche als Sprint bezeichnet werden und immer gleich lang sein sollen. Die nachfolgenden Zeitangaben für Meetings beziehen sich auf vier-wöchige Sprints. Bei kürzeren Sprints sind die einzelnen Meetings relativ dazu kürzer zu gestalten.

Ablauf eines Scrum-Projektes

Zunächst werden die Anforderungen im sogenannten Product Backlog gesammelt und mit einer Priorität versehen. Vor jedem Sprint findet ein Sprint Planning Meeting statt. Dieses gliedert sich in zwei Teile. Während sich der erste Teil mit Aspekten der Analyse beschäftigt, geht es im zweiten Teil um das Design. Im ersten Teil, für welchen maximal vier Stunden aufgebracht werden dürfen, präsentiert der Produkteigner dem Team die wichtigsten Anforderungen. Das Team entscheidet welche dieser Anforderungen im nächsten Sprint umsetzen kann und verpflichtet sich dazu. Im anschließenden zweiten Teil, für wel chen ebenfalls maximal vier Stunden vorgesehen sind, leitet das Team Aufgaben aus den vereinbarten Anforderungen ab.

Daraus resultiert der Sprint Backlog, aus welchem auch hervor geht, welches Teammitglied sich zu welcher Aufgabe bekannt hat und somit für diese verantwortlich zeichnet. Der Produkteigner darf zu jeden Zeitpunkt den Produkt-Backlog abändern, solange von dieser Änderung keine sich gerade in Arbeit befindlichen Anforderungen, also Anforderungen, welche sich in Form von Aufgaben im aktuellen Sprint-Backlog wiederfinden, betroffen sind.

Innerhalb einer Iteration werden die vereinbarten Aufgaben abgearbeitet. Täglich wird ein kurzes Daily Scrum-Meeting durchgeführt. In diesem Meeting wird der aktuelle Fortschritt besprochen. Jedes Teammitglied beantwortet dazu die folgenden drei Fragen: a) was hast Du seit gestern gemacht? B) was wirst Du bis morgen erledigen? C) Mit welchen Problemen bist Du gerade konfrontiert?

Das Ziel dieses Meetings, welches maximal 15 Minuten dauern soll, ist es Informationen über den aktuellen Fortschritt zu erlangen sowie zu erfahren, an was die Kollegen arbeiten. Eventuell entdeckte Probleme können im Nachhinein in Kleingruppen besprochen werden. Somit sollen langwierige und zeitraubende Besprechungen im großen Rahmen vermieden werden. Darüber hinaus dürfen in diesen Meetings lediglich Teammitglieder sprechen. Der Produkteigner und Manager dürfen jedoch anwesend sein, um sich zu informieren.

Am Ende der Iteration liegt ein fertiges und potentiell auslieferbares (Teil-)Produkt vor, welches im Zuge eines vier-stündigen Sprint Review-Meetings dem Produkteigner sowie den restlichen Interessenten (Stakeholder) präsentiert wird. Anschließend holt das Team Feedback ein.

In einem Sprint Retrospective Meeting, welches jeweils nach einem Sprint stattfindet, wird der letzte Sprint beleuchtet und eventuelle Verbesserungsvorschläge diskutiert. Für dieses Meeting sind maximal drei Stunden eingeplant und bei den Teilnehmern handelt es sich um den Scrum-Master, dem Team und optional um den Produkteigner.

Weitere Informationen

Weitere Informationen finden sich unter scrum.org.