Als Entwickler hat man von Scrum sicher schon mal gehört, für Einsteiger aber ist es eher ein unbekanntes Buzzword. Dahinter steckt eine agile Methode der Software-Entwicklung, wird aber immer häufiger auch außerhalb der Software-Branche eingeführt.

Vom „Gedränge“ zum Projektmanagement: Scrum

Scrum (Englisch für Gedränge) ist ein sogenannter agiler Prozess in der Software-Entwicklung. Weitere Beispiele hierfür sind zum Beispiel „Extreme-Programming“ (XP) oder auch „Feature-Driven-Development“. Gedränge deswegen, weil sich das gesamte Team täglich trifft, um sich gegenseitig abzustimmen und zu informieren – ähnlich wie beim Rugby, aber nicht so intensiv.

Scrum steht im eigentlichen Sinne für:

  • Software
  • Capability
  • Rational
  • Unified
  • Model

 

Schnelleinstieg: Scrum kurz und knackig erklärt

Scrum kennt unterschiedliche Rollen, neben denen noch Beobachter, Spezialisten und „Stakeholders“ existieren. Die drei wichtigsten Rollen sind Product-Owner, Scrum-Master und das Team selbst.

Der Product-Owner stellt den Auftraggeber dar, der fachliche Anforderungen vorgibt, die dann priorisiert werden.

Der Scrum-Master koordiniert das Team und ist für das Prozessmanagement zuständig, indem er dem Team den Rücken freihält und etwaige Hindernisse abklärt und aus dem Weg räumt.

Und das Team ist eine heterogene Gruppe ohne starre hierachische Strukturen. Jeder Entwickler ist auf ein anderes Gebiet spezialisiert (zum Beispiel Datenbankentwicklung oder User-Interface-Design), aber dennoch interdisziplinär ausgebildet und kann somit auch die Aufgaben von anderen Team-Mitgliedern übernehmen.

Die Scrumlisten

Um ein Projekt starten zu können müssen zuerst die Anforderungen an das Produkt in einer großen User-Story dem Epic definiert werden. Diese „Requirements“ werden prioisiert und anschliessend in einer Liste, dem sogenannten „Product-Backlog“, festgehalten. Dieses Product-Backlog ist aber keinesfalls starr – im Gegenteil: Diese Liste verändert sich ständig. Der „Product-Owner“ kann und muss Arbeitspakete neu priorisieren und laufende Anforderungen gemäß den Wünschen des Kunden anpassen. Diese Items in den Product Backlogs werden User Stories genannt.

Damit ein produktives Arbeiten möglich ist, wird in Kooperation mit dem Product-Owner ein definiertes Arbeitspaket ausgewählt und in ein fertiges und auslieferbares Teilprodukt – das „Increment-of-Potentially-Shippable-Functionality“ – inklusive Dokumentation und Tests umgesetzt. Anders gesagt: Das Increment wird innerhalb der laufenden Iteration, also einem „Sprint„, gemäß der vorherigen Definition fertiggestellt. Eine zusätzliche Modifikation durch geänderte oder zusätzliche Anforderungen ist innerhalb der Sprint-Phase nicht erlaubt.

Wie auch in anderen Methoden üblich, wird ein einzelnes Arbeitspaket in kleinere „Tasks“ heruntergebrochen. Diese Tasks werden auf dem Sprint-Backlog festgehalten und täglich aktualisiert. Das führt uns zu den Meetings. Um also den Überblick zu bewahren, wann und wie welches Increment umgesetzt wird, werden 15-minütige „Daily-Scrum-Meetings“ abgehalten, damit sich die Entwickler über potentielle Probleme und den derzeitigen Entwicklungsstand beraten und austauschen können.

 

Nach jedem Sprint werden dem Product-Owner (und den Stakeholdern) die Ergebnisse präsentiert. Während dieser „Sprint-Reviews“ wird live am System vorgeführt – Präsentationen im klassischen Sinne sind unerwünscht. Das Feedback dieser Sprint-Reviews fließt dann wieder in das „Planning-Meeting“ des nächsten Sprints ein und so schließt sich der Kreis. Die nächste Iteration steht somit schon in den Startlöchern.

Scrum ermöglicht eine agile Methode, um Projekte umzusetzen – in engem Kontakt den Kunden. Dabei ist Scrum leicht zu erlernen und schnell einsetzbar. Zusätzlich wird durch die verschiedenen Rollen eine gut strukturierte, aber dennoch flexible Arbeitsweise ermöglicht.

 

 

Mit Scrum zum agilen Projektmanagement

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert