PROJEKTMANAGEMENT AKTUELL
pm
2941-0878
2941-0886
UVK Verlag Tübingen
101
2009
204
GPM Deutsche Gesellschaft für Projektmanagement e. V.SCRUM
101
2009
Oliver-Arne Hammerstein
Agile Methoden haben in der Softwareentwicklung eine lange Tradition. Ihre Wurzeln reichen bis in die späten 80er-Jahre zurück und finden sich gleichermaßen in der Industrieproduktion (TPS – Toyota Production System) als auch in der Managementpraxis (Lean Management). Agile Methoden haben zwei wichtige Ziele: Die Qualitätsverbesserung und die Kostenreduktion. Zentrale Elemente von agilen Methoden sind frühe und enge Feedback-Schleifen zur Überprüfung und Steuerung von Managementmaßnahmen. Von besonderer Bedeutung ist außerdem die maximale Sicherheit und Transparenz der angewendeten Lösungsansätze und des jeweiligen Umsetzungsstatus. Höchste
Reputation in der Gruppe der agilen Methoden hat SCRUM. In SCRUM arbeiten Auftraggeber und Auftragnehmer direkt zusammen. Die Zusammenarbeit unterliegt klaren Regeln, deren Einhaltung und Überwachung der SCRUM-Master organisiert.
Die Umsetzung von Projektzielen findet in den sogenannten „Sprints“ statt, die im Rahmen von festgelegten „Timeboxes“ durchgeführt werden. Ein Projekt erstreckt sich immer über eine Reihe von Sprints. Die Aufgabenstellungen des Projekts, Stories genannt, werden priorisiert und im Product Backlog gesammelt. Das Product Backlog wird vom Product Owner während der gesamten Projektlaufzeit aktualisiert. In seiner Anwendung ermöglicht SCRUM schlussendlich die eigenverantwortliche und prioritätsorientierte Erzielung von Ergebnissen und eine kontinuierliche Verbesserung in der Team- und Kundenzusammenarbeit.
pm2040028
22 l projekt MA N A G E M E N T aktuell 4/ 2009 28 WISSEN Oliver-Arne Hammerstein Das aktuelle Stichwort: SCRUM Im dynamischen Wettbewerbsumfeld der globalisierten Märkte kommt der effizienten Gestaltung von Entwicklungs- und Produktionsprozessen eine immer stärkere Bedeutung zu. Unternehmen streben heute bei der Initiierung und Durchführung von Projekten nicht nur möglichst kurze Laufzeiten zur Erzielung der Projektergebnisse an, sondern wünschen sich auch ein Höchstmaß an Flexibilität, um schnell auf neue technische Anforderungen, Marktbedingungen oder Kundenwünsche reagieren zu können. Änderungsfreundliche und anpassungsfähige Projektmanagementansätze nehmen deshalb in vielen modernen Schlüsselbranchen einen wachsenden Stellenwert ein. Als Vorreiter dieser Entwicklung gilt der Bereich der Softwareentwicklung, der aufgrund seiner diversifizierten Aufgabenstellungen hinsichtlich Projektanzahl, -größe und -beteiligten als empirischer Indikator des Trends hin zu einem agilen Projektmanagement fungiert. Agile Softwareentwicklung Die Kernidee des agilen Projektmanagements besteht darin, den Auftraggeber von Beginn an aktiv in das Projekt einzubeziehen und ebenso frühzeitig wie regelmäßig funktionsfähige Anteile der Projektliefergegenstände bereitzustellen. Diese werden dann in festen Abständen und in enger Abstimmung durch den Auftraggeber überprüft und im Bedarfsfall modifiziert und weiterentwickelt. Vorteil dieses Vorgehens: Der Auftraggeber kann bereits kurz nach Projektstart erste Ergebnisse nutzen, mit seinen Anforderungen abgleichen und neue Ideen und Erkenntnisse zeitnah in die nächste Teilumsetzung einbringen. Als Folge wird nicht nur der Entwicklungsprozess flexibler und schneller - auch die Kundenzufriedenheit steigt. Umgesetzt wird agiles Projektmanagement in der Softwareentwicklung durch den Einsatz sogenannter agiler Methoden. Die bedeutendsten Vertreter unter ihnen sind SCRUM, Extreme Programming (XP), Feature Driven Development (FDD), Adaptive Software Development (ASD), Crystal oder das Lean Software Development. Kennzeichnend für diese „beweglichen“ Verfahrensweisen ist, dass sie im Vergleich zu traditionellen Ansätzen mit statischen und phasenorientierten Planungsvorhersagen den Fokus auf eine inkrementelle (stückweise) Annäherung an die Liefergegenstände legen. Gestaffelt nach Priorität wird so der Leistungsumfang der Projektergebnisse gesteigert. Dieses „First things first“ gestattet dem Auftraggeber, die Kernfunktionalitäten zu einem frühen Zeitpunkt nutzen zu können. Der sukzessive und priorisierte Aufbau des Leistungsumfangs in Form von Inkrementen findet in Iterationen, also kurzen Entwicklungsschritten, statt. Iterativ-inkrementelle Vorgehensweisen bilden das Fundament agiler Methoden. Agile Methoden haben eine lange Tradition und reichen zurück bis in die späten 1980er-Jahre. Ihre Wurzeln finden sich zugleich in der Industrieproduktion (TPS - Toyota Production System) und in der Managementpraxis (Lean Management; „lean“, engl. schlank). Ziele dieser Verfahren sind ❑ Qualitätsverbesserung - Verbindung der Produktivität der Massenproduktion mit der Qualität der Werkstattfertigung, ❑ Kostenreduktion - durch Serienoptimierung. Als Softwareexperten verstärkt damit begannen, neue Vorgehensweisen für eine schnellere und effektive Durchführung von Entwicklungsprojekten zu erarbeiten, wurden sie dabei wesentlich von den Leitlinien und Zielen von TPS sowie dem daraus hervorgegangenen Lean Management inspiriert und beeinflusst. Agile Methoden haben in der Softwareentwicklung eine lange Tradition. Ihre Wurzeln reichen bis in die späten 80er-Jahre zurück und finden sich gleichermaßen in der Industrieproduktion (TPS - Toyota Production System) als auch in der Managementpraxis (Lean Management). Agile Methoden haben zwei wichtige Ziele: Die Qualitätsverbesserung und die Kostenreduktion. Zentrale Elemente von agilen Methoden sind frühe und enge Feedback-Schleifen zur Überprüfung und Steuerung von Managementmaßnahmen. Von besonderer Bedeutung ist außerdem die maximale Sicherheit und Transparenz der angewendeten Lösungsansätze und des jeweiligen Umsetzungsstatus. Höchste Reputation in der Gruppe der agilen Methoden hat SCRUM. In SCRUM arbeiten Auftraggeber und Auftragnehmer direkt zusammen. Die Zusammenarbeit unterliegt klaren Regeln, deren Einhaltung und Überwachung der SCRUM- Master organisiert. Die Umsetzung von Projektzielen findet in den sogenannten „Sprints“ statt, die im Rahmen von festgelegten „Timeboxes“ durchgeführt werden. Ein Projekt erstreckt sich immer über eine Reihe von Sprints. Die Aufgabenstellungen des Projekts, Stories genannt, werden priorisiert und im Product Backlog gesammelt. Das Product Backlog wird vom Product Owner während der gesamten Projektlaufzeit aktualisiert. In seiner Anwendung ermöglicht SCRUM schlussendlich die eigenverantwortliche und prioritätsorientierte Erzielung von Ergebnissen und eine kontinuierliche Verbesserung in der Team- und Kundenzusammenarbeit. +++ Für eilige Leser +++ Für eilige Leser +++ Für eilige Leser +++ PM_4-09_1-60: Inhalt 30.06.2009 9: 52 Uhr Seite 28 Toyota Production System und Lean Management als Vorbild Das Toyota Production System sieht die Möglichkeit vor, dass jeder Mitarbeiter entlang der Fertigungslinie die Fließbänder bei auftretenden Qualitätsmängeln eigenverantwortlich anhalten kann. Der Ausruf „Jideko - Stop the line“ dient als Synonym für diese Managementkultur eines „Fail early“. „Fail early“ verhindert, dass Fehler im Produktionsprozess in Serie gehen. Niedrige Rückrufraten und eine jahrelange Dominanz als Klassenprimus in der Pannenstatistik zeigen weltweit die positiven Ergebnisse dieser Strategie. Motivation für diesen zunächst paradox wirkenden Paradigmenwechsel stellt die Erkenntnis dar, dass eine nachträgliche Behebung von Serienfehlern im Vergleich zur frühen Behebung deutlich höhere Kosten verursacht. Kostenführerschaft wird hier als strategischer Treiber für frühe Rückkopplung und Adaption, die Kernelemente agiler und schlanker Verfahren, nachvollziehbar. Aus den Kernelementen und -prinzipien des TPS hat sich das Lean Management entwickelt. Lean Management bezeichnet eine Strategie zur Effizienzsteigerung der betrieblichen Leistungserbringung und deren Abläufen. Essenzieller Bestandteil dieser Strategie ist eine Verschlankung der Organisation zur Optimierung der Wertschöpfungskette: Die für die Produktion notwendigen Maßnahmen werden möglichst perfekt aufeinander abgestimmt, während man überflüssige oder sekundäre Aktivitäten reduziert oder ersatzlos streicht. Die Ziele des TPS und des Lean Managements sind Qualitätsverbesserung in Kombination mit einer Kostenreduktion. Um diese Ziele zu erreichen, werden als zentrale Elemente frühe und enge Feedback-Schleifen zur Verifikation und Steuerung von Managementmaßnahmen etabliert. Großer Wert wird auch auf die maximale Sichtbarkeit und Transparenz der angewendeten Lösungsansätze, des jeweiligen Status der Umsetzung und auf die Eigenschaften der Ergebnisse gelegt. Flankiert wird das Vorgehen durch ein aktives Fehlermanagement, das Abweichungen zwischen Plan und Realität als Verbesserungschance begreift. SCRUM: Agile Methode mit hoher Reputation Als Folge der Orientierung an den oben beschriebenen Prinzipien und aus der Erfahrung ineffizienter und kostenintensiver Softwareprojekte hielten Anfang der 1990er-Jahre verstärkt Teile des „agilen“ Paradigmas Einzug in die Softwareentwicklung. Im „Manifesto for Agile Software Development“ formulierten 2001 verschiedene Softwareexperten vier Fundamentalprinzipien für agile Entwicklungskonzepte, die auch heute nichts von ihrer Aktualität eingebüßt haben: ❑ Individuen und Interaktion gelten mehr als Prozesse und Tools. ❑ Funktionierende Programme gelten mehr als ausführliche Dokumentationen. ❑ Die stetige Zusammenarbeit mit dem Kunden hat größere Bedeutung als Verträge. ❑ Der Mut und die Offenheit für Änderungen stehen über dem Befolgen eines festgelegten Plans. Trotz ähnlicher Zielrichtungen haben sich bis heute nicht alle agilen Methoden in den Unternehmen mit gleichem Erfolg und Umfang durchgesetzt. Als „Primus inter pares“ der agilen Methoden gilt heute SCRUM. Seinen Namen hat die Methode von einer dem Penalty ähnelnden Spielfigur des Rugby- Sports erhalten. SCRUM, übersetzt als „dichtes Gedränge“, kombiniert die Spieler in hoher Dichte, aber nach - nicht unmittelbar erkennbaren - unsichtbaren Regeln und Strukturen, um sich gemeinsam einen Vorteil gegenüber der gegnerischen Mannschaft zu erkämpfen. Der Vergleich zwischen Rugby und dem Thema „Projektmanagement und Produktentwicklung“ wurde erstmals in dem 1986 in der Harvard Business Review erschienenen Beitrag mit dem Titel: „The new product development game“ hergestellt. Dort heißt es: „Stop running the relay game and take up rugby“ (Beenden Sie den Staffellauf und beginnen Sie mit Rugby). Die Forderung spielt auf den Umstand an, dass eine starre Abfolge bei den Entwicklungs- und Programmierarbeiten (wie im Staffellauf) nicht immer im Einklang mit der Zielsetzung von Geschwindigkeit und Flexibilität steht. Besser wäre ein ganzheitlicher, teamorientierter Ansatz - eben wie im Rugby. SCRUM gilt heute als die am weitesten verbreitete agile Methode. Die Liste der Unternehmen, die SCRUM einsetzen, liest sich wie das „Who is Who“ der weltweiten Unternehmenseliten. Beispiele hierfür sind etwa Google, Nokia oder Siemens. Siegfried Seibert, Professor für Projektmanagement an der Hochschule in Darmstadt, erklärte SCRUM bereits im Januar 2007 in der „projektMANAGEMENT aktuell “ zu „einem repräsentativen Beispiel für agiles Projektmanagement“. Was den Vergleich mit anderen agilen Methoden angehe, sei SCRUM gegenüber anderen Ansätzen stärker auf das Management von Projekten als auf softwaretechnische Fragen ausgerichtet, so Seibert. Tatsächlich ist SCRUM weit mehr als ein modernes Verfahren der Softwareentwicklung. SCRUM deckt im Gegensatz zu anderen agilen Methoden wie XP oder FDD nicht nur die Bereiche Entwicklung und Anforderungen ab, sondern hat auch einen direkten Einfluss auf die Konzep- PM_4-09_1-60: Inhalt 30.06.2009 9: 52 Uhr Seite 29 tion und Etablierung von aktuellen Managementmethoden und -ansätzen. Grundprinzipien von SCRUM Welche Prinzipien begründen die breite Akzeptanz und den hohen Verbreitungsgrad von SCRUM als Management-Framework? SCRUM motiviert eine hohe Sichtbarkeit für den Projektfortschritt, die Planung und die erzielten Ergebnisse. Diese Sichtbarkeit liefert die notwendige Transparenz, kontrolliert auf Änderungen und neue Erkenntnisse reagieren zu können. Definierte Abfolgen von kurzen Planungs- und Ausführungszeiträumen bieten gleichzeitig Stabilität und die Möglichkeit kurzfristiger Adaption von Veränderungen. SCRUM definiert nur einen einfachen Satz von Regeln, Rollen und Verantwortlichkeiten, die eine ausgewogene Dynamik im Sinne von „Checks and Balances“ verbunden mit hoher Motivation durch Eigenverantwortung und eine realistische Zielsetzung ermöglichen. Rollen, Aufgabenstellungen und Verantwortlichkeiten In SCRUM arbeiten Auftraggeber und Auftragnehmer direkt zusammen. Der Auftraggeber wird Product Owner genannt. Er repräsentiert den Kunden und bringt die Produktvision und deren konkrete Ausgestaltung ins Projekt ein. Seine Ziele und Feature-Wünsche werden durch ein Team im Rahmen eines Projekts sukzessive bearbeitet und umgesetzt. Der Product Owner entscheidet über die Zielsetzung der einzelnen inkrementellen oder vollständigen Ergebnisse. Darüber hinaus trägt der Product Owner eine besondere Verantwortung für die Erzielung des Projekterfolgs: Er identifiziert, qualifiziert und priorisiert die Anforderungen und fokussiert das Projekt adaptiv entlang der aktuellen und neuen Anforderungen. Die Zusammenarbeit zwischen Team und Product Owner unterliegt klaren Regeln, deren Einhaltung und Überwachung der SCRUM-Master organisiert. Abläufe, Prozesse und Regeln in SCRUM Die Anforderungen, Features und Aufgabenstellungen des Projekts werden durchgängig in Form von sogenannten Stories beschrieben. Diese werden durch den Product Owner priorisiert im Product Backlog gesammelt, das während der gesamten Projektlaufzeit auf dem jeweils aktuellen Stand gehalten wird. Dieses Vorgehen bietet die Offenheit, auf Änderungen kurzfristig und flexibel reagieren zu können, da neue oder veränderte Anforderungen in Beziehung zu den bisherigen Anforderungen gebracht und zu einer veränderten Priorisierung führen können. Das Pflegen des Backlogs macht es möglich, zu erkennen, worauf verzichtet werden muss, wenn externe oder interne Einflüsse Repriorisierungen in den Anforderungen oder Projektzielen erfordern. Die Umsetzung von Projektzielen findet in Iterationen, die in SCRUM als Sprints bezeichnet werden, statt. Diese werden im Rahmen von festgelegten Timeboxes durchgeführt. Ein Projekt erstreckt sich über eine Abfolge von Sprints. Jeder Sprint wird auf der Basis des aktuellen Product Backlogs geplant und gemeinsam zwischen dem Product Owner und dem Team bewertet und priorisiert. Der für den aktuellen Sprint aus dem Product Backlog ausgeplante Teil wird Sprint Backlog genannt und definiert die Aufgabenstellung für das Team im Rahmen des jeweiligen Sprints. Das Team organisiert sich selbst und verteilt die Aufgaben untereinander autonom. Täglich stattfindende Kurzmeetings, Daily SCRUM genannt, geben dem Team die Möglichkeit, über den Arbeitsfortschritt zu reflektieren und die Arbeitsorganisation anzupassen (Abb. 1). Die Ergebnisse eines Sprints werden dem Product Owner im abschließenden Sprint-Reviewmeeting demonstriert, dort findet auch die Abnahme statt. Die Ergebnisse und Erkenntnisse aus dem abgelaufenen Sprint gestatten eine zielgerichtete Anpassung des Product Backlogs für die nächsten Sprints, zum Beispiel durch Repriorisierung, Änderungen oder Ergänzungen von Stories. Abgelehnte Teilergebnisse werden in das Product Backlog zurückgeführt und gegebenenfalls für den nächsten Sprint neu aufgeplant. In der abschließenden Sprint-Retrospektive hat das Team intern mit dem SCRUM-Master die Möglichkeit, die Geschwindigkeit (Team Velocity), Hindernisse und Umsetzung zu analysieren und Verbesserungen im Teamprozess vorzunehmen. Einen vollständigen Prozessablauf mit den zentralen Arbeitsschritten inklusive des Wechselspiels zwischen Product und Sprint Backlog zeigt Abb. 2. Die sukzessive Umsetzung von durch Stories definierten Aufgabenstellungen aus dem Product Backlog im Rahmen von Sprintabfolgen wird in Abb. 3 skizziert. Stories werden in beherrschbare Einzelaufgaben heruntergebrochen und als Backlog Items bezeichnet. Seine Dynamik und Fokussierung erhält ein Projekt durch den expliziten Abgleich zwischen Feature-Wünschen des Product Owners und der Team Velocity bei der gemeinsamen Sprintplanung. Diese Form der kontinuierlichen und durch Feedback getriebenen expliziten Zusammenarbeit charakterisiert SCRUM als empirische Prozesskontrolle im (Projekt-)Management. An die Ergebnisse eines Sprints wird der Anspruch auf vollständige Produktionsfähigkeit (Production Readi- 22 l projekt MA N A G E M E N T aktuell 4/ 2009 30 WISSEN Abb. 1: Sprint Backlog in der Bearbeitung durch den SCRUM-Master während des Daily SCRUM Foto: O.-A. Hammerstein/ Opitz Consulting PM_4-09_1-60: Inhalt 30.06.2009 9: 52 Uhr Seite 30 projekt MA N A G E M E N T aktuell 4/ 2009 l 31 ness) des jeweiligen Inkrements gestellt. Dies hat Auswirkungen auf die Priorisierung und Granularität (Feinheitsstufe der Gliederung) der Aufgaben im Product und Sprint Backlog und führt zu einer Disziplinierung des Product Owners und der Selbstorganisation des Teams. Produktionsfähige Ergebnisse können durch den Product Owner sofort eingesetzt werden, das heißt, die Investitionskosten rentieren sich zeitnah. Das Team organisiert seine Aufgaben selbstständig ohne Einflussnahme von außen durch Product Owner oder Line Management. Dadurch ist das Team geschützt und kann sich auf seine Aufgaben konzentrieren. Der SCRUM-Master überwacht die Einhaltung dieser Regeln und beseitigt eventuell vorhandene Hindernisse (Impediments) in der Organisation oder im Projektumfeld, um dem Team den notwendigen Freiraum zu gewährleisten. Sprint - Planungsmeeting Sprint - Reviewmeeting Sprint - Retrospektive Sprint Daily Scrum Sprint Sprint Backlog Product Backlog Shippable Increments - Abb. 2: SCRUM - der Prozessablauf: Der dargestellte Prozess wird im Rahmen der Projektlaufzeit n-mal durchlaufen (zyklischer Sprint-Prozess). Daily SCRUMS werden zyklisch im Rahmen des jeweiligen Sprints durchgeführt. EFFIZIENT, KOMFORTABEL, SICHER: KnownAt®Project steuert jedes Projekt zum Erfolg. — Weltweiter Zugriff auf Projekte und Daten über Internet — Einfache und revisionssichere Verwaltung von Terminen, Protokollen und Aufgaben — Benutzerfreundliche Navigation mit dem Dokumenten- Explorer — Dokumentation und Archivierung mit nur einem Klick — Unkompliziertes Erstellen individueller Vorlagen — Integrierte Controlling-Komponenten und Berichte Testen Sie KnownAt®Project jetzt mit Ihrem offenen Testaccount unter WWW.PI-INFORMATIK.DE PI Informatik GmbH Tel.: 030 / 91 77 44 10 Anzeige - - PM_4-09_1-60: Inhalt 30.06.2009 9: 52 Uhr Seite 31 Fazit SCRUM ist die empirische Anwendung von kontinuierlicher Verbesserung in der Team- und Kundenzusammenarbeit. Als leichtgewichtiger Managementprozess bedient sich SCRUM keiner statischen und verbindlichen Planungsvorgaben, sondern entfaltet durch die Veränderlichkeit und Anpassungsfähigkeit der Projektanforderungen eine besondere Dynamik. Der Stand der Entwicklung ist immer transparent, eventuelle Fehler oder veränderte Rahmenbedingungen werden durch die kontinuierliche Anpassung berücksichtigt. Als empirischer Prozess eignet sich SCRUM im Allgemeinen für das Management komplexer Projekte oder Produkte und im Besonderen für die Durchführung ambitionierter Softwareentwicklungsprojekte. Durch die Gliederung der Anforderungen nach Wichtigkeit und Bedeutung liefert SCRUM als agiler Entwicklungsprozess schnell ausführbare Software- oder Produktfeatures, deren Funktionalitäten sich ausschließlich an den wichtigsten Kundenvorgaben orientieren und somit eine hohe Kundenzufriedenheit garantieren. ■ Schlagwörter agile Methoden, agiles Projektmanagement, Koordination durch Selbstabstimmung, SCRUM, Stakeholderorientierung, Vorgehensmodell Kompetenzelemente der NCB 3.0 4.1.3 Projektanforderungen und Ziele, 4.1.11 Projektphasen, Ablauf und Termine, 4.1.18 Kommunikation Autor Oliver-Arne Hammerstein ist Certified SCRUM Master, Member of SCRUM Alliance, Bereichsleiter/ Prokurist der Opitz Consulting Hamburg GmbH. Anschrift Opitz Consulting Hamburg GmbH Jachtweg 10, D-21129 Hamburg Tel.: 0 40/ 74 11 22-0 Fax: 0 40/ 74 11 22-43 00 22 l projekt MA N A G E M E N T aktuell 4/ 2009 32 WISSEN Product Backlog Shippable Increments Sprint n Sprint n+1 Sprint n+2 Abb. 3: Sprintabfolgen und sukzessive Umwandlung des Product Backlogs in Shippable Increments. Der Ablauf skizziert zusätzlich die Fälle der Ablehnung eines Inkrements und Realisierung im Folgesprint sowie eine Ergänzung des Product Backlogs im laufenden Projekt. Mey Ma Haftungsausschluss Die Inhalte dieser Zeitschrift werden von Verlag, Herausgeber und Autoren nach bestem Wissen und Gewissen erarbeitet und zusammengestellt. Eine rechtliche Gewähr für die Richtigkeit der einzelnen Angaben kann jedoch nicht übernommen werden. Gleiches gilt auch für die Websites, auf die verwiesen wird. Es wird betont, dass wir keinerlei Einfluss auf die Inhalte und Formulierungen dieser Seiten haben und auch keine Verantwortung für sie übernehmen. Grundsätzlich gelten die Wortlaute der Gesetzestexte und Richtlinien sowie die einschlägige Rechtsprechung. PM_4-09_1-60: Inhalt 30.06.2009 9: 52 Uhr Seite 32
