Aus dem Unterricht des CAS Mobile Business vom 1. Dezember 2017 mit Ari Byland berichtet André Steiner.

Definition Scrum

Scrum (noun): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.

Nein, ich erzähle Euch jetzt nicht etwas über Rugby und sportliche Teamleistungen, sondern über das Scrum Framework, welches es ermöglicht, komplexe Produkte zu entwickeln, fertigzustellen und nachhaltig zu erhalten.

Case Study – Website “Lieblingstier”

Als Erstes haben wir multi-disziplinäre Teams von 5 Personen gebildet. Die Teams sollten möglichst so zusammengestellt sein, dass verschiedene Stärken (technischer und nicht-technischer Natur) vorhanden sind. Zudem haben wir die Vorteile von Teams und die drei Dinge, welche wir lernen möchten, auf einem Flipchart festgehalten.

Danach erstellten wir im Rahmen unserer Case Study eine echte Website, wovon ein Team sogar die Mühe nicht scheute und ein “Mockup” im PowerPoint entwickelte 😉

Team Erdmännchen

Ziel dieser Übung war es, eine funktionierende Website basierend auf verschiedensten Kriterien (z.B. Kontaktformular, Aufbau der Website, Funktionen etc.) bereitzustellen. Es war wirklich spannend zu sehen, wie kreativ und agil die einzelnen Teams gearbeitet haben.

Nach dieser sogenannten “Pseudo-iteration” (Übung wurde nicht nach Scrum durchgeführt) haben die jeweiligen Teams ein Recap gemacht, wobei die Lessons Learned festgehalten wurden:

– Austausch mit dem Auftraggeber
– Rollendefinition
– Definition of Readiness
– Prototyping
– Definition of Done (Standard Definition, damit wir anschliessend ins Testing gehen können)
– Time Management
– Planung
– Testing

Fundamentals of Scrum


Dieses Bild visualiert das Scrum Framework sehr gut, da die verschiedenen Rollen (Roles), Geschehnisse (Events), Artifakte (Artifacts) und Regeln ersichtlich sind, welche das Scrum Framework zusammenhalten.

Scrum ist nicht ein Prozess, Technik oder Methode. Vielmehr ist es ein Framework (dt. Rahmenwerk), welches verschiedenste Prozesse und Techniken beinhaltet. Scrum zeigt auf, wie effiziente Produktmanagement- und Arbeitstechniken eingesetzt werden können, um Produkte, Teams und Arbeitsumgebung kontinuierlich zu verbessern.

Das Scrum Team

Roles

Der Product Owner ist verantwortlich für die Zusammenstellung des Scrum Teams, die Maximierung des Produktnutzens und die Priorisierung und Bewirtschaftung des Product Backlogs.

Das Development Team ist dazu da, ein lauf-/releasefähiges Produkt zu schaffen. Sie arbeiten sehr eng mit dem Product Owner zusammen, um auch das effektive Endprodukt optimal auf den Kundennutzen auszurichten. Die Produktinkremente werden in einer Abfolge von mehreren Sprints entwickelt, wobei sich das Development Team in Bezug auf die Zusammenarbeit selber organisiert.

Der Scrum Master ist zuständig für die Verbesserung der Zusammenarbeit und Abläufe im Scrum Team. Er führt Scrum Values, Practices und Regeln in der Organisation ein. Zudem publiziert er Guidelines und bietet dem Scrum Team Unterstützung in Scrum spezifische Fragen.

Artifacts

Das prioritäre Ziel von einem Sprint ist es ein lauf-/releasfähiges Produkt zu entwickeln, welches als Product Increment bezeichnet wird.

Der Product Backlog wird durch den Product Owner angelegt, entwickelt, gepflegt und geändert. Es enthält alle Anforderungen des Projekts.

Optimaler Weise gibt der Sprint Backlog dem Scrum Team einen Überblick über abgeschlossene Aufgaben und welche noch zu bearbeiten sind. Somit bildet der Sprint Backlog die Basis für das tägliche Scrum Meeting (Daily Scrum), indem beschlossen wird, welche Sprint Backlog Tasks als nächstes abgearbeitet werden.

Events 

Der Sprint ist die Timebox kleiner 30 Tage und sollte konstant in der Länge bleiben.

Zu Beginn jedes Sprints findet als Kick-Off das Sprint Planning Meeting statt. Es dauert einen Tag (Time-Box 8 Std.) und dient dazu, das Arbeitspaket des Scrum-Teams für den kommenden Sprint (Sprint Backlog) zu schnüren.

Als Sprint Retrospective werden die Lessons learned in Bezug auf die Zusammenarbeit bezeichnet.

Das Sprint Review Meeting. Am Ende jedes Sprints präsentiert das Team dem Product Owner und allen interessierten Stakeholders das Ergebnis seiner Arbeit live am System und sammelt Feedback (Meinungen, Verbesserungsvorschläge, Lob und Kritik). Danach wird definiert, was in den Product Backlog überführt wird.

Im Daily Scrum trifft sich das Development Team täglich, um sich in Bezug auf den Sprint Backlog abzusprechen.

Die Komplexität der Softwareentwicklung anhand des Cynefin Frameworks

Das CynefinFramework ist ein Wissensmanagement-Modell, das verwendet wird, um Probleme, Situationen und Systeme zu beschreiben. Das Modell liefert eine Typologie von Kontexten, die einen Anhaltspunkt bietet, welche Art von Erklärungen und/oder Lösungen zutreffen könnten.

Einfache Probleme = Linearer Zusammenhang zwischen Ursache und Wirkung. Löst sich klassischer Weise mit einer Checkliste, Best Practice. Die Problemlösung ist reproduzierbar.

Komplizierte Probleme = Zusammenhang zwischen Ursache und Wirkung, auch hier ist die Problemlösung reproduzierbar.

Komplexe Probleme = Keinen Zusammenhang von Ursache und Wirkung. Keine reproduzierbare Lösung, weshalb kleine Schritte gemacht werden müssen, um das Ziel zu erreichen, was sich Iteration nennt. Bei komplexen Problemen ist vor allem Kreativität gefragt.

Chaotische Probleme = Sind so dynamisch, dass nicht einmal kleine Schritte strukturiert angegangen werden können. Hier kann man nur reagieren und so ziemlich auf das Beste hoffen.

Case Study – Website “Lieblingstier” reloaded

Gerüstet mit dem Wissen, wie das Scrum Framework aufgebaut ist, ging es nun darum, das Gelernte auch in die Praxis umzusetzen. Dies haben wir mittels einem Sprint für unseren Case Study gemacht. Hier einige Impressionen:

Product Boards

Team “Pinguin”

Team “Ameise”

Alles in allem war der Tag sehr gelungen, da wir die Verbindung von Theorie und Praxis anhand des Scrum Models und der Case Studies erleben konnten. Auch war es ein wirklich interaktiver und lustiger Tag… See you next time @ #HWZDigital #CASMobileBusiness #Scrum #ItsMoreFunAtHWZ 🙂