Sprint (Scrum)

Mit "Sprint" bezeichnet die agile Software-Entwicklungsmethode ↑Scrum den wertschöpfenden ↑Projektprozess, bei dem das Entwicklungsteam innerhalb eines ↑Vorgangs mit fixierter Dauer Anforderungen aus dem ↑Product Backlog in ein Produktinkrement umsetzt.

Anzeige

Der Sprint als Time Box mit fixiertem Ziel

Der Scrum Guide vergleicht den Sprint mit einem Projekt, das einen Monat dauert. Hintergrund dieses Vergleichs ist, dass für einen Sprint die Dauer, das zu erreichende Ergebnis, die zur Verfügung stehenden Ressourcen und der Ablauf wie bei einer traditionellen Projektplanung fest vorgegeben sind. Aus Sicht des Projektmanagements ist ein Sprint entweder als ↑Arbeitspaket oder als ↑Vorgang anzusehen.

Charakteristisch für Scrum ist, dass Sprints eine festgelegte Dauer haben, der Scrum Guide geht von vier Wochen bzw. einem Monat aus. Auch eine kürzere Dauer bis hinunter zu einer Woche sind möglich. Eine längere Dauer wird nicht explizit ausgeschlossen, ist aber unüblich.

Ziel eines Sprints ist es, die im Sprint Backlog festgelegten Anforderungen so zu realisieren, dass am Ende des Sprints ein grundsätzlich ablauffähiges Produktinkrement zur Verfügung steht.

Ablaufelemente eines Sprints

Ein Sprint besteht, unabhängig von seiner Dauer, aus folgenden fünf Aktivitäten:

  • Sprint Planning, dem Planen des Sprints
  • Daily Scrum, dem täglichen Treffen des Scrum Teams
  • Umsetzen der Backlog Items in Funktionen der Software
  • Sprint Review, der Qualitätsprüfung des erstellten Produktinkrements hinsichtlich der Definition of "Done"
  • Sprint Retrospektive, der Analyse und Bewertung des methodischen Vorgehens während des Sprints

Erläuterungen und Kommentar zum Begriff "Sprint"

Das Konzept der Software-Entwicklung in Sprints stellt eine Kompromiss dar zwischen der Notwendigkeit, konkrete Fortschritte zu erzielen und nicht ausreichend definierten sowie sich verändernden Anforderungen. Die Kapselung der produktiven Arbeit in hinsichtlich Zeit, Arbeitsinhalt, Ergebnis und Aufwand fixierten Vorgängen (meist "Time Box" genannt), gewährleistet, dass lieferfähige Arbeitsergebnisse entstehen. Gleichzeitig ermöglicht die produktorientierte Steuerung des Projekts mit Hilfe des Product Backlogs ein integriertes und effizientes Änderungsmanagement

Die Einbettung von Scrum in ein Projekt wird durch die Sprints hinsichtlich der Ablaufplanung sehr einfach. Z.B. kann für die gesamte Software-Entwicklung ein Arbeitspaket definiert werden, in dem nach Scrum gearbeitet wird. Wenn eine genauere Terminplanung erforderlich ist, wird für jeden Sprint ein Vorgang definiert. Wenn innerhalb der geplanten Sprints die Anforderungen nicht umgesetzt werden können, muss über einen Änderungsantrag entweder die Dauer der Entwicklungsarbeiten durch Hinzufügen weiterer Sprints verlängert werden oder das zuletzt erreichte Produktinkrement als in Umfang oder Qualität verringertes Ergebnis akzeptiert werden.

Zwischen einer effizienten Projektsteuerung und dem Scrum Guide gibt es bei der Steuerung von Sprints einen Widerspruch hinsichtlich des vorzeitigen Abbrechens eines Sprints. Der Scrum Guide warnt dringend vor einem vorzeitigen Sprintabbruch und begründet dies unter anderem mit "Sprint cancellations are often traumatic to the Scrum Team …" (Schwaber, Sutherland: The Scrum Guide, 2013). Aus Sicht der Steuerung eines risikobehafteten und für Änderungen anfälligen Projekts ist dieses starre Festhalten an einem geplanten Ablauf jedoch nicht nachvollziehbar. Wenn z.B. das zuletzt erreichte Produktinkrement als ausreichend zur Erreichung des Projektziels erkannt wird, gibt es keinen Grund, wertvolle Engpassressourcen weiter mit nicht wertschöpfenden Arbeiten zu blockieren. Warum Software-Entwickler ein "Trauma" erleiden sollen, wenn sie eine begonnene Programmierung abbrechen, wird im Scrum Guide nicht ausgeführt.

Dieser Artikel wurde zuletzt aktualisiert am 20.10.2014.
Tech Link