Was ist eigentlich Scrum?
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. Beginnen wollen wir aber am Anfang.
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.
Um ein Projekt starten zu können müssen zuerst die Anforderungen an das Produkt 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.
Du möchtest Scrum besser kennenlernen und verstehen? Unsere Videokurse zeigen dir, wie es geht!
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 euch eine agile Methode, um eure IT-Projekte umzusetzen – in engem Kontakt zu euren 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.
Verwendet ihr Scrum oder eine abgewandelte Variante davon? Welche Erfahrungen habt ihr damit gemacht?
“ 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.“
Und was ist mit anderen am Prozess beteiligten personen, wie z.B. Desinger/Web-Designer, Tester? Sind die nicht im Team. Interdisziplinär können die ja nicht ausgebildet sein.
Der Artikel kratzt leider nur sehr leicht an der Oberfläche. Ebenso ist zum Beispiel der Punkt “ Jeder Entwickler ist auf ein anderes Gebiet spezialisiert“ falsch bzw. nicht von Scrum vorgegeben.
Ich (bzw. mein Hund Kian) blogge zum Thema Scrum und agile Prozesse im allgemeinen. Wer sich dafür interessiert, kann gerne auf Facebook oder meiner Webseite vorbeischauen.
Gruß
Daniel
Joern, in Scrum sind alle im Team, bei Webentwicklung auch die Designer, und das Team trägt auch gemeinsam die Verantwortung der Umsetzung (und nicht allein ein Projektmanager und auch nicht der Scrummaster oder Productowner). Das Wort Scrum beschreibt das gut, heißt ja „Gedränge“. Idealerweise ist jedes Mitglied des Teams zumindest T-shaped, also tiefes Wissen in einem Bereich und breites Wissen in den anderen Bereichen.
Scrum gibt dem ganzen ein Gerüst, quasi den Prozess. Die Daily Scrum Meetings sind Standup Meetings (ohne Kekse ;-) und da wird sich nicht beraten, sondern nur Statusberichte abgegeben.
Wir haben ein Buch dazu geschrieben, wie man das auf Publishingprozesse (für Apps, Web und sogar Print) anwenden kann, das Buch heißt „Agiles Publishing“ und beschreibt das im Detail. Gerne weitere Details, einfach fragen.
Scrum wird immer mehr wachsen.. eigentlich ist es ja schon lange da, aber die Werbung entdeckt es eben erst jetzt.
Ich durfte gerade in einem Scrum-Prozess arbeiten und bin echt begeistert… habe das auch in meinem Blog zusammengefasst: http://rebeccanoeh.com/2013/10/28/mein-erstes-scrum-projekt-und-jetzt/
Liebe Grüße
Rebecca
Hallo, Danke für eure Kommentare!
Der Artikel ist für absolute Einsteiger gedacht. Deswegen auch „Was ist eigentlich Scrum“ genauso wie der Rest der Serie.
@Daniel Thulfaut
Meine Aussage bezieht sich auf „Scrum – Agiles Projektmanagement erfolgreich einsetzen“ von Roman Pichler.
Scrum selbst versucht die Komplexität durch 4 Prinzipien zu managen. Von daher verstehe ich deine Aussage nicht.
@Mario, agile Prozesse gehen von verschiedenen Prämissen aus, eine ist „dass man nie fertig ist“ und eben in Iterationen oder Versionen denken soll und eine andere, dass Änderungen oder unvorhergesehene Ereignisse immer stattfinden. Das lehrt uns alle ja auch die Erfahrung.
Scrum gibt dem ganzen einen Rahmen, so dass man nicht im Chaos endet, sondern strukturiert diese Iterationen und ständigen Veränderungen in Prozessen abbildet.
Alles andere sind natürlich Vorteile und helfen, Scrum zu leben, sind aber nicht vorgegeben. So erwerben durch die enge Zusammenarbeit i.d.R. die Teammitglieder im Laufe der Zeit breiteres Wissen.
Der Vorteil von agilen Denkweisen ist die Möglichkeit, schneller auf Kundenwünsche, Marktänderungen oder technische Schwierigkeiten zu reagieren. Edenspiekermann ist ein gutes Beispiel für eine Agentur, auf deren Webseite findet sich auch ein guter Beitrag dazu.
Als ich den Artikel gelesen habe ist mir eingefallen worüber ich kürzlich mal gestolpert bin: http://www.iapm.net bietet eine Online-Zertifizierung zum Agile Project Manager an. Über Sinn und Unsinn lässt sich streiten, aber interessant ist der kostenlose „Agile Guide“, der einen recht guten Überblick zum Thema gibt: https://www.iapm.net/de/zertifizierung/zertifizierungsgrundlagen/agile-pm-guide-2-0/
Auch wenn das englische „scrum“ im deutschen „Gedränge“ heißt, steht SCRUM jedoch für
Software
Capability
Rational
Unified
Model
Ihr habt das ja mal so richtig recherchiert….merkt Ihr selbst, ne?