Sprint (Scrum)
In der agilen Produktentwicklung ist ein Sprint ein festgelegter Zeitraum, in dem die Mitarbeiter bestimmte Arbeiten abschließen und zur Überprüfung bereitstellen müssen.
Jeder Sprint beginnt mit einem Planungstreffen. Während des Meetings vereinbaren der Product Owner (die Person, die die Arbeit in Auftrag gegeben hat) und das Entwicklerteam genau, welche Aufgabe sie während des Sprints durchführen werden. Die Entwickler haben das letzte Wort, wenn es darum geht, wie viel Arbeit sie während des Sprints realistischerweise leisten können, und der Product Owner hat das letzte Wort, welche Kriterien erfüllt sein müssen, damit er die Arbeit freigibt und akzeptiert.
Die Dauer eines Sprints wird vom Scrum Master, dem Facilitator des Teams und dem Manager des Scrum-Frameworks, bestimmt. Sobald das Team einen Konsens erreicht hat, wie viele Tage der Sprint dauern soll, gilt dies auch für alle zukünftigen Sprints. Eine übliche Länge sind 30 Tage.
Nach Beginn eines Sprints muss der Product Owner einen Schritt zurücktreten und das Team seine Arbeit machen lassen. Während des Sprints hält das Team tägliche Meetings ab, um Fortschritte zu besprechen und Lösungen für Herausforderungen zu finden. Der Projektinhaber kann an diesen Sitzungen als Beobachter teilnehmen, darf sich jedoch nicht einmischen, es sei denn, er soll Fragen beantworten. Der Projektverantwortliche darf während eines Sprints keine Änderungsanträge stellen und nur der Scrum Master oder Projektmanager hat die Befugnis, den Sprint zu unterbrechen oder zu stoppen.
Am Ende des Sprints präsentiert das Team dem Projektverantwortlichen seine abgeschlossene Arbeit und der Product Owner verwendet die beim Planungs-Meeting festgelegten Kriterien, um die Arbeit entweder anzunehmen oder abzulehnen.
Sprintrollen, Artefakte und Zeremonien
An einem Sprint sind verschiedene Rollen beteiligt, von denen jede an verschiedenen Aspekten des Prozesses arbeitet. Zu diesen Rollen gehören:
- Product Owner: Diese Person repräsentiert die Geschäfts- oder Benutzergemeinschaft und ist eine Verbindung zwischen dem Entwicklungsteam und den Kunden. Der Product Owner ist dafür verantwortlich, mit der Benutzergruppe zusammenzuarbeiten, um zu definieren, zu priorisieren und anzupassen, welche Funktionen in der finalen Produktversion enthalten sein werden. Sie akzeptieren oder lehnen auch Arbeitsergebnisse ab und halten Kunden über den Projektstatus auf dem Laufenden.
- Scrum Master: Diese Person ist der Hauptvermittler für das Entwicklungsteam des Projekts. Sie verwalten den Prozess des Informationsaustauschs während des Sprints, einschließlich der Leitung von Stand-up-Meetings und der Unterstützung des Teams. Sie vermitteln bei Problemen und beseitigen Hindernisse. Ihre Schwerpunkte sind Transparenz, Beobachtung und Organisation.
- Scrum-Team: Diese Personengruppe ist für die Ausführung der Arbeit verantwortlich. Neben Entwicklern kann das Scrum-Team auch Tester, Architekten, Designer und IT-Betriebe umfassen.
Artefakte liefern die Informationen, die ein Scrum-Team benötigt, um das in Entwicklung befindliche Produkt sowie abgeschlossene und geplante Aktivitäten für das Projekt zu verstehen. Zu den Artefakten gehören:
- Backlog
- Burn-Down-Tabellen
- User Stories
Zeremonien sind Meetings, die für jeden Sprint abgehalten werden. Zeremonien beinhalten:
- Sprint-Planungsmeeting
- Tägliches Scrum oder tägliches Stand-up-Meeting
- Sprint-Review
- Sprint- oder Agile-Retrospektive
Sprint-Workflow und -Prozess
Der Sprint-Workflow soll Teammitgliedern helfen, ihre Arbeit zu bewerten und während des gesamten Prozesses miteinander zu kommunizieren. Der Workflow wird für jeden Sprint verfolgt. Der Prozess umfasst:
- Backlog – Eine Liste festgelegter Aufgaben, die abgeschlossen sein müssen, bevor das Produkt freigegeben wird. Das Backlog wird vom Product Owner aufgebaut. Der Product Owner gibt dem Scrum Master und dem Scrum-Team einen Backlog mit priorisierten Elementen. Er basiert auf User Stories, die sich auf Funktionen konzentrieren, die den Typ des Endbenutzers berücksichtigen, was er will und warum.
- Sprintplanung – Das Team diskutiert User Stories mit höchster Priorität und entscheidet, was im Sprint geliefert werden kann.
- Sprint-Backlog – Diese Liste wird vom gesamten Team vereinbart und finalisiert und definiert, was das Entwicklungsteam während des Sprints fertigstellen wird.
- Sprint – Der Zeitrahmen, in dem die Arbeit abgeschlossen sein muss – oft 30 Tage.
- Daily Scrum – Unter der Leitung des Scrum Masters kommt das Team zu kurzen täglichen Meetings zusammen, in denen es bespricht, was es geschafft hat, woran es arbeitet und welche Probleme die Arbeit blockieren.
- Ergebnis – Das Ergebnis eines Sprints ist ein hypothetisch verwendbares Produkt. Der Product Owner kann entscheiden, ob das Produkt fertig ist oder ob zusätzliche Funktionen benötigt werden.
- Sprintende – Am Ende eines Sprints finden zwei Meetings statt:
- Sprint Review – Das Team zeigt dem Product Owner seine Arbeit.
- Sprint-Retrospektive – Das Team diskutiert, was es tun kann, um Prozesse zu verbessern. Ein wichtiges Ziel ist die kontinuierliche Verbesserung.
Scrum versus Sprint
Scrum ist das spezifische Framework, das unter dem Dach von Agile zum Einsatz komm, um komplexe Produkte zu entwickeln. Der Begriff Scrum bezeichnet auch, wie bereits erwähnt, das tägliche Meeting.
Sprints sind zeitlich begrenzte Zeiträume von einer Woche bis zu einem Monat, in denen ein Product Owner, Scrum Master und ein Scrum-Team daran arbeiten, eine bestimmte Produktergänzung abzuschließen. Während eines Sprints arbeiten die Entwickler daran, neue Funktionen basierend auf den User Stories und dem Backlog zu erstellen. Ein neuer Sprint beginnt unmittelbar nach dem Ende des aktuellen Sprints.
Scrum-Produktivitäts-Tools
Der heutige Markt bietet eine Vielzahl von Scrum-Produktivitätstools. Jedes wurde entwickelt, um Produktentwicklungsteams zu helfen, die Scrum-/Sprint-Methodik effizient und genau zu befolgen.
Beliebte Scrum-Tools sind:
- Jira
- nTask
- QuickScrum
- ScrumDo
- Scrumwise
- Vivify Scrum
Vorteile von Scrum-Sprints gegenüber der traditionellen Entwicklung
Obwohl es viele Softwareentwicklungsmethoden gibt, wie Rapid Application Development (RAD) und DevOps, verwenden die meisten heutigen Entwicklungsteams entweder Agile oder das Wasserfallmodell.
Das Wasserfallmodell ist eine Softwareentwicklungsmethodik, die in den 1950er Jahren entstand und oft als traditionelle Softwareentwicklung bezeichnet wird. Das Wasserfallmodell geht Projekte linear und sequenziell an, basierend auf verschiedenen Phasen:
- Anforderungen
- Analyse
- Entwurf
- Codierung/Implementierung
- Testen
- Betrieb/Bereitstellung
- Instandhaltung
Diese Phasen sind isoliert, jeweils abhängig vom Abschluss der vorherigen Phase und enthalten bis zur letzten Phase wenig oder kein Benutzerfeedback. Einige Befürworter von Agile behaupten, dass das Wasserfallmodell wenige Möglichkeiten für Designanpassungen mitten im Prozess lässt, was den Entwicklungsworkflow stören und die Produktlieferung verzögern kann.
Scrum-Sprints sind kollaborativer und anpassungsfähiger als Wasserfall-Phasen, da Sprints Softwarefunktionen und -anforderungen in aufteilen, die in kurzen Zeiträumen angegangen werden müssen. Durch häufige Tests, sofortiges Feedback, tägliche Meetings und kontinuierliche Eingabe und Berücksichtigung von Endbenutzergeschichten und -bedürfnissen führen Sprints zu Produkten mit äußerst relevanten Funktionen.
Agile-Befürworter berichten auch, dass Sprints eine kürzere Markteinführungszeit, einen schnelleren ROI (Return on Investment), eine höhere Kundenzufriedenheit, eine verbesserte Teammoral und eine bessere Projektkontrolle bieten.