Scrum

Scrum ist das am häufigsten verwendete und beliebteste Framework in agilen Teams. Es wird genutzt um die Kommunikation zu rationalisieren, effizienter zusammenzuarbeiten und den Fokus zu erhöhen. Es beschleunigt die Produktivität und ist eine großartige Möglichkeit, schneller Innovationen voranzutreiben.

Scrum ist sowohl iterativ als auch inkrementell und basiert auf der Theorie der empirischen Prozesssteuerung. Der Arbeitszyklus muss sich wiederholen, mit dem Ziel, die gewünschte Entscheidung oder das gewünschte Ergebnis mit jeder Wiederholung näher an das Ziel zu bringen.


Sprint

Scrum-Teams stellen in kleinen Schritten (sogenannten "Sprints") funktionierende Software bereit, um mit den Funktionsanforderungen der Kunden Schritt zu halten.

Ein Sprint ist ein Zeitraum von in der Regel 2-4 Wochen, in der ein abgeschlossenes Produktinkrement erstellt wird. Es ist wichtig zu beachten, dass nach Beendigung eines Sprints der nächste Sprint sofort beginnt und sich mit dem gerade beendeten überschneidet.


Scrum-Artefakte:
Product Backlog, Sprint Backlog und potenziell freisetzbare Produktinkremente

Product Backlog:
Das Product Backlog enthält alle Anforderungen an das Produkt/ die Aufgaben, die das Team erledigen muss. Das Product Backlog ist dynamisch und wird ständig weiterentwickelt. Alle Arbeit, die das Entwicklungsteam erledigt, muss ihren Ursprung im Product Backlog haben.

Sprint Backlog:
Dient als aktueller Plan der zu erledigenden Aufgaben. Es umfasst die Product-Backlog-Einträge, die für den Sprint ausgewählt wurden und die dafür nötigen Aufgaben (z.B. Entwicklung, Test, Dokumentation). Das Sprint Backlog wird laufend (häufig über ein Taskboard z.B. Miro) aktualisiert.

Produktinkremente:
Ein Inkrement, ist im Grunde die Summe aller während des Sprints abgeschlossenen Product Backlog-Elemente zusammen mit dem Wert der Inkremente aller vergangenen Sprints.

Scrum-Meetings:
Sprint-Planning, Daily Scrum, Sprint-Review,Sprint-Retrospektive

Sprint-Planning:
Hier werden angemessene Schätzungen der Sprint-Stunden erstellt und sich dem Scrum-Produkt-Backlog zu verpflichtet. Es wird festgelegt was im kommenden Sprint entwickelt wird und wie die Arbeit erledigt werden kann.

Daily Scrum:
Zu Beginn eines jeden Arbeitstages trifft sich das Entwicklerteam zu einem max. 15-minütigen Daily Scrum, bei dem Scrum Master und Product Owner häufig anwesend, jedoch nicht aktiv beteiligt sind. Zweck des Daily Scrum ist der Informationsaustausch nicht die Lösung von Problemen.

Sprint-Review:
Am Ende des Sprints werden die Ergebnisse den Stakeholder vorgestellt. Es wird überprüft, ob das zu Beginn gesteckte Ziel erreicht wurde und besprochen was als Nächstes zu tun ist. Das Inkrement wird überprüft, um das Product Backlog bei Bedarf anzupassen.

Sprint-Retrospektive:
Am Ende des Sprints trifft sich das Scrum-Team zu einem retrospektiven Scrum-Meeting, um zu bewerten, wie der Sprint gelaufen ist, um Fehler zu korrigieren und die Methoden zu betonen, die erfolgreich waren.

Das Scrum-Team

Der Schlüssel des Erfolges besteht darin, ein starkes Scrum-Team zusammenzustellen, das eng zusammenarbeitet, um das Produkt auf schnellste und effizienteste Weise fertigzustellen. Die Mitglieder nehmen an Scrum-Zeremonien teil, um Scrum-Events als Team durchführen und das Projekt abzuschließen.

Laut Scrum-Leitfaden gibt es in einem Scrum-Team drei Schlüsselrollen: den Product Owner, den Scrum Master und das Entwicklungsteam. Innerhalb dieses Teams gibt es keine Hierarchie. Alle Mitglieder sind gleich wichtig und spielen jeweils eine entscheidende Rolle.

Product Owner - der Kapitän des Schiffs

Er/Sie ist die Speerspitze der Operation und entscheidet endgültig, wie das Produkt aussehen und welche Funktionen es haben wird. Der Scrum Product Owner verwaltet das Product Backlog.

Der Product-Owner
- definiert die Ziele und Missionen für das Product Backlog
- sorgt dafür, dass es ein eindeutiges Product Backlog gibt
- sorgt dafür, dass es eine Roadmap für den Rest des Scrum-Teams gibt
- sorgt dafür, dass das Entwicklungsteam ein klares und präzises Verständnis der Elemente im Product Backlog hat
- verfügt über fundierte Kenntnisse des Geschäfts und des Marktes
- genießt das Vertrauen des Teams und der Stakeholder
- versteht die Wünsche und Bedürfnisse der Kunden vollständig und wandelt diese in eine für das Team verständliche Sprache um
- ist ein ausgezeichneter Entscheidungsträger
- ist immer der letzte Entscheidungsträger und in der Lage, die richtigen Produktmerkmale zu bejahen und den Rest abzulehnen
- ist befugt einen Sprint abzubrechen (ein Sprint wird normalerweise abgebrochen, wenn das Scrum-Ziel veraltet ist.)


Entwicklungsteam - die Crew des Schiffs

Das Entwicklungsteam übernimmt die ihm vom Product Owner zugewiesenen Aufgaben, entscheidet über deren Umsetzung und setzt sie dann um. Das Entwicklungsteams legt den Grundstein für das Endprodukt und ist entscheidend für die Effizienzsteigerung innerhalb eines Scrum-Teams.


Das Entwicklungsteam
- besteht oftmals aus 3-9 Personen
- liefert die Entwicklungsarbeit des Sprints
- organisiert sich selbst und trifft gemeinsam Entscheidungen, um sicherzustellen, dass alle Arbeiten erledigt werden
- führt die im Backlog aufgeführten Elemente aus
- ist dafür verantwortlich, das Produkt transparent zu machen, damit alle Abteilungen über die erzielten Fortschritte informiert sind
- arbeitet gut zusammen und hat volles Vertrauen in Teamkollegen
- verfügt über alle notwendigen Fähigkeiten
- vergibt keine Titel oder erstellt Unterteams (Alle Teammitglieder werden gleich behandelt und tragen die gleiche Verantwortung.)
- ist in der Lage, sich selbst zu organisieren, um gemeinsam erfolgreich funktionierende Software schrittweise freizugeben


Scrum-Master - der Leim, der alles zusammenhält

Die Rollen und Verantwortlichkeiten des Scrum Masters drehen sich darum, das Team vor Ablenkungen zu schützen, dem Team zu helfen, sich zu verbessern und das Team gegenüber dem Scrum-Framework verantwortlich zu machen.

Die Einhaltung der Scrum-Werte ist ein wesentlicher Bestandteil eines erfolgreichen Scrum Masters. Scrum definiert 5 Werte: Mut, Fokus, Engagement, Respekt und Offenheit. Der Scrum Master muss diese Werte durchsetzen, um eine Umgebung der Sicherheit und des Vertrauens zu schaffen.

Der Scrum-Master
- ist dafür verantwortlich, dass Scrum-Events stattfinden (das heißt nicht, dass er sie moderieren muss)
- ist Trainer des Teams und dafür verantwortlich, den Rest des Teams auf Kurs zu halten
- stellt sicher, dass alle Aufgaben vom Scrum-Team verstanden werden
- findet Techniken für das richtige Backlog-Management
- erleichtert Scrum-Events nach Bedarf
- coacht das Entwicklungsteam und hilft ihm erstklassige Produkte zu erstellen
- beseitigt Hindernisse, die das Entwicklungsteam behindern könnten
- geht mit gutem Beispiel voran und coacht sein Team, um sicherzustellen, dass es das Beste aus seinen Fähigkeiten herausbringt und gleichzeitig die vom gesamten Scrum-Team festgelegten Teamwerte einhält
- wird von allen respektiert, ist ein echter Leader und stärkt die Scrum-Prinzipien des Teams