“Wir machen jetzt Scrum.” Diesen Satz bekommt man häufig zu hören, wenn ein Unternehmen beschließt Scrum für den Entwicklungsprozess von (Software-) Projekten ins Team oder gar ins komplette Unternehmen einzuführen.
Was es damit auf sich hat, welche Änderungen durch Scrum im Unternehmen einher gehen und wie man am besten damit anfängt, ist vielen am Anfang nicht ganz klar.
Vor allem Mitglieder, die unter der typischen Rollenverteilung in Unternehmen gearbeitet haben, sind zu Beginn oft skeptisch bezüglich der durch Scrum neu eingeführten Prozesse und Rollen. Was auch noch dazu kommt, ist die regelmäßige und vor allem intensive Kommunikation aller Projektbeteiligten untereinander. Ohne die klappt Scrum in der Regel nicht. Sie ist ein wichtiger Faktor, weil sie die Basis für mehr Transparenz im Projekt und den einzelnen Vorgängen darstellt. Vor allem dann, wenn mit verteilten Teams (Entwicklungsteams sind auf verschiedene Standorte aufgeteilt) gearbeitet wird.
Was ist Scrum
Scrum ist ein Vorgehensmodell für die Softwareentwicklung und unterscheidet sich grundlegend vom klassischen Wasserfallmodell. Es beruht auf den drei folgenden Prinzipien:
- Transparent: Fortschritte oder auch Hindernisse während der Projektentwicklung lassen sich täglich für alle sichtbar festhalten.
- Überprüfbar: Regelmäßig werden auslieferbare Projektfunktionalitäten erstellt und vom Kunden beurteilt.
- Anpassbar: Nicht ist fest vorgegeben. Jede gelieferte Funktionalität kann neu diskutiert, bewerten und bedarfsmäßig angepasst werden.
Ein zyklischer Ablauf mit fest vorgegebenem Regelwerk, definierten Rollen, Ablaufplänen und Artefakten ist das Herzstück von Scrum. Daneben gibt es noch eine ganze Anzahl an festgelegten Meetings mit definierten Zeitvorgaben (z.B. Sprint Planning Meeting, Daily Scrum, Sprint Review, Sprint Retrospective).
Scrum Rollen
Scrum bedeutet wie schon erwähnt, für viele im Unternehmen Umdenken, vor allem hinsichtlich der bisherigen Rollenverteilung im Team. Generell gibt es bei Scrum nur wenige Rollen und Vorgaben. Damit jedoch kein Chaos entsteht, ist es wichtig, dass diese auch entsprechend eingehalten werden. Die drei Schlüsselrollen in Scrum sind:
- Scrum Master
- Product Owner (PO)
- Team
Scrum Master Er sorgt dafür, dass der Scrum Prozess von jedem verstanden und befolgt wird. Er ist auch dafür zuständig das Team vor möglichen Störfaktoren zu schützen.
Product Owner Er ist dafür verantwortlich, den Wert der Arbeit, welche vom Scrum Team erledigt wird, zu maximieren. Er vertritt die Kundenseite und stellt sicher, dass der Kunde das Produkt bekommt, das er erwartet.
Das Team Das Team ist dafür verantwortlich, dass es die Arbeit ausführt und das vom Kunden gewünschte Produkt produziert.
Meetings
Für Scrum gibt es einige grundlegende Meetings nötig, die dafür Sorge tragen, dass der Prozess entsprechend läuft und die Entwicklung voran schreitet. Dazu gehören:
Sprint Planning Meeting 1 und 2 Diese beiden Meetings stehen am Beginn eines Sprints an. Im ersten Meeting präsentiert der Product Owner dem Team sein Produkt-Backlog mit den erstellten User Stories und klärt mit dem Team, was die Anforderungen sind, beantwortet Fragen, stößt Diskussionen dazu an. Es wird festgelegt, wieviele der User Stories im kommenden Sprint umgesetzt werden können und was die “Definition of Done” darstellt.
Im zweiten Meeting direkt im Anschluss, ist das Team gefragt. Es wird geklärt, wie die einzelnen Stories, für die sich jeder einzelne commited hat, umgesetzt werden. Die Resultate werden in sogenannten Tasks (Aufgaben) aufgeteilt, die jedoch nicht länger als einen Arbeitstag dauern sollten.
Daily Scrum Beginnen die Arbeiten, trifft sich das Team täglich zu einem 15minütigen Daily Scrum. In diesem Meeting informiert jeder die anderen über den Status seiner Arbeit. Mögliche Hindernisse werden erwähnt und vom Scrum Master notiert, Probleme werden jedoch nicht innerhalb des Meetings geklärt. Das folgt dann im Anschluss mit den dazu notwendigen Personen. Der Zeitrahmen sollte auf keinen Fall überschritten werden.
Sprint Review Am Ende eines Sprints findet das Sprint Review statt. Das Entwicklerteam präsentiert dem Kunden seine Resultate. Es wird nun festgestellt, ob die geplanten Ziele erreicht wurden oder nicht, ob das Produkt den Kundenwünschen entspricht, oder ob sich daraus neue Funktionalitäten ergeben etc. In der Regel finden in diesem Meeting rege Diskussionen zum Produkt statt.
Sprint Retrospective In diesem Meeting, welches nur zwischen dem Team, dem Scrum Master und Product Owner statt findet, erhält das Team die Möglichkeit rückblickend seine Eindrücke vom vorherigen Sprint zu äußern. Lob, Kritik und Verbesserungsvorschläge sollen aufzeigen, was gut oder weniger gut gelaufen ist und was man für die kommenden Sprints besser machen kann.
Sprint
Ein Sprint kann zwischen 1 bis 4 Wochen dauern und dient dazu, dass pro Sprint eine fertige Produktfunktionalität geliefert wird. Ziel eines jeden Sprint ist es, dass das Team die User Stories abschließt, für welche es sich zu Beginn des Sprints commited hat.
Artefakte
Produkt Backlog Es wird vom Product Owner gepflegt und stellt eine priorisierte Liste an User Stories dar, welche das zu entwickelnde Projekt beschreiben.
Sprint Backlog Dieses enthält die zu erledigenden Aufgaben, für welche sich das Team während des Sprints commited hat.
Burn Down Chart Je nachdem mit welcher Software man arbeitet besteht dort die Möglichkeit sich einen sogenannten Burn Down Chart anzeigen zu lassen. Dieser visualisiert die Fortschritte des Teams während des Sprints.
Impediment Backlog Dieser wird vom Scrum Master geführt und enthält die während des Sprints identifizierten Hindernisse, die die Arbeit des Teams behindern.
Definition of Done Zum Beginn des Projekts wird von den beteiligten Team-Mitgliedern festgelegt, wann eine Aufgabe als fertig (done) bezeichnet wird. Also welche Kriterien diese zu erfüllen hat, um abgenommen zu werden.
Vorteile von Scrum
- Einführung von Scrum bedeutet mehr Flexibilität bei der Planung von Projekten.
- Scrum liefert überschaubare Arbeitsabschnitte.
- Scrum bietet klare Abläufe.
- Scrum erlaubt es dem Team durch den Einsatz eines Scrum Masters mit Störfaktoren gut umzugehen.
- Mitarbeiterzufriedenheit wird erhöht. Durch die Vorgabe klarer Strukturen, festgelegter Zeiten, transparenter Aufgabenstellungen, gemeinsames Arbeiten (stärkt das Teamgefühl im Sinne von “Einer für alle und alle für einen”), selbst definierte Sprintziele.
- Der Entwickler fühlt sich erstmals geschätzt, weil seine Meinung gefragt ist.
- Durch kleine Aufgabenpakete sind Arbeitsfortschritte für alle ersichtlich, transparent und strukturgebend, denn Risiken und Fehlentwicklungen können systematisch erkannt werden.
- Der Kunde ist fortwährend eingebunden.
- Auf Änderungsanforderungen kann schnell und optimal reagiert werden.
Nachteile von Scrum
- Einführung von Scrum im Unternehmen bedeutet für alle Teilnehmer eine sehr große Umstellung im gesamten Arbeitsablauf.
- Einführung von Scrum im Unternehmen ist mit Stress verbunden. Das Team muss Lust auf Scrum haben, Scrum muss “von oben” vorgelebt werden und der Kunde muss mitspielen.
- Es ist viel mehr regelmäßige und vor allem intensive Kommunikation zwischen den Team-Mitgliedern erforderlich.
- Das Team steht von nun an im Vordergrund und nicht mehr der Einzelne. Teamarbeit ist gefragt.
- Die neue Rollenverteilung (z.B. Product Owner, ScrumMaster) stellt für viele Teammitglieder ein Problem dar. Wer es früher gewohnt war Anweisungen zu geben, muss sich zurück nehmen. Wer Weisungen angenommen und ausgeführt hat umstellen. Das Team muss mehr Eigeninitiative zeigen. Das fällt vielen schwer.
- Es ist nicht möglich Projekte nach Fixpreisen abzuarbeiten. Denn durch die agile Vorgehensweise kann sich jederzeit etwas ändern und der dadurch entstehende Mehraufwand an Zeit und Kosten wird selten von der ausführenden Agentur getragen.
- Ein Erfolg ist nicht garantiert. Es wird lediglich mehr Transparenz und pro Sprint ein lieferbares Produkt erzeugt. Zudem werden Probleme und Hindernisse aufgedeckt und es ist möglich das Projekt Schritt für Schritt weiter zu entwickeln oder bedarfsgemäß anzupassen.
Scrum für jeden?
Prinzipiell ist Scrum sowohl für große als auch kleine Teams geeignet. Wer sich der Vor- und Nachteile deutlich bewusst ist, sich ausreichend über Scrum informiert hat und immer noch vom Erfolg von Scrum überzeugt ist, kann unter dem Einsatz von Scrum sein Projektziel erreichen.
Wann Scrum scheitert
“Wir machen das schon immer so, da muss man Scrum halt entsprechend biegen.” So oder ähnlich sind viele Führungspersonen im Unternehmen eingestellt, wenn es heißt, dass ab sofort agil gearbeitet wird und Scrum zum Einsatz kommt. Scrum scheitert vor allem dann, wenn zu wenig Scrum Wissen im Unternehmen vorherrscht. Wer die Prinzipien von Scrum kennt und weiß, warum diese eingehalten werden sollen, wird nicht versuchen an Scrum etwas zu biegen. Der wird eher versuchen den Scrum-Spirit im Unternehmen fließen zu lassen und dafür zu sorgen alle Mitarbeiter für Scrum zu begeistern.
Wenn man sich für Scrum entschließt, dann, weil vorher etwas “nicht gepasst hat” oder “nicht optimal war”. Ansonsten hätte man weiter bei den bisherigen Prozessen bleiben können, da braucht man sich nicht mit den ganzen Vor- und Nachteilen von Scrum auseinandersetzen. Denn Scrum funktioniert nur richtig, wenn sich jeder bemüht mitzumachen und an die Prinzipien hält. Tut man das nicht, wird man mit Scrum früher oder später scheitern. Das liegt dann aber weniger an Scrum selbst, sondern am nicht ausreichend vorhandenen oder falsch interpretierten Scrumwissen im Unternehmen. Typische Gedankengänge bei Personen, denen Scrum fremd ist sind beispielsweise folgende:
- ich habe Bedenken, dass man plötzlich erkennt, wie wenig ich vorher geleistet habe.
- ich will nicht die Verantwortung für meine falsche Entscheidung übernehmen. Es ist sicherer, wenn mir jemand sagt, was ich zu machen habe.
- jetzt muss ich mehr arbeiten als vorher, na toll.
- ich will lieber die Aufgaben machen, die mir Spaß bereiten.
- mir ist es lieber, wenn die Leute machen, was ich sage und nicht selbst entscheiden.
- u.v.m.
In jedem Unternehmen, welches Scrum zum ersten Mal einsetzt, wird es zu Widerständen kommen. Ob die Einführung erfolgreich ist oder nicht, hängt davon ab, wie den Widerständen entgegen gesetzt wird, wie lange man Scrum eine Chance gibt und wer sich für Scrum aktiv einsetzt. Viele geben bereits nach wenigen Wochen auf, oder klären ihr Team nicht ausreichend und vor allem wiederkehrend auf. Auch ist der Zeitfaktor oft ein ausschlaggebendes Hindernis beim Erfolg von Scrum. Wer meint, von heute auf morgen damit starten zu können, weil ein neues Projekt ansteht, dass nun agil entwickelt werden soll, geht definitiv mit einer falschen Vorstellung an die Sache heran.
Mit Scrum starten
Wer sich entschließt mit Scrum zu starten, weiß oft erst einmal gar nicht wie. Dabei geht man in einzelnen kleinen Schritten vor:
- Man holt sich einen externen Scrum Trainer, der Scrum im Unternehmen einführt. Vorher klärt man mit ihm die firmeninternen Bedingungen und Zielvorstellungen.
- Man legt fest, wer ins Scrum Team kommt und mit welcher Rolle, dann wird das Team über die Grundlagen von Scrum geschult. Idealerweise absolviert es eine Ausbildung als Certified Scrum Master und / oder auch Certified Product Owner. Solche Schulungen dauern in der Regel wenige Tage. Nehmen nicht alle Team-Mitglieder an der Schulung teil, ist es wichtig, dass für diese im Unternehmen eine intensive Scrum-Schulung durch den Scrum Master durchgeführt wird. Denn jeder soll den Prozess und die Hintergründe verstehen. Nur durch das Aufbauen von Scrum-Wissen ist der Erfolg von Scrum gewährleistbar.
- Mit dem frisch erlernten Scrum-Wissen überlegt das Team nochmal gemeinsam, wie Scrum für sie gut nutzbar wird.
- Das Team erhält eine Schulung im Umgang mit den notwendigen Tools, die firmenintern für Scrum eingesetzt werden sollen.
- Jetzt wird der erste Sprint vorbereitet mit den notwendigen Tools gearbeitet und die ersten Meetings und Räumlichkeiten dazu festgelegt.
- Im letzten Schritt wird endlich mit Scrum gestartet.
Scrum in großen Konzernen
Scrum wird von vielen Unternehmen eingesetzt. Folgende Großkonzerne setzen ebenfalls auf Scrum: z. B. Microsoft, Google, Philips und Nokia. Auch Yahoo!
Dass Scrum in solch bedeutenden Unternehmen eingesetzt wird, spricht durchaus für dieses Vorgehensmodell. Eine Erfolgsgarantie ist das jedoch nicht. Je größer ein Projekt ist, desto strukturierter muss das Vorgehen sein, um es zum Erfolg zu führen. Wer Scrum einführt, sollte sich über alle Vor- und Nachteile im Klaren sein. Auch darüber, dass eine schnelle Einführung niemals möglich und gut gehen wird. Sätze wie “Wir machen jetzt Scrum”, sind schnell gesagt aber nicht so einfach umgesetzt. Ein Team, dass noch nie mit Scrum gearbeitet hat, wird diesem Prozess erst einmal skeptisch gegenüber stehen und im schlimmsten Fall die Einführung sabotieren, wo es nur geht. Es ist wichtig, dass Scrum-Wissen von erfahrenen Personen aufgebaut und ständig weiter gegeben wird. Nicht nur einmal, sondern immer wieder. Denn das Verständnis für Scrum muss nicht nur da sein, sondern auch wirklich gelebt werden, damit es auch zielführend ist.
Auf unserer Themenseite gibt es weitere Informationen zur Agilen Produktentwicklung.