„Scrum“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Änderungen von 193.47.77.5 (Diskussion) auf die letzte Version von Sedrubal zurückgesetzt
Studie zu Adaptionen/Variationen von Scrum in der Praxis hinzugefügt und Verweis auf Scrum Guide vereinheitlicht
Zeile 18: Zeile 18:


== Geschichte und Grundlegendes ==
== Geschichte und Grundlegendes ==
Die Anfänge von Scrum lassen sich auf [[Ikujirō Nonaka]] und H. Takeuchi<ref>„The New New Product Development Game“. Cb.hbsp.harvard.edu, 1. Januar 1986.</ref><ref>Nonaka I, Takeuchi H.: ''The Knowledge-Creating Company.'' Oxford University Press, 1995.</ref><ref>Peter DeGrace, Leslie Hulet Stahl: ''Wicked Problems, Righteous Solutions: A Catolog of Modern Engineering Paradigms'', 1998.</ref> zurückverfolgen. Damals schuf Jeff Sutherland<ref>{{Internetquelle |url=http://scrum.jeffsutherland.com/|titel=Jeff Sutherland |zugriff=2011-10-21}}</ref> in einem Projekt für die Guinness Peat Aviation eine neue Rolle für die Projektleiter. Diese wurden zu Teammitgliedern, und ihre Rolle war eher die eines Moderators als die eines Managers. [[Ken Schwaber]] veröffentlichte auf der [[OOPSLA]] 1995 den ersten Konferenzbeitrag über Scrum. Darin schrieb Schwaber: {{"|Scrum akzeptiert, dass der Entwicklungsprozess nicht vorherzusehen ist. Das Produkt ist die bestmögliche Software unter Berücksichtigung der Kosten, der Funktionalität, der Zeit und der Qualität.}}<ref>Boris Gloger: ''Scrum. Produkte zuverlässig und schnell entwickeln.'' 3. Auflage, Hanser Verlag, München 2011, S.&nbsp;19.</ref> Der Begriff ''Scrum'' stammt aber von Ikujirō Nonaka und H. Takeuchi, die damit das [[Gedränge (Rugby)|Gedränge]] im [[Rugby]] ({{enS}} Scrum) als Analogie für außergewöhnlich erfolgreiche Produktentwicklungsteams beschrieben. Diese Teams arbeiten als kleine, selbst-organisierte Einheiten und bekommen von außen nur eine Richtung vorgegeben, bestimmen aber selbst die Taktik, wie sie ihr gemeinsames Ziel erreichen.<ref>[http://www.scrumguides.org/history.html The History of Scrum]</ref>
Die Anfänge von Scrum lassen sich auf [[Ikujirō Nonaka]] und H. Takeuchi<ref>„The New New Product Development Game“. Cb.hbsp.harvard.edu, 1. Januar 1986.</ref><ref>Nonaka I, Takeuchi H.: ''The Knowledge-Creating Company.'' Oxford University Press, 1995.</ref><ref>Peter DeGrace, Leslie Hulet Stahl: ''Wicked Problems, Righteous Solutions: A Catolog of Modern Engineering Paradigms'', 1998.</ref> zurückverfolgen. Damals schuf Jeff Sutherland<ref>{{Internetquelle |url=http://scrum.jeffsutherland.com/|titel=Jeff Sutherland |zugriff=2011-10-21}}</ref> in einem Projekt für die Guinness Peat Aviation eine neue Rolle für die Projektleiter. Diese wurden zu Teammitgliedern, und ihre Rolle war eher die eines Moderators als die eines Managers. [[Ken Schwaber]] veröffentlichte auf der [[OOPSLA]] 1995 den ersten Konferenzbeitrag über Scrum. Darin schrieb Schwaber: {{"|Scrum akzeptiert, dass der Entwicklungsprozess nicht vorherzusehen ist. Das Produkt ist die bestmögliche Software unter Berücksichtigung der Kosten, der Funktionalität, der Zeit und der Qualität.}}<ref>Boris Gloger: ''Scrum. Produkte zuverlässig und schnell entwickeln.'' 3. Auflage, Hanser Verlag, München 2011, S.&nbsp;19.</ref> Der Begriff ''Scrum'' stammt aber von Ikujirō Nonaka und H. Takeuchi, die damit das [[Gedränge (Rugby)|Gedränge]] im [[Rugby]] ({{enS}} Scrum) als Analogie für außergewöhnlich erfolgreiche Produktentwicklungsteams beschrieben. Diese Teams arbeiten als kleine, selbst-organisierte Einheiten und bekommen von außen nur eine Richtung vorgegeben, bestimmen aber selbst die Taktik, wie sie ihr gemeinsames Ziel erreichen.<ref name="scrumguide">[http://www.scrumguides.org/history.html The History of Scrum]</ref>


2001 veröffentlichten Ken Schwaber und Mike Beedle mit ''{{lang|en|Agile Software Development with Scrum}}'' das erste Buch über Scrum. 2003 folgte Schwabers ''{{lang|en|Agile Project Management with Scrum}}''.<ref>{{Internetquelle |url=http://www.scrumalliance.org/profiles/3278-mike-beedle |titel=Mike Beedle |zugriff=2011-10-21}}</ref> 2003 war auch das Jahr, in dem die ersten zertifizierten Scrum Master von Schwaber ausgebildet wurden. 2007 erschien schließlich Ken Schwabers drittes Buch, „{{lang|en|The Enterprise and Scrum}}“. Darin geht es nicht mehr bloß um die Einführung von Scrum in Software-Entwicklungsteams, sondern um die Ausweitung auf das gesamte Unternehmen.<ref>Ken Schwaber: ''Scrum im Unternehmen.'' Microsoft Press Deutschland 2008, S. XI-XII.</ref>
2001 veröffentlichten Ken Schwaber und Mike Beedle mit ''{{lang|en|Agile Software Development with Scrum}}'' das erste Buch über Scrum. 2003 folgte Schwabers ''{{lang|en|Agile Project Management with Scrum}}''.<ref>{{Internetquelle |url=http://www.scrumalliance.org/profiles/3278-mike-beedle |titel=Mike Beedle |zugriff=2011-10-21}}</ref> 2003 war auch das Jahr, in dem die ersten zertifizierten Scrum Master von Schwaber ausgebildet wurden. 2007 erschien schließlich Ken Schwabers drittes Buch, „{{lang|en|The Enterprise and Scrum}}“. Darin geht es nicht mehr bloß um die Einführung von Scrum in Software-Entwicklungsteams, sondern um die Ausweitung auf das gesamte Unternehmen.<ref>Ken Schwaber: ''Scrum im Unternehmen.'' Microsoft Press Deutschland 2008, S. XI-XII.</ref>
Zeile 153: Zeile 153:
Das Product Backlog ist eine geordnete Auflistung der Anforderungen an das Produkt. Das Product Backlog ist dynamisch und wird ständig weiterentwickelt. Alle Arbeit, die das Entwicklungsteam erledigt, muss seinen Ursprung im Product Backlog haben. Der Product Owner ist für die Pflege des Product Backlogs verantwortlich. Er verantwortet die Reihenfolge bzw. Priorisierung der Einträge.<ref>Ken Schwaber and Jeff Sutherland: [https://www.scrum.org/Scrum-Guide ''The Scrum Guide''], S. 12–13.</ref><ref>Scrum Alliance: [http://agileatlas.org/images/uploads/corescrum.pdf ''Agile Atlas''], V 2012.12.13, S. 6.</ref>
Das Product Backlog ist eine geordnete Auflistung der Anforderungen an das Produkt. Das Product Backlog ist dynamisch und wird ständig weiterentwickelt. Alle Arbeit, die das Entwicklungsteam erledigt, muss seinen Ursprung im Product Backlog haben. Der Product Owner ist für die Pflege des Product Backlogs verantwortlich. Er verantwortet die Reihenfolge bzw. Priorisierung der Einträge.<ref>Ken Schwaber and Jeff Sutherland: [https://www.scrum.org/Scrum-Guide ''The Scrum Guide''], S. 12–13.</ref><ref>Scrum Alliance: [http://agileatlas.org/images/uploads/corescrum.pdf ''Agile Atlas''], V 2012.12.13, S. 6.</ref>


Das Product Backlog ist nicht vollständig und erhebt auch nicht diesen Anspruch. Zu Beginn eines Projektes enthält es die bekannten und am besten verstandenen Anforderungen. Die Priorisierung der Eintragungen erfolgt unter Gesichtspunkten wie wirtschaftlicher Nutzen, Risiko und Notwendigkeit. Eintragungen mit der höchsten Priorität werden als erste im Sprint umgesetzt.<ref>Jeff Sutherland, Ken Schwaber: [http://www.scrum.org/storage/scrumguides/Scrum%20Guide%20-%202011.pdf ''The Scrum Guide''], S. 12–13.</ref>
Das Product Backlog ist nicht vollständig und erhebt auch nicht diesen Anspruch. Zu Beginn eines Projektes enthält es die bekannten und am besten verstandenen Anforderungen. Die Priorisierung der Eintragungen erfolgt unter Gesichtspunkten wie wirtschaftlicher Nutzen, Risiko und Notwendigkeit. Eintragungen mit der höchsten Priorität werden als erste im Sprint umgesetzt.<ref name="scrumguide" />


Die Anforderungen im Product Backlog sollten nicht technisch, sondern fachlich und anwenderorientiert sein. Eine Möglichkeit, um diese Sichtweise zu unterstützen, ist die Formulierung der Produkteigenschaften als [[#User Story|User Stories]].
Die Anforderungen im Product Backlog sollten nicht technisch, sondern fachlich und anwenderorientiert sein. Eine Möglichkeit, um diese Sichtweise zu unterstützen, ist die Formulierung der Produkteigenschaften als [[#User Story|User Stories]].
Zeile 243: Zeile 243:


Beim Release Burndown wird auf der x-Achse der Zeitverlauf in Sprints und auf der y-Achse die Anzahl der noch zu erledigenden Product-Backlog-Einträge aufgetragen, beispielsweise in Story Points. Ändert sich der Umfang des Product Backlog, so wird dies unterhalb der x-Achse eingetragen. Bei jedem Sprint aktualisiert der Product Owner das Release Burndown. Mit Hilfe des Release Burndown kann der Product Owner Umfang und Liefertermin des aktuellen Releases bestimmen.<ref>Malte Foegen: ''Der Ultimative Scrum Guide 2.0'', wibas, Darmstadt 2014, S. 148–151.</ref>
Beim Release Burndown wird auf der x-Achse der Zeitverlauf in Sprints und auf der y-Achse die Anzahl der noch zu erledigenden Product-Backlog-Einträge aufgetragen, beispielsweise in Story Points. Ändert sich der Umfang des Product Backlog, so wird dies unterhalb der x-Achse eingetragen. Bei jedem Sprint aktualisiert der Product Owner das Release Burndown. Mit Hilfe des Release Burndown kann der Product Owner Umfang und Liefertermin des aktuellen Releases bestimmen.<ref>Malte Foegen: ''Der Ultimative Scrum Guide 2.0'', wibas, Darmstadt 2014, S. 148–151.</ref>

==Adaptionen von Scrum==
Obwohl der Scrum Guide<ref name="scrumguide" /> die essentiellen Elemente von Scrum vorschreibt, scheinen viele Unternehmen signifikant davon abzuweichen.<ref>{{Cite book|title = What Do Practitioners Vary in Using Scrum?|url = http://elib.uni-stuttgart.de/opus/volltexte/2015/9914/pdf/scrum_variations.pdf|publisher = Springer International Publishing|date = 2015|isbn = 978-3-319-18611-5|pages = 40-51|series = Lecture Notes in Business Information Processing|doi = 10.1007/978-3-319-18612-2_4|language = en|first = Philipp|last = Diebold|first2 = Jan-Peter|last2 = Ostberg|first3 = Stefan|last3 = Wagner|first4 = Ulrich|last4 = Zendler|editor-first = Casper|editor-last = Lassenius|editor-first2 = Torgeir|editor-last2 = Dingsøyr|editor-first3 = Maria|editor-last3 = Paasivaara}}</ref> Die wenigste Variation findet sich in den Sprints und der Sprint-Länge, den Treffen, der Teamgröße und im Requirements Engineering. Die Unternehmen variieren am meisten in den Roten, der Aufwandsschätzung und der Qualitätssicherung.


== Grenzen und Nachteile von Scrum ==
== Grenzen und Nachteile von Scrum ==

Version vom 2. Dezember 2015, 21:59 Uhr

Scrum ist ein Vorgehensmodell des Projekt- und Produktmanagements.

Einleitung

Scrum wurde ursprünglich in der Softwaretechnik entwickelt, ist aber davon unabhängig. Scrum wird inzwischen in vielen anderen Domänen eingesetzt.[1] Scrum ist eine Umsetzung von Lean Development für das Projektmanagement.[2][3]

Scrum wird als Vorgehensrahmen oder -gerüst (Framework) und bewusst nicht als Vorgehensmodell bezeichnet, da es nur aus wenigen Regeln besteht. Diese Regeln definieren fünf Aktivitäten, drei Artefakte und drei Rollen, die den Kern von Scrum ausmachen. Die Regeln sind im Agile Atlas[4] oder Scrum Guide[5] definiert. Das Scrum-Framework muss durch Techniken für die Umsetzung der Aktivitäten, Artefakte und Rollen konkretisiert werden, um Scrum tatsächlich umsetzen zu können. Der Kern von Scrum wurde von den Umsetzungstechniken getrennt, um einerseits die zentralen Elemente und Wirkungsmechanismen klar zu definieren, andererseits große Freiheiten bei der individuellen Ausgestaltung zu lassen.

Der Ansatz von Scrum ist empirisch, inkrementell und iterativ. Er beruht auf der Erfahrung, dass viele Entwicklungsprojekte zu komplex sind, um in einen vollumfänglichen Plan gefasst werden zu können. Ein wesentlicher Teil der Anforderungen und der Lösungsansätze ist zu Beginn unklar. Diese Unklarheit lässt sich beseitigen, indem Zwischenergebnisse geschaffen werden. Anhand dieser Zwischenergebnisse lassen sich die fehlenden Anforderungen und Lösungstechniken effizienter finden als durch eine abstrakte Klärungsphase. In Scrum wird neben dem Produkt auch die Planung iterativ und inkrementell entwickelt. Der langfristige Plan (das Product Backlog) wird kontinuierlich verfeinert und verbessert. Der Detailplan (das Sprint Backlog) wird nur für den jeweils nächsten Zyklus (den Sprint) erstellt. Damit wird die Projektplanung auf das Wesentliche fokussiert.[6]

Die empirische Verbesserung fußt auf drei Säulen:[7]

  1. Transparenz: Fortschritt und Hindernisse eines Projektes werden regelmäßig und für alle sichtbar festgehalten.
  2. Überprüfung: In regelmäßigen Abständen werden Produktfunktionalitäten geliefert und sowohl das Produkt als auch das Vorgehen beurteilt.
  3. Anpassung: Anforderungen an das Produkt, Pläne und Vorgehen werden nicht ein für alle Mal festgelegt, sondern kontinuierlich detailliert und angepasst. Scrum reduziert die Komplexität der Aufgabe nicht, strukturiert sie aber in kleinere und weniger komplexe Bestandteile, die Inkremente.

Ziel ist die schnelle und kostengünstige Entwicklung hochwertiger Produkte entsprechend einer formulierten Vision. Die Umsetzung der Vision in das fertige Produkt erfolgt nicht durch die Aufstellung möglichst detaillierter Lasten- und Pflichtenhefte. In Scrum werden die Anforderungen in Form von Eigenschaften aus der Anwendersicht formuliert. Die Liste dieser Anforderungen ist das Product Backlog. Diese Anforderungen werden Stück für Stück in zwei bis vier Wochen langen Intervallen, sogenannten Sprints umgesetzt. Am Ende eines Sprints steht bei Scrum die Lieferung eines fertigen Teilprodukts (das Product Increment). Das Produktinkrement sollte in einem Zustand sein, dass es an den Kunden ausgeliefert werden kann (potentially shippable product). Im Anschluss an den Zyklus werden Produkt, Anforderungen und Vorgehen überprüft und im nächsten Sprint weiterentwickelt.[8]

Scrum ist für Teams mit einer Größe von drei bis neun Personen konzipiert.[9] Größere Entwicklungsprojekte oder größere Entwicklungsabteilungen benötigen ein weitergehendes Framework, das die Koordination mehrerer Teams organisiert. Wenn diese Koordination den gleichen Prinzipien wie Scrum folgt, dann spricht man von Scaled Agile Frameworks.[10][11]

Geschichte und Grundlegendes

Die Anfänge von Scrum lassen sich auf Ikujirō Nonaka und H. Takeuchi[12][13][14] zurückverfolgen. Damals schuf Jeff Sutherland[15] in einem Projekt für die Guinness Peat Aviation eine neue Rolle für die Projektleiter. Diese wurden zu Teammitgliedern, und ihre Rolle war eher die eines Moderators als die eines Managers. Ken Schwaber veröffentlichte auf der OOPSLA 1995 den ersten Konferenzbeitrag über Scrum. Darin schrieb Schwaber: „Scrum akzeptiert, dass der Entwicklungsprozess nicht vorherzusehen ist. Das Produkt ist die bestmögliche Software unter Berücksichtigung der Kosten, der Funktionalität, der Zeit und der Qualität.“[16] Der Begriff Scrum stammt aber von Ikujirō Nonaka und H. Takeuchi, die damit das Gedränge im Rugby (englisch Scrum) als Analogie für außergewöhnlich erfolgreiche Produktentwicklungsteams beschrieben. Diese Teams arbeiten als kleine, selbst-organisierte Einheiten und bekommen von außen nur eine Richtung vorgegeben, bestimmen aber selbst die Taktik, wie sie ihr gemeinsames Ziel erreichen.[17]

2001 veröffentlichten Ken Schwaber und Mike Beedle mit Agile Software Development with Scrum das erste Buch über Scrum. 2003 folgte Schwabers Agile Project Management with Scrum.[18] 2003 war auch das Jahr, in dem die ersten zertifizierten Scrum Master von Schwaber ausgebildet wurden. 2007 erschien schließlich Ken Schwabers drittes Buch, „The Enterprise and Scrum“. Darin geht es nicht mehr bloß um die Einführung von Scrum in Software-Entwicklungsteams, sondern um die Ausweitung auf das gesamte Unternehmen.[19]

Parallelen zu Scrum finden sich in der schlanken Produktion (engl. lean production), die ihren Ursprung in japanischen Unternehmen hat. Sie strebt eine bessere Wertschöpfung durch verstärkte Zusammenarbeit an. Nonaka und Takeuchi führen den Erfolg solcher Unternehmen auf ein gelungenes Wissensmanagement zurück. Im westlichen Verständnis sei die Ressource Wissen auf Worte und Zahlen begrenzt. Wissen kann nach diesem Verständnis erworben oder antrainiert werden. Japanische Firmen hingegen sehen in dieser Art von Wissen nur die Spitze eines Eisbergs. Für sie ist Wissen in erster Linie implizit („tacit“). Dieses implizite Wissen ist subjektiv und intuitiv, es enthält unser Bild der Realität und unsere Vision für die Zukunft. Während explizites Wissen sich leicht darstellen und verarbeiten lässt, ist dies bei implizitem Wissen deutlich schwerer. Unternehmen wie Toyota oder Canon profitieren vom impliziten Wissen ihrer Mitarbeiter, indem sie hohen Wert auf die Interaktion zwischen ihren Mitarbeitern legen.[20]

Scrum lässt sich in diesem Zusammenhang als Gegenentwurf zur Befehls-und-Kontroll-Organisation verstehen, in der Mitarbeiter möglichst genaue Arbeitsanweisungen erhalten. Stattdessen baut Scrum auf hochqualifizierte, interdisziplinär besetzte Entwicklungsteams, die zwar eine klare Zielvorgabe bekommen, für die Umsetzung jedoch allein zuständig sind. Dadurch bekommen die Entwicklungsteams den nötigen Freiraum, um ihr Wissens- und Kreativitätspotenzial in Eigenregie zur Entfaltung zu bringen.[21]

Scrum verkörpert die Werte der agilen Software-Entwicklung, die 2001 im agilen Manifest von Ken Schwaber, Jeff Sutherland und anderen formuliert wurden:[22]

  1. Menschen und Interaktionen sind wichtiger als Prozesse und Werkzeuge.
  2. Funktionierende Software ist wichtiger als umfassende Dokumentation.
  3. Zusammenarbeit mit dem Kunden ist wichtiger als die ursprünglich formulierten Leistungsbeschreibungen.
  4. Eingehen auf Veränderungen ist wichtiger als Festhalten an einem Plan.

Rollen innerhalb von Scrum

Das Scrum Framework kennt drei Rollen: Product Owner, Entwicklungsteam und Scrum Master. Die Gesamtheit dieser Rollen wird als Scrum Team bezeichnet. Ein Scrum Team tritt mit den Beteiligten in Kontakt, den sogenannten Stakeholdern. Fortschritt und Zwischenergebnisse sind für alle Stakeholder transparent. Stakeholder dürfen bei den meisten Aktivitäten zuhören.[23][24]

Verschiedene Autoren haben argumentiert, dass weitere Rollen einbezogen werden sollten, wenn man Scrum als Management-Framework verstehen will.[25] Da sich Scrum jedoch auf das Team fokussiert und kein Management-Framework ist, sind diese Rollen nicht in das Scrum Framework aufgenommen worden. Die drei Rollen haben sich als ausreichend für die Organisation eines Teams erwiesen. Für die Organisation größerer Einheiten und mehrerer Teams gibt es spezielle Frameworks wie das Scaled Agile Framework[26] oder Large Scale Scrum[27]. Diese Frameworks definieren weitere Rollen, die in großen agilen Entwicklungsorganisationen benötigt werden.

Product Owner

Der Product Owner ist für die Eigenschaften und den wirtschaftlichen Erfolg des Produkts verantwortlich. Er gestaltet das Produkt mit dem Ziel, den wirtschaftlichen Nutzen für das eigene Unternehmen zu maximieren. Er erstellt, priorisiert und erläutert die zu entwickelnden Produkteigenschaften, und er urteilt darüber, welche Eigenschaften am Ende eines Sprints fertiggestellt wurden. Er ist eine Person, kein Komitee. Ihm allein obliegt die Entscheidung über das Produkt, seine Eigenschaften und die Reihenfolge der Implementierung. So balanciert er Eigenschaften, Auslieferungszeitpunkte und Kosten.[28][29]

Zur Festlegung der Produkteigenschaften verwendet der Product Owner das Product Backlog. Darin trägt er in Zusammenarbeit mit dem Entwicklungsteam und den Stakeholdern die Anforderungen an das Produkt ein. Der Product Owner ordnet, detailliert und aktualisiert das Product Backlog regelmäßig im Product Backlog Refinement.[30]

Als Produktverantwortlicher hält der Product Owner regelmäßig Rücksprache mit den Stakeholdern, um deren Bedürfnisse und Wünsche zu verstehen. Dabei muss er die Interessen und Anforderungen unterschiedlicher Stakeholder verstehen und abwägen.

In der Praxis erhalten Product Owner häufig nicht die Vollmacht, die notwendigen Entscheidungen verbindlich zu treffen – abweichend von der Rollenkompetenz, die in Scrum eigentlich vorgesehen ist. Häufig werden Product Owner auch mit fremden Aufgaben überlastet.[31]

Entwicklungsteam

Das Entwicklungsteam ist für die Lieferung der Produktfunktionalitäten in der vom Product Owner gewünschten Reihenfolge verantwortlich. Zudem trägt es die Verantwortung für die Einhaltung der vereinbarten Qualitätsstandards. Das Entwicklungsteam organisiert sich selbst. Es lässt sich von niemandem, auch nicht vom Scrum Master, vorschreiben, wie es Backlogeinträge umzusetzen hat.[32]

Ein Entwicklungsteam sollte in der Lage sein, das Ziel eines jeweiligen Sprints ohne größere äußere Abhängigkeiten zu erreichen. Deshalb ist eine interdisziplinäre Besetzung des Entwicklungsteams wichtig, z. B. mit Architekt, Entwickler, Tester, Dokumentationsexperte und Datenbankexperte. Gute und schlechte Ergebnisse werden nie auf einzelne Teammitglieder, sondern immer auf das Entwicklungsteam als Einheit zurückgeführt. Das ideale Teammitglied ist sowohl Spezialist als auch Generalist, damit es Teamkollegen beim Erreichen des gemeinsamen Ziels helfen kann.[33]

Ein Entwicklungsteam besteht aus mindestens drei, höchstens neun Mitgliedern. Es muss einerseits groß genug sein, alle benötigten Kompetenzen zu vereinigen, andererseits steigt mit wachsender Teamgröße der Koordinierungsaufwand.[34]

Zu den weiteren Aufgaben eines Entwicklungsteams zählt die Schätzung des Umfangs der Einträge im Product Backlog (im Product Backlog Refinement). Außerdem bricht das Entwicklungsteam in der Sprint Planung die für einen Sprint ausgewählten Einträge aus dem Product Backlog in Arbeitsschritte, sogenannte Tasks, herunter, deren Bearbeitung in der Regel nicht länger als einen Tag dauert. Das Ergebnis ist das Sprint Backlog.

Team-Mitglieder haben bisweilen Schwierigkeiten, die interdisziplinären Anforderungen zu akzeptieren. So mag beispielsweise ein Entwickler nicht verstehen, warum er auch die Arbeit eines Testers leisten soll. Dahinter steht jedoch der Gedanke, dass ein starkes Team den Unwägbarkeiten eines Projektes wesentlich besser gewachsen ist als eine Sammlung individueller Talente. Falls jemand mit einer Aufgabe nicht zurechtkommt, kann ein anderer helfen, das Sprint-Ziel zu erreichen. Fällt jemand für einige Zeit aus, so ist ein interdisziplinäres Team besser in der Lage, die fehlende Expertise zu kompensieren.

Scrum Master

Der Scrum Master ist dafür verantwortlich, dass Scrum gelingt. Dazu arbeitet er mit dem Entwicklungsteam zusammen, gehört aber selbst meist nicht dazu. Er führt die Scrum-Regeln ein und überprüft deren Einhaltung, er moderiert die Treffen und kümmert sich um die Behebung von Störungen und Hindernissen. Dazu gehören mangelnde Kommunikation und Zusammenarbeit sowie persönliche Konflikte im Entwicklungsteam, Störungen in der Zusammenarbeit zwischen Product Owner und Entwicklungsteam sowie Störungen von außen, beispielsweise Aufforderungen der Fachabteilung zur Bearbeitung zusätzlicher Aufgaben während eines Sprints.[35]

Ein Scrum Master ist gegenüber dem Entwicklungsteam eine dienende Führungskraft. Er gibt einzelnen Team-Mitgliedern keine Arbeitsanweisungen. Weder beurteilt er sie, noch belangt er sie disziplinarisch.[36] Der Scrum Master ist als Coach für den Prozess und die Beseitigung von Hindernissen verantwortlich. Unterschiedliche Teams und Situationen erfordern vom Scrum Master ein situatives Führen.[37]

Zu Beginn einer Scrum-Implementierung ist der Scrum Master eine Vollzeitstelle, da die Umstellung der Abläufe, das Zusammenwachsen des Teams und das Einlernen der Rollen meist aufwändig sind. Er bildet das Team in Scrum aus. Ist Scrum erst einmal etabliert, kann der Scrum Master seine Rolle als Change-Manager wahrnehmen. Er hat dann die Zeit und auch die nötige Erfahrung, um Scrum im Unternehmen bekannt zu machen und dessen Akzeptanz zu steigern.[38]

Stakeholder

Stakeholder sind Rollen außerhalb von Scrum. Die folgenden Rollen können helfen, die unterschiedlichen Stakeholder und deren Aufgaben zu differenzieren.

Kunden

Dem oder den Kunden wird das Produkt nach Fertigstellung zur Verfügung gestellt. Kunden können je nach Situation sowohl interne Fachabteilungen als auch externe Personen oder Gruppen sein. Es ist Aufgabe des Product Owners, seine Kunden durch Lieferung des Wunschproduktes zu begeistern. Deshalb sollten Product Owner und Kunden für die Dauer des Projektes im engen Austausch stehen.[39] Vor Beginn der Entwicklung sollte der Product Owner ein möglichst genaues Verständnis von der Wunschvorstellung seiner Kunden gewinnen. Die Kunden sollten schon nach den ersten Sprints Gelegenheit haben, sich die neuen Funktionalitäten anzuschauen und hierzu Feedback zu geben.

Anwender

Anwender sind diejenigen Personen, die das Produkt benutzen. Ein Anwender kann, muss aber nicht zugleich Kunde sein. Die Rolle des Anwenders ist für das Scrum Team von besonderer Bedeutung, denn nur der Anwender kann das Produkt aus der Perspektive des Nutzers beurteilen. Anwender und Kunden sollten beim Sprint Review und beim Product Backlog Refinement hinzugezogen werden, um das Produkt zu erproben und Feedback zu geben.[40]

Management

Das Management trägt Verantwortung dafür, dass die Rahmenbedingungen stimmen. Dazu gehören die Bereitstellung von Räumen und Arbeitsmitteln, aber auch generell die Unterstützung für den eingeschlagenen Kurs. Das Management ist dafür verantwortlich, das Scrum-Team vor externen Arbeitsanforderungen zu schützen, adäquate personelle Besetzungen zu finden sowie den Scrum Master dabei zu unterstützen, Hindernisse auszuräumen.[41]

Sprint

Ein Sprint ist ein Arbeitsabschnitt, in dem ein Inkrement einer Produktfunktionalität implementiert wird. Er beginnt mit einem Sprint Planning und endet mit Sprint Review und Sprint-Retrospektive. Sprints folgen unmittelbar aufeinander. Während eines Sprints sind keine Änderungen erlaubt, die das Sprintziel beeinflussen.[42]

Ein Sprint umfasst ein Zeitfenster von ein bis vier Wochen. Alle Sprints sollten idealerweise die gleiche Länge haben, um so dem Projekt einen Takt zu geben. Ein Sprint wird niemals verlängert – er ist zu Ende, wenn die Zeit um ist.[43]

Ist das Ziel eines Sprints nicht mehr zu erreichen, beispielsweise weil das Team die Komplexität falsch eingeschätzt hat oder der Product Owner das Produktinkrement so nicht mehr will, dann kann der Sprint vom Product Owner abgebrochen werden. In diesem Fall wird der aktuelle Sprint mit einer Sprint-Retrospektive beendet und der neue Sprint ganz normal mit Sprint Planning begonnen.[44]

Aktivitäten

Der Scrum-Prozess

In Scrum spricht man von Ereignissen oder Aktivitäten statt von Meetings, um klarzustellen, dass es sich um Arbeit handelt. Alle Aktivitäten von Scrum haben feste Zeitfenster (Timeboxen), die nicht überschritten werden sollen.

Sprint Planning

Im Sprint Planning werden zwei Fragen beantwortet:

  • Was kann im kommenden Sprint entwickelt werden?
  • Wie wird die Arbeit im kommenden Sprint erledigt?

Die Sprint-Planung wird daher häufig in zwei Teile geteilt. Sie dauert in Summe maximal 2 Stunden je Sprint-Woche, beispielsweise maximal acht Stunden für einen 4-Wochen-Sprint.[45]

Sprint Planning, Teil 1: Was kann im Sprint entwickelt werden?

Der Product Owner stellt dem Entwicklungsteam die im Product Backlog festgehaltenen Produkteigenschaften in der zuvor priorisierten Reihenfolge vor. Das Product Backlog sollte im Sprint zuvor im Product Backlog Refinement so weit vorbereitet worden sein, dass es geordnet, gefüllt und die Einträge für den nächsten Sprint geschätzt sind.

Das gesamte Scrum Team arbeitet im ersten Teil der Planung daran, ein gemeinsames Verständnis für die im Sprint zu erledigende Arbeit zu entwickeln. Dabei werden die Eigenschaften und die Akzeptanzkriterien besprochen, beispielsweise die Gebrauchstauglichkeit. Außerdem einigt sich der Product Owner mit dem Entwicklungsteam auf die Kriterien, die am Ende des Sprints darüber entscheiden, ob die neue Funktionalität fertig ist oder nicht; siehe Definition of Done. Ziel ist die Fertigstellung eines auslieferbaren Produkts: ein Produktinkrement, das hinreichend getestet und integriert ist, um für den Benutzer freigegeben werden zu können.

Anschließend prognostiziert das Entwicklungsteam die Anzahl der Product-Backlog-Einträge, die es im nächsten Sprint liefern kann. Die Entscheidung, wie viele Einträge im nächsten Sprint umgesetzt werden, liegt alleine beim Team, während die Entscheidung über die Reihenfolge alleine beim Product Owner liegt. Deshalb müssen beide konstruktiv zusammenarbeiten. Aus den ausgewählten Product-Backlog-Einträgen formuliert das Scrum Team gemeinsam ein Sprintziel.[46][47]

Die ursprüngliche Beschreibung von Scrum verwendete den Begriff Commitment (Verpflichtung) statt Forecast (Prognose); dies wurde angepasst, weil es häufig zu Fehlentwicklungen zulasten der Qualität führte.[48]

Sprint Planning, Teil 2: Wie wird im Sprint entwickelt?

Im zweiten Teil der Sprint Planung plant das Entwicklungsteam im Detail, welche Aufgaben (Tasks) zum Erreichen des Sprintziels und zur Lieferung der prognostizierten Product-Backlog-Einträge notwendig sind. Diese Planung macht das Entwicklungsteam, wobei der Product Owner für Fragen in Reichweite sein sollte. Oftmals bilden sich zur Beantwortung der Wie-Frage Kleingruppen, in denen verschiedene Aspekte wie z. B. Architektur, Datenelemente und Schnittstellen geklärt werden.

Ergebnis ist das Sprint Backlog: der detaillierte Plan für den nächsten Sprint. Er enthält die für den Sprint geplanten Product-Backlog-Einträge und die Aufgaben zu deren Umsetzung. Häufig wird dafür ein Taskboard als Technik verwendet.

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, falls sie nicht selbst Backlogelemente bearbeiten. Zweck des Daily Scrum ist der Informationsaustausch. Im Daily Scrum werden keine Probleme gelöst – vielmehr geht es darum, sich einen Überblick über den aktuellen Stand der Arbeit zu verschaffen. Dazu hat sich bewährt, dass jedes Teammitglied mit Hilfe des Taskboards sagt, was es seit dem letzten Daily Scrum erreicht hat, was es bis zum nächsten Daily Scrum erreichen möchte, und was dabei im Weg steht.

Beim Daily Scrum kann offensichtlich werden, dass die Erledigung einer Aufgabe länger als geplant dauert. Dann ist es sinnvoll, den Task in kleinere Aufgaben aufzuteilen, die dann auch von anderen Mitgliedern des Entwicklungsteams übernommen werden können.

Treten beim Daily Scrum Fragen auf, die sich nicht innerhalb der strikten 15-Minuten-Vorgabe beantworten lassen, so werden sie entweder notiert und dem Scrum Master übergeben, oder ihre Beantwortung wird auf ein späteres Meeting, häufig direkt im Anschluss, verlegt.[49][50]

Sprint Review

Das Sprint Review steht am Ende des Sprints. Hier überprüft das Scrum Team das Inkrement, um das Product Backlog bei Bedarf anzupassen. Das Entwicklungsteam präsentiert seine Ergebnisse und es wird überprüft, ob das zu Beginn gesteckte Ziel erreicht wurde. Das Scrum Team und die Stakeholder besprechen die Ergebnisse und was als Nächstes zu tun ist.[51][52]

Im Sprint Review ist die Beteiligung von Kunden und Anwendern wichtig, da diese die fertige Funktionalität des Inkrements benutzen und validieren können. Hieraus ergibt sich wichtiges Feedback für die weitere Produktgestaltung. Es kann sogar passieren, dass die Funktionalität alle Abnahmekriterien erfüllt und dennoch aus der Perspektive des Benutzers unbrauchbar ist, beispielsweise wenn ein Button an einer schwer auffindbaren Stelle platziert wurde. Häufig entsteht während des Reviews ein lebhafter Dialog, in dem den Anwesenden neue Funktionalitäten einfallen.

Das Ergebnis des Sprint Review ist das vom Product Owner notierte Feedback der Stakeholder. Dies ist eine notwendige Information bei der weiteren Gestaltung des Product Backlogs im nächsten Product Backlog Refinement.

Es ist Aufgabe des Product Owners, die entwickelten Funktionalitäten zu begutachten. Anhand der im Sprint Planning 1 festgelegten Bedingungen entscheidet er, ob sie abgenommen werden können oder nicht. Dabei soll er keine Kompromisse eingehen: Ein Team hat auch dann sein Ziel verfehlt, wenn es eine „fast fertige“, aber noch nicht getestete Funktionalität liefert. In diesem Fall kehren die nicht fertiggestellten User Stories in das Product Backlog zurück und werden vom Product Owner neu priorisiert. Die Abnahme ist aber nicht primärer Gegenstand vom Sprint Review, bei dem es vorrangig um das Feedback der Stakeholder geht. Die Abnahme der Funktionalitäten des Produktinkrements wird daher häufig im Rahmen des Sprints umgesetzt.

Das Sprint-Review dauert maximal 1 Stunde je Sprint-Woche.

Sprint Retrospektive

Die Sprint Retrospektive steht am Ende eines Sprints. Hierbei überprüft das Scrum Team seine bisherige Arbeitsweise, um sie in Zukunft effizienter und effektiver zu machen. Der Scrum Master unterstützt das Scrum Team darin, gute Praktiken und Verbesserungen zu finden, die im nächsten Sprint umgesetzt werden. Die Retrospektive ist eine gemeinsame Aktivität des Scrum Teams.[53][54]

Das Team soll seine Arbeitsweise offen und ehrlich überprüfen können. Dazu müssen Kritik und unangenehme Wahrheiten offen geäußert werden können. Das schließt auch Gefühle und Empfindungen ein.[55] Die Retrospektive soll daher in einem geschützten Raum ablaufen. Stakeholder dürfen nur auf Einladung dazukommen. Als Struktur für die Sprint-Retrospektive haben sich fünf Phasen bewährt.

Die Verbesserungsmaßnahmen werden dokumentiert und geplant. Hierfür gibt es unterschiedliche Techniken. Einige Teams nutzen eine eigene Liste mit Hindernissen und Verbesserungsmaßnahmen (das Impediment Backlog), andere Teams nehmen Hindernisse und die entsprechenden Aktivitäten in das Sprint Backlog auf.[56]

Die Sprint-Retrospektive dauert maximal 45 min je Sprint-Woche, also max. drei Stunden für einen 4-Wochen-Sprint.

Product Backlog Refinement

Das Product Backlog Refinement (auch Backlog Grooming genannt[57]) ist ein fortlaufender Prozess, bei dem der Product Owner und das Entwicklungsteam gemeinsam das Product Backlog weiterentwickeln. Hierzu gehören:[58][59]

  • Ordnen der Einträge
  • Löschen von Einträgen, die nicht mehr wichtig sind
  • Hinzufügen von neuen Einträgen
  • Detaillieren von Einträgen
  • Zusammenfassen von Einträgen
  • Schätzen von Einträgen
  • Planung von Releases

Für die Gestaltung des Produkts und des Product Backlogs können Stakeholder wertvolle Informationen liefern, indem sie dem Scrum Team erklären, wie sie sich eine Funktionalität im alltäglichen Gebrauch wünschen. Daher gibt es meistens auch Product-Backlog-Refinement-Treffen zusammen mit ausgewählten Stakeholdern.[60]

Das Product Backlog Refinement sollte nicht mehr als 10 % der Zeit des Entwicklungsteams in Anspruch nehmen.

Artefakte

Product Backlog

Das Product Backlog ist eine geordnete Auflistung der Anforderungen an das Produkt. Das Product Backlog ist dynamisch und wird ständig weiterentwickelt. Alle Arbeit, die das Entwicklungsteam erledigt, muss seinen Ursprung im Product Backlog haben. Der Product Owner ist für die Pflege des Product Backlogs verantwortlich. Er verantwortet die Reihenfolge bzw. Priorisierung der Einträge.[61][62]

Das Product Backlog ist nicht vollständig und erhebt auch nicht diesen Anspruch. Zu Beginn eines Projektes enthält es die bekannten und am besten verstandenen Anforderungen. Die Priorisierung der Eintragungen erfolgt unter Gesichtspunkten wie wirtschaftlicher Nutzen, Risiko und Notwendigkeit. Eintragungen mit der höchsten Priorität werden als erste im Sprint umgesetzt.[17]

Die Anforderungen im Product Backlog sollten nicht technisch, sondern fachlich und anwenderorientiert sein. Eine Möglichkeit, um diese Sichtweise zu unterstützen, ist die Formulierung der Produkteigenschaften als User Stories.

Sprint Backlog

Das Sprint Backlog ist der aktuelle Plan der für einen Sprint 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. Um es für alle sichtbar zu machen, wird häufig ein Taskboard genutzt.

Product Increment

Das Inkrement ist die Summe aller Product-Backlog-Einträge, die während des aktuellen und allen vorangegangenen Sprints fertiggestellt wurden. Am Ende eines Sprints muss das neue Inkrement in einem nutzbaren Zustand sein und der Definition of Done entsprechen.[63]

Zusätzliche Anforderungen

Transparenz des Fortschritts

Zum Kern von Scrum gehört eine Transparenz über den Fortschritt des Produkts und des Sprints – innerhalb und außerhalb des Teams. Während das Produktinkrement den Fortschritt am deutlichsten sichtbar macht, so sind dennoch andere Techniken zur Fortschrittstransparenz notwendig.[64] Im Kern von Scrum wird für die Transparenz des Fortschritts keine spezifische Technik vorgegeben. Typischerweise werden hierzu Burndown-Grafiken verwendet.

Definition of Done

Die Definition of Done (DoD) ist ein gemeinsames Verständnis des Scrum Teams, unter welchen Bedingungen eine Arbeit als fertig bezeichnet werden kann. Sie enthält für gewöhnlich Qualitätskriterien, Einschränkungen und allgemeine nicht-funktionale Anforderungen. Mit zunehmender Erfahrung des Scrum Teams entwickelt sich die Definition of Done weiter. Sie enthält dann strengere Kriterien für höhere Qualität.

Dazu gehört beispielsweise das Schreiben von Kommentaren, Unit Tests und Design-Dokumenten. Die DoD wird von den Beteiligten zu Beginn eines Projektes festgelegt, und wird im Laufe der Entwicklung angepasst. Die DoD hilft zu Beginn eines Sprints, die Anzahl und den Umfang der Tasks festzulegen. Es müssen aber nicht alle Aktivitäten der DoD auf jede User Story zutreffen. Am Ende des Sprints dient die DoD neben den Akzeptanzkriterien jedes Product Backlog Eintrags dazu, zu entscheiden, ob ein Product-Backlog-Eintrag als fertig akzeptiert wird.[65]

Ergänzende Techniken

In der Verbindung mit Scrum werden die folgenden Techniken häufig genutzt. Diese Techniken gehören nicht zum Kern von Scrum, und zu allen Techniken gibt es mehrere Alternativen.

User Story

User Stories sind eine Technik zur Beschreibung von Anforderungen aus der Perspektive eines Benutzers unter Verwendung von Alltagssprache. In Scrum werden User Stories zur Formulierung der Product Backlog-Einträge verwendet. Eine User Story beschreibt, welche Produkteigenschaft der Benutzer will und warum er oder sie es will.[66]

User Stories folgen im Allgemeinen diesem Muster:

Als NUTZER will ich FUNKTION oder EIGENSCHAFT, damit NUTZEN.

Bei einem Projekt zur Entwicklung eines städtetauglichen Elektrofahrrads könnte eine User Story demnach folgendermaßen lauten:

Als 30-jährige Geschäftsfrau möchte ich auf dem Weg zur Arbeit nur wenig in die Pedale treten müssen, damit ich nicht verschwitzt in der Firma ankomme.

Es ist Aufgabe des Product Owners und des Teams, im Product Backlog Refinement zu klären, was genau damit gemeint ist, und welches die Akzeptanzkriterien sein sollen. So könnte zum Beispiel vereinbart werden, dass bis zu einer Steigung von maximal 20 % der elektrische Antrieb so stark sein muss, dass die Fahrerin nicht mehr als 50 Watt durch eigenes Treten beisteuern muss. Zudem muss das Entwicklungsteam mit dem Product Owner klären, ob sich diese User Story überhaupt in einem Sprint erledigen lässt oder ob sie in kleinere Storys heruntergebrochen werden muss.[67] Sobald eine User Story umgeschrieben oder um weitere Information ergänzt wird, werden auch diese Änderungen im Product Backlog festgehalten.[68]

Fragen nach dem Wie, also nach der technischen Umsetzung einer User Story, gehören ins Sprint_Planning.2 und werden nicht im Product Backlog, sondern im Taskboard mit Hilfe der einzelnen Tasks festgehalten.

Taskboard

Das Taskboard ist eine Technik zur Visualisierung des Sprint Backlogs. Darauf lässt sich jederzeit erkennen, welche Product Backlog Einträge für den Sprint ausgewählt wurden, welche Aufgaben dazu zu bearbeiten sind, und in welchen Bearbeitungszustand diese Aufgaben sind. Das Taskboard ist eine Kanban-Tafel.

Typischerweise besteht das Taskboard aus vier Spalten. In der ersten Spalte Anforderungen werden die Product Backlog Einträge eingetragen, die das Entwicklungsteam für diesen Sprint ausgewählt hat – in der vom Product Owner priorisierten Reihenfolge. Die drei weiteren Spalten enthalten die Aufgaben oder Tasks, die zur Umsetzung der jeweiligen Anforderung notwendig sind, in ihrem jeweiligen Bearbeitungszustand. Die zweite Spalte enthält alle noch zu erledigenden Aufgaben, die nächste Spalte diejenigen in Bearbeitung und die letzte Spalte alle erledigten.

Im Daily Scrum erklärt jedes Mitglied des Entwicklungsteams anhand des Taskboards, an welcher Aufgabe es am Vortag gearbeitet hat, und ob diese erledigt wurde. Tasks, die an einem Tag nicht beendet werden konnten oder bei denen Hindernisse den Fortschritt aufhalten, werden markiert. In diesem Fall sollten die Aufgaben zur Beseitigung des Hindernisses in das Taskboard aufgenommen werden. So können Hindernisse schnell identifiziert und die Beseitigungsmaßnahmen transparent gemacht werden.[69]

Planungspoker

Planungspoker-Karten

Scrum schreibt keine spezifische Methode vor, Aufwände abzuschätzen. Bei einer guten Schätzmethode sollten die Beteiligten zunächst unbeeinflusst von den anderen Teilnehmern schätzen. Andererseits sollte die Methode in annehmbarer Zeit zu einem akzeptierten und validen Ergebnis führen. Seit ca. 2005 ist Planungspoker eine gängige Methode in Scrum und generell in agilen Projekten.[70] Die englische Bezeichnung Planning Poker ist eine geschützte Warenbezeichnung der Firma Mountain Goat Software.[71]

Jeder Teilnehmer erhält einen Satz Spielkarten. Diese sind mit Schwierigkeitsgraden oder Story-Points bedruckt, beispielsweise in der Systematik:

  • trivial – leicht – mittel – schwer – sehr schwer – überschwer
  • 1, 2, 3, 5, 8, 13, 21, ... Diese Fibonacci-Zahlenfolge wird häufig gewählt, um der zunehmenden Unsicherheit in der Schätzung schwererer Aufgaben gerecht zu werden.

Das Planungsspiel läuft folgendermaßen:[71]

  1. Der Product Owner stellt die User Story vor, die es zu schätzen gilt.
  2. Das Team klärt in der Diskussion mit dem Product Owner seine Fragen zu der Story.
  3. Jedes Teammitglied wählt für sich eine Karte, die seiner Ansicht nach der Schwierigkeit der Story entspricht.
  4. Alle gewählten Karten werden gleichzeitig aufgedeckt.
  5. Die Teilnehmer mit der niedrigsten und der höchsten Schätzung erklären ihre Beweggründe.
  6. Der Prozess wird wiederholt, bis ein Konsens gefunden ist.
  7. Das Spiel wird wiederholt, bis alle User Stories geschätzt sind.

Bei einer größeren Zahl von User Stories ist es zweckmäßig, eine Zeitvorgabe pro Story zu vereinbaren, und diese jeweils mit einer Sanduhr oder Stoppuhr zu überwachen. Ist die Zeit abgelaufen, ohne dass die Story geschätzt werden konnte, so ist das ein Indiz dafür, dass die Beschreibung nicht gut verständlich ist und neu verfasst werden sollte.[71]

Impediment Backlog

Das Impediment Backlog ist eine Technik, mit welcher der Scrum Master öffentlich alle Arbeitsbehinderungen sammelt. Es handelt sich um eine Liste von Hindernissen, Aufgaben zu ihrer Lösung und ihrem aktuellen Status. Eine andere Technik ist es, Behinderungen und die Beseitigungsmaßnahmen auf dem Taskboard mit zu pflegen.

Fünf Phasen einer Retrospektive

Als Struktur einer Sprint-Retrospektive haben sich fünf Phasen bewährt[72]:

  1. Zuerst werden die Voraussetzungen für eine offene Atmosphäre geschaffen. Die Teilnehmer sollen sich wohl dabei fühlen, offene Punkte zu diskutieren. Dabei gilt die Annahme, dass jeder die bestmögliche Arbeit geleistet hat, die er oder sie leisten konnte, und zwar unabhängig davon, welche offenen Punkte identifiziert werden.
  2. Zweitens werden Informationen gesammelt. Dies geschieht oft, indem man zurückblickt und identifiziert, was gut gelaufen ist und was nicht.
  3. Im dritten Schritt werden Erkenntnisse entwickelt. In dieser Phase identifizieren Teams normalerweise, warum Dinge geschehen sind, damit nicht nur Symptome kuriert, sondern die tatsächlichen Ursachen identifiziert werden.
  4. Viertens entscheidet man, was zu tun ist. Das umfasst Vereinbarungen über sinnvolle und realistische Schritte, die im nächsten Sprint umgesetzt werden sollen.
  5. Zu guter Letzt wird die Retrospektive abgeschlossen.

Für die Gestaltung der fünf Schritte gibt es eine Vielzahl von möglichen Vorgehensweisen.[73]

Burndown Chart

Beispiel eines Sprint Burndown Charts

Das Burndown Chart dient der Visualisierung bereits geleisteter und noch verbleibender Arbeit. Das Burndown Chart gibt es in zwei Varianten:

  • Als Sprint Burndown wird es zur Verfolgung vom Sprintfortschritt verwendet.
  • Als Release Burndown wird es zur Verfolgung vom Produktfortschritt über mehrere Sprints hinweg verwendet.

Beim Sprint Burndown wird auf der x-Achse der Zeitverlauf in Tagen und auf der y-Achse die Anzahl der noch zu erledigenden Tasks aufgetragen. So ergibt sich eine Linie von offenen Aufgaben, die im Idealfall am Sprintende die Nulllinie trifft. Über das Sprint Burndown ist es möglich, die Erreichung des Sprint-Ziels besser abzuschätzen. Das Entwicklungsteam aktualisiert im Daily Scrum das Sprint Burndown.

Alternativ können beim Sprint Burndown statt der Anzahl der Tasks auch die Summe der geschätzten Aufwände für jeden einzelnen Task eingetragen werden. Dies erfordert jedoch eine Schätzung der Restaufwände für alle Tasks, so dass diese Variante mehr Aufwand erfordert. Da die Genauigkeit bei Tasks mit einem Aufwand von maximal einem Tag nur geringfügig besser wird, hat sich das Zählen der Tasks bei vielen Teams durchgesetzt.

Beim Release Burndown wird auf der x-Achse der Zeitverlauf in Sprints und auf der y-Achse die Anzahl der noch zu erledigenden Product-Backlog-Einträge aufgetragen, beispielsweise in Story Points. Ändert sich der Umfang des Product Backlog, so wird dies unterhalb der x-Achse eingetragen. Bei jedem Sprint aktualisiert der Product Owner das Release Burndown. Mit Hilfe des Release Burndown kann der Product Owner Umfang und Liefertermin des aktuellen Releases bestimmen.[74]

Adaptionen von Scrum

Obwohl der Scrum Guide[17] die essentiellen Elemente von Scrum vorschreibt, scheinen viele Unternehmen signifikant davon abzuweichen.[75] Die wenigste Variation findet sich in den Sprints und der Sprint-Länge, den Treffen, der Teamgröße und im Requirements Engineering. Die Unternehmen variieren am meisten in den Roten, der Aufwandsschätzung und der Qualitätssicherung.

Grenzen und Nachteile von Scrum

Keine Erfolgsgarantie

Scrum kann genau so wenig wie andere Prozesse und Vorgehensmodelle eine Erfolgsgarantie bieten.

Verwertung gewonnener Erkenntnisse

Bei der Verwendung von Scrum muss man sich darauf einstellen, dass die ursprünglichen Einschätzungen permanent über- oder untertroffen werden. Scrum zeigt vom ersten Tag an Abweichungen vom Soll-Zustand an. Ob Scrum dazu führt, dass Produkte schnell, gut, günstig oder qualitativ hochwertig entwickelt werden, hängt davon ab, was das Scrum-Team mit den gewonnenen Erkenntnissen macht. Nach Schwaber kann auch ein Team von Idioten nach Scrum arbeiten.[76] Das Team liefert am Ende jedes Sprints zuverlässig Produktinkremente, hält alle Meetings ab, und verteilt die Rollen nach Scrum. Wenn aber das Scrum-Team die Ergebnisse nicht nutzt, um anders zu arbeiten und Anpassungen vorzunehmen, wird auch das Produkt nicht besser oder früher fertig sein.

Hinderliche Einflüsse bei der Teamzusammensetzung

Die Selbstorganisation im Entwicklungsteam impliziert, dass Hierarchien in Frage gestellt werden. Mitglieder, die nicht bereit sind, ihre bisherige Position innerhalb des Entwicklungsteams aufzugeben, können daher Konflikte erzeugen. Scrum fordert, dass alle Teammitglieder vielfältige Aufgaben eines Sprints bearbeiten können. Jemand, der sich exklusiv als Tester, Programmierer oder Architekt sieht, passt nicht optimal in ein Entwicklungsteam nach Scrum. Ein gutes Team kann das berücksichtigen und die Nachteile kompensieren; für ein weniger erfahrenes Team können solche Mitarbeiter schwierig sein.

Juristische Erwägungen

Im Rahmen von Werkverträgen und vor dem Hintergrund des Produkthaftungsgesetzes kann die Anwendung von Scrum begrenzt sein. Es besteht eine stärkere Unschärfe über die zu erbringende Leistung und deren Abnahmekriterien als bei traditionellen Vorgehensweisen. Bei Streitigkeiten kann dies dazu führen, dass keine eindeutige Aussage zur Vertragserfüllung getroffen werden kann. In der Fachliteratur werden Vorschläge angeboten, wie Werkverträge für Scrum-Projekte zu gestalten sind.[77][78]

Zertifizierung

PMI

Ein übergreifendes Scrum Zertifikat für POs, SM und Entwickler ist das PMI Agile Certified Practitioner (PMI-ACP).[79]

Scrum Alliance

Die Basiszertifizierungen werden unterteilt in CSM (Certified ScrumMaster), CSPO (Certified Scrum Product Owner) und CSD (Certified Scrum Developer). Für diese Zertifizierungen ist der Besuch eines Seminars eines zertifizierten Trainers (CST) erforderlich.[80]

Darauf aufbauend ist die weiterführende Zertifizierung zum CSP (Certified Scrum Professional) möglich, die eine mehrjährige Erfahrung und den Nachweis von 70 Stunden qualifizierter Weiterbildung erfordert. Der CSP muss alle 2 Jahre erneuert werden. Hierfür ist eine kontinuierliche Weiterbildung im Umfang von 40 Stunden nachzuweisen. Bis 2013 war anstatt des Trainingsnachweises eine dreistündige Prüfung abzulegen.[80]

Die nächste Zertifizierungsstufe ist der Certified Scrum Trainer (CST) und der Certified Scrum Coach (CSC). Der Fokus des Trainers liegt mehr auf der Durchführung der CSM- und CSPO-Schulungen, und der Fokus des Coachs auf der Betreuung Agiler Transitionen. Um CST oder CSC werden zu können ist ein umfangreiches Bewerbungsverfahren notwendig.[80]

Scrum.org

Die Einstiegszertifizierung ist das kostenlose Scrum Open Assessment, welches Grundlage für den Professional Scrum Master (PSM I und PSM II), Professional Scrum Developer (PSD I) und Professional Scrum Product Owner (PSPO I und PSPO II) ist.[81]

Werkzeuge

Es gibt diverse Werkzeuge wie Eylean Board, Agilo, Pangoscrum, Redmine (verschiedene Plugins verfügbar), OpenProject, AgileZen, Agile Manager, Tinypm, ThoughtWorks Studios, Jira Agile, Pivotal Tracker, Scrumwise, VersionOne, ScrumWorks Pro, Banana Scrum, Team Foundation Server, taiga.io und ScrumTable, die darauf ausgelegt sind, die Einführung von Scrum und die darin anfallenden Prozesse zu erleichtern.

Literatur

  • Rolf Dräther, Holger Koschek und Carsten Sahling: Scrum – kurz & gut. 1. Auflage, O’Reilly, 2013, ISBN 978-3-86899-833-7
  • Malte Foegen: Der Ultimative Scrum Guide 2.0. 2. Auflage. wibas, Darmstadt 2014, ISBN 978-3-9815837-5-5.
  • Boris Gloger: Scrum-Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, 2011, ISBN 978-3-446-42524-8
  • Boris Gloger: Scrum: Der Paradigmenwechsel im Projekt- und Produktmanagement. Eine Einführung. In: Informatik Spektrum, Vol. 33, No. 2. 2010.
  • Arndt Hengstler: Gestaltung der Leistungs- und Vertragsbeziehung bei Scrum-Projekten. In: ITRB 2012, 113–116.
  • Holger Koschek: Geschichten vom Scrum: Von Sprints, Retrospektiven und agilen Werten. dpunkt.verlag, 2009, ISBN 978-3-89864-640-6
  • Sven Röpstorff, Robert Wiechmann: Scrum in der Praxis: Erfahrungen, Problemfelder und Erfolgsfaktoren. dpunkt.verlag, 2012, ISBN 978-3898647922
  • Ken Schwaber: Scrum Development Process, Advanced Development Methods, 131 Middlesex Turnpike Burlington, MA01803
  • Ken Schwaber: Agiles Projektmanagement mit Scrum. Microsoft Press Deutschland, 2007, ISBN 978-3-86645-631-0 (englisch: Agile Project Management with Scrum. Übersetzt von Thomas Irlbeck).
  • Ken Schwaber: Scrum im Unternehmen. Microsoft Press Deutschland, 2008, ISBN 978-3-86645-643-3 (englisch: The Enterprise and Scrum.).
  • Ken Schwaber, Jeff Sutherland: Software in 30 Tagen. dpunkt.verlag, 2013, ISBN 978-3-86490-074-7 (englisch: Software in 30 days.).

Weblinks

Einzelnachweise

  1. Scrum Alliance: The State of Scrum, S. 10 (abgerufen am 28. Juni 2014).
  2. Mary Poppendieck, Tom Poppendieck: Lean Software Development: An Agile Toolkit, Addison-Wesley, Upper Saddle River, 2003.
  3. Malte Foegen: Der Ultimative Scrum Guide 2.0, wibas, Darmstadt 2014, S. 50–51.
  4. Agile Atlas. Scrum Alliance. In: agileatlas.org, abgerufen am 28. Juni 2014.
  5. Ken Schwaber and Jeff Sutherland: The Scrum Guide. Abgerufen am 23. März 2014.
  6. Malte Foegen: Der Ultimative Scrum Guide. wibas, Darmstadt 2014, S. 112–113.
  7. Ken Schwaber and Jeff Sutherland: The Scrum Guide. S. 4.
  8. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 12.
  9. Ken Schwaber and Jeff Sutherland: The Scrum Guide. S. 6.
  10. Dean Leffingwell: Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise (Agile Software Development). Addison-Wesley, Boston 2010.
  11. Craig Larman, Bas Vodde: Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum. Addison-Wesley, Boston 2010.
  12. „The New New Product Development Game“. Cb.hbsp.harvard.edu, 1. Januar 1986.
  13. Nonaka I, Takeuchi H.: The Knowledge-Creating Company. Oxford University Press, 1995.
  14. Peter DeGrace, Leslie Hulet Stahl: Wicked Problems, Righteous Solutions: A Catolog of Modern Engineering Paradigms, 1998.
  15. Jeff Sutherland. Abgerufen am 21. Oktober 2011.
  16. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 19.
  17. a b c The History of Scrum
  18. Mike Beedle. Abgerufen am 21. Oktober 2011.
  19. Ken Schwaber: Scrum im Unternehmen. Microsoft Press Deutschland 2008, S. XI-XII.
  20. Ikujiro Nonaka u. Hirotaka Takeuchi: A Theory of the Firm’s Knowledge-Creation Dynamics. In: Alfred Chandler et al. (Hrsg.): The Dynamic Firm. The Role of Technology, Strategy, Organization, and Regions. Oxford University Press, 2008, S. 215–216.
  21. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 27–30.
  22. Scrum Code of Ethics
  23. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 4-6
  24. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 4–6.
  25. Boris Gloger, Scrum – Produkte zuverlässig und schnell entwickeln, Hanser, 4. Auflage, 2013
  26. Dean Leffingwell: Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise (Agile Software Development), Addison-Wesley, Boston 2010.
  27. Craig Larman, Bas Vodde: Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum. Addison-Wesley, Boston 2010.
  28. Ken Schwaber and Jeff Sutherland: The Scrum Guide. Abgerufen am 23. März 2014. Seite 5
  29. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 4.
  30. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 78–87.
  31. Roman Pichler: Scrum – Agiles Projektmanagement erfolgreich einsetzen. d.punkt Verlag, Heidelberg 2009, S. 10–13.
  32. Jeff Sutherland, Ken Schwaber: The Scrum Guide (July 2013). Abschnitt The Development Team.
  33. Roman Pichler: Scrum – Agiles Projektmanagement erfolgreich einsetzen. d.punkt Verlag, Heidelberg 2009, S. 15.
  34. Jeff Sutherland, Ken Schwaber: The Scrum Guide (July 2013). Abschnitt Development Team Size
  35. Scrum Alliance: Agile Atlas, S. 5.
  36. Roman Pichler: Scrum – Agiles Projektmanagement erfolgreich einsetzen. d.punkt Verlag, Heidelberg 2009, S. 20–23.
  37. Malte Foegen: Der Ultimative Scrum Guide 2.0, wibas, 2014, S. 62–65.
  38. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 88–101.
  39. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 101–103.
  40. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 10
  41. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 104–107.
  42. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 7 f.
  43. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 3
  44. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 8.
  45. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 9.
  46. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 8–9.
  47. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 7–8.
  48. Jose Luis Soria Teruel: Commitment vs. Forecast: A subtle but important change to Scrum. Abgerufen am 18. Januar 2013.
  49. Jeff Sutherland, Ken Schwaber: The Scrum Guide (July 2013). Abschnitt Daily Scrum
  50. Roman Pichler: Scrum. Agiles Projektmanagement erfolgreich einsetzen. dpunkt.verlag, Heidelberg 2009, S. 104–107.
  51. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 11.
  52. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 10–11.
  53. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 11–12.
  54. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 11.
  55. Rolf Dräther: Retrospektiven kurz & gut, O'Reilly, Köln 2014, S. 125.
  56. Malte Foegen: Der Ultimative Scrum Guide 2.0, wibas, Darmstadt 2014, S. 140–141.
  57. scrumtrainings.wordpress.com: Scrum und Backlog Refinement (oder auch Backlog Grooming)
  58. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 13.
  59. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 6–7.
  60. Malte Foegen: Der Ultimative Scrum Guide 2.0, wibas, Darmstadt 2014, S. 92–93 und 96–97.
  61. Ken Schwaber and Jeff Sutherland: The Scrum Guide, S. 12–13.
  62. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 6.
  63. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 9
  64. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 9
  65. Scrum Alliance: Agile Atlas, V 2012.12.13, S. 9-10
  66. Roman Pichler: Scrum – Agiles Projektmanagement erfolgreich einsetzen. d.punkt Verlag, Heidelberg 2009, S. 46–47.
  67. Malte Foegen: Der Ultimative Scrum Guide 2.0, wibas, Darmstadt 2014, S. 104–105.
  68. Roman Pichler: Scrum – Agiles Projektmanagement erfolgreich einsetzen. d.punkt Verlag, Heidelberg 2009, S. 46–47.
  69. Boris Gloger: Scrum. Produkte zuverlässig und schnell entwickeln. 3. Auflage, Hanser Verlag, München 2011, S. 167–169.
  70. Mike Cohn: Agile Estimating and Planning. Prentice Hall, 2005. ISBN 978-0-13-147941-8
  71. a b c Scrum Effort Estimations – Planning Poker®, The International Scrum Institute, abgerufen am 20. Februar 2015
  72. Esther Derby, Diana Larsen: Agile Retrospectives: Making Good Teams Great. Pragmatic Programmers, 2006.
  73. Website mit Retrospektiven-Techniken (englisch), abgerufen am 20. Dezember 2014
  74. Malte Foegen: Der Ultimative Scrum Guide 2.0, wibas, Darmstadt 2014, S. 148–151.
  75. Philipp Diebold, Jan-Peter Ostberg, Stefan Wagner, Ulrich Zendler: What Do Practitioners Vary in Using Scrum? Hrsg.: Casper Lassenius, Torgeir Dingsøyr, Maria Paasivaara (= Lecture Notes in Business Information Processing). Springer International Publishing, 2015, ISBN 978-3-319-18611-5, S. 40–51, doi:10.1007/978-3-319-18612-2_4 (englisch, uni-stuttgart.de [PDF]).
  76. Ken Schwaber: Scrum et al. (Minute 14) Abgerufen am 12. August 2011.
  77. Tom Arbogast, Craig Larman, Bas Vodde: Practices for Scaling Lean & Agile Development. Addison-Wesley Longman, Amsterdam 2010, ISBN 978-0-321-63640-9, S. 499 ff. (PDF).
  78. Andreas Opelt, Boris Gloger, Wolfgang Pfarl, Ralf Mittermayr: Der agile Festpreis: Leitfaden für wirklich erfolgreiche IT-Projekt-Verträge. Carl Hanser Verlag, 2012, ISBN 978-3-446-43226-0.
  79. [1] Abgerufen am 19. März 2015
  80. a b c Certifications in Scrum, Website der Scrum Alliance, abgerufen am 23. Dezember 2014
  81. Scrum.org, Assessments & Certifications, Abgerufen am 7. April 2014