Projektmanagement 10. Agiles Projektmanagement Norbert Paul Darmstadt, 23.06.2017 Agenda Herausforderung und Umgang mit Komplexität und Unsicherheit Scrum als Beispiel eines agilen Vorgehensmodell Das agile Manifest - Werte und Prinzipien Einführung Scrum Rollen, Prozesse, Artefakte Diskussion – Erfahrungen und Anwendung Erfahrungen und Überlegungen zur Einführung von Scrum Unternehmenskultur und Erfahrungen Hybride Anwendungsformen © Norbert Paul Consulting 2017 -2- Projektmanagement – V10: Agiles PM Herausforderung Komplexität und Unsicherheit In der GPM-Studie „Misserfolgsfaktoren in der Projektarbeit“ wird insbesondere auch „die Komplexität“ als „Problem“ genannt, z.B. aufgrund zu hoher interkultureller Diversität oder wegen zu hoher Änderungsdynamik. Hierbei wird allerdings Ursache und Wirkung verwechselt! Komplexität ist ein Projektkontext und kein Problem an sich! Statt sie zu ignorieren, sollte man bewusst mit ihr umzugehen und die Vorgehensweise darauf abstimmen. Erster Schritt ist eine Situationsanalyse des Projektkontextes… Quelle: GPM Studie-Kurzfassung: Misserfolgsfaktoren in der Projektarbeit 2013 © Norbert Paul Consulting 2017 -3- Projektmanagement – V10: Agiles PM Framework für Analyse: Komplexität des Projektkontextes Einfache Situation Modifiziertes „stacey“-Diagramm Bekannt, beherrschbar Machen! unklar chaotisch Kompliziert Grundsätzlich lösbar und steuerbar Lineares VG mögl. / agile Elemente Anforderungen kompliziert Komplex Wechselwirkungen und Auswirkungen unbekannt agiles Vorgehen sinnvoll/notwendig klar einfach kompliziert sicher/bekannt komplex Chaotisch unsicher/neu (Erfahrung mit) Technologie Systemverhalten unbekannt, nicht steuerbar Vermeiden… © Norbert Paul Consulting 2017 -4- Projektmanagement – V10: Agiles PM Nützliche Strategien im Umgang mit Komplexität Unterscheidungen treffen zwischen kompliziert, komplex und chaotisch Vorgehen darauf abstimmen, eigene Muster erkennen Gewisse Flexibilität der Ziele und Vorgehen Ausprobieren in kleinen Schritten, Ergebnisse prüfen, justieren Fehlertoleranz, Fehlerkultur aufbauen Bei Fehler keine Suche nach Schuldigem, sondern nach Lösungen Selbstorganisation („Subsidiarität“) Da Top-Down-Steuerung nicht möglich/sinnvoll, Aufbau selbstregelnder Systeme, idealerweise mit einfachen Regeln Bsp. Kreisverkehr: „Wer drin ist hat Vorfahrt“ Verkehr regelt sich selbst Bsp. Zielvereinbarung: „Dann Ziel vorgeben, wo es Sinn macht“ Führungskraft vor Ort entscheidet, wer Ziel bekommt und wie. © Norbert Paul Consulting 2017 -5- Projektmanagement – V10: Agiles PM Komplexitätsreduktion… In SCRUM wird die Komplexität dadurch reduziert, dass während eines Sprints, die Anforderungen „eingefroren“ werden, und somit eine „Wasserfall-artige“ Entwicklung im Sprint möglich ist. Durch die Präsentation der Ergebnisse des Sprints (SoftwareIncrement) wird frühzeitig Feedback eingeholt, damit begegnet man der Unsicherheit der Anforderungen Überprüfung und Anpassung Durch die Teams werden in Reviews regelmäßig die Ergebnisse, die Vorgehensweisen reflektiert, um sie effizienter zu gestalten © Norbert Paul Consulting 2017 -6- Projektmanagement – V10: Agiles PM Agenda Herausforderung und Umgang mit Komplexität Scrum als Beispiel eines agilen Vorgehensmodell Das agile Manifest – Werte und Prinzipien Einführung Scrum Rollen, Prozesse, Artefakte Diskussion – Erfahrungen und Anwendungen Erfahrungen und Überlegungen zur Einführung von Scrum Unternehmenskultur und Erfahrungen Hybride Anwendungsformen © Norbert Paul Consulting 2017 -7- Projektmanagement – V10: Agiles PM Werte des „Agilen Manifests“ Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt: Individuen und Interaktionen mehr als Prozesse und Werkzeuge Funktionierende Software umfassende Dokumentation Zusammenarbeit mit Kunden mehr als Vertragsverhandlung Reagieren auf Veränderung das Befolgen eines Plans mehr als mehr als Obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein. Quelle: http://agilemanifesto.org/iso/de/ © Norbert Paul Consulting 2017 -8- Projektmanagement – V10: Agiles PM Agile Prinzipien Ermächtigung und Selbstorganisation Frühe, regelmäßige Lieferung Durch die Teams werden in Reviews regelmäßig die Ergebnisse, die Vorgehensweisen reflektiert, um sie effizienter zu gestalten Transparenz Frühe Lieferung von Inkrementen ermöglicht das frühe Einholen von Feedback. Überprüfung und Anpassung Teams sind eigenverantwortlich und selbstorganisiert. Austausch von Informationen im Team und nach außen Festlegen von Zeitfenstern Definierter Anfang und Ende fördert Disziplin, Fokus und pünktliche Lieferung © Norbert Paul Consulting 2017 -9- Projektmanagement – V10: Agiles PM Prinzipien hinter dem agilen Manifests Höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen. Heiße selbst späte Anforderungsänderungen in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden. Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne. Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten. Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen. Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteam zu übermitteln, ist im Gespräch von Angesicht zu Angesicht. © Norbert Paul Consulting 2017 - 10 - Funktionierende Software ist das wichtigste Fortschrittsmaß. Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können. Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität. Einfachheit -- die Kunst, die Menge nicht getaner Arbeit zu maximieren -- ist essenziell. Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams. In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an. Projektmanagement – V10: Agiles PM Scrum - Gedränge https://upload.wikimedia.org/wikipedia/commons/3/32/M%C3%AAl%C3%A9e_ASM-MHRC.jpg © Norbert Paul Consulting 2017 - 11 - Projektmanagement – V10: Agiles PM SCRUM Scrum (englisch für Gedränge) ist ein Vorgehensmodell der Softwaretechnik. Der Ansatz von Scrum empirisch, inkrementell und iterativ. Er beruht auf der Ansicht, dass die meisten modernen Entwicklungsprojekte zu komplex sind, um durchgängig planbar zu sein. Scrum versucht, die Komplexität durch drei Prinzipien zu reduzieren: Transparenz: Der Fortschritt und die Hindernisse eines Projektes werden täglich und für alle sichtbar festgehalten. Überprüfung: In regelmäßigen Abständen werden Produktfunktionalitäten geliefert und beurteilt. Anpassung: Die Anforderungen an das Produkt werden nicht ein und für alle Mal festgelegt, sondern nach jeder Lieferung neu bewertet und bei Bedarf angepasst. (Quelle: Wikipedia) © Norbert Paul Consulting 2017 - 12 - Projektmanagement – V10: Agiles PM SCRUM – schrittweise Entwicklung in Sprints Ziel ist die schnelle, kostengünstige und qualitativ hochwertige Fertigstellung eines Produktes, das einer zu Beginn formulierten Vision entsprechen soll. Die Umsetzung der Vision in das fertige Produkt erfolgt nicht durch die Aufstellung möglichst detaillierter Anforderungslisten ( Lastenheft / Pflichtenheft), die dann phasenweise umgesetzt werden. Stattdessen werden klare Funktionalitäten aus der Anwendersicht formuliert, die dann in zwei bis vier Wochen langen, sich wiederholenden Intervallen, sogenannten Sprints iterativ und inkrementell umgesetzt werden. © Norbert Paul Consulting 2017 - 13 - Projektmanagement – V10: Agiles PM Scrum – schrittweise Entwicklung in Sprints Die Anforderungen aus Anwender-Sicht werden meist als User Stories bezeichnet. Am Ende eines jeden Sprints steht bei Scrum die Lieferung einer fertigen (Software)-Funktionalität (das Produkt-Inkrement). Die neu entwickelte Funktionalität sollte in einem Zustand sein, dass sie an den Kunden ausgeliefert werden kann (potential shippable code oder usable software). Aufgrund seiner engen Einbeziehung in das Projekt kann der Kunde unmittelbar Feedback geben. So wird genau das entwickelt, was er wirklich benötigt. In jedem Zyklus werden die am höchsten priorisierten Anforderungen umgesetzt und damit die jeweils höchste Wertschöpfung für den Kunden erzielt. Auf Änderungswünsche kann flexibel und kurzfristig reagiert werden. © Norbert Paul Consulting 2017 - 14 - Projektmanagement – V10: Agiles PM SCRUM - Framework im Überblick Quelle: www.agilebuddha.com © Norbert Paul Consulting 2017 - 15 - Projektmanagement – V10: Agiles PM SCRUM – Framework im Überblick Tools („Artefakte“) Product Backlog Sprint Backlog Inkrement Sprint Ziel Definition of Done Organisation/Prozess Rollen (der Personen) Sprint Planung Product Owner Daily Scrum Scrum Master Sprint Review Entwicklungsteam Sprint Retrospective Kunde/Auftraggeber © Norbert Paul Consulting 2017 - 16 - Projektmanagement – V10: Agiles PM Scrum – Rollen und Verantwortung Product Owner Der Product Owner ist für die Eigenschaften und den wirtschaftlichen Erfolg des Produkts verantwortlich. Er definiert und priorisiert die zu entwickelnden Produkt-eigenschaften und nimmt diese am Ende eines Sprints ab. Entwicklungsteam Das Entwicklungsteam organisiert sich selbst und verantwortet die Lieferung der Produktfunktionalitäten in der vom Product Owner gewünschten Reihenfolge gemäß den vereinbarten Qualitätsstandards. Scrum Master Der Scrum Master fungiert als Moderator und Dienstleister. Er unterstützt das Entwicklungsteam bei der Einhaltung der Regeln, er schafft geeignete Rahmenbedigungen, organisiert Ressourcen, räumt Hindernisses aus dem Weg, moderiert bei Konflikten, organisiert die Kommunikation mit der „Außenwelt". ] © Norbert Paul Consulting 2017 - 17 - Projektmanagement – V10: Agiles PM Gruppenarbeit / Diskussion Erfahrungen Welche Erfahrungen haben Sie mit agilen Vorgehensweisen in Projekten wie Scrum gemacht? Erfolgsfaktoren Welche wesentlichen Erfolgsfaktoren für IT-Projekte (siehe Vorlesung 1) werden durch ein agiles Vergehen wie Scrum besonders berücksichtigt? Grenzen der Anwendung Wo gibt es Grenzen der Anwendung? Wo ist die agile Methode nicht sinnvoll? © Norbert Paul Consulting 2017 - 18 - Projektmanagement – V10: Agiles PM Agenda Herausforderung und Umgang mit Komplexität Scrum als Beispiel eines agilen Vorgehensmodell Agile Manifest – Werte und Prinzipien Einführung Scrum Rollen, Prozesse, Artefakte Diskussion – Erfahrungen und Anwendungen Erfahrungen und Überlegungen zur Einführung von Scrum Unternehmenskultur und Erfahrungen Hybride Anwendungsformen © Norbert Paul Consulting 2017 - 19 - Projektmanagement – V10: Agiles PM Einführung von agilen Vorgehensmodellen Erfahrungen am Beispiel SCRUM In der Praxis stellt sich die Einführung von SCRUM oder anderen agilen Methoden oft als schwierig dar. Ein Grund dafür kann sein, dass die der Methode zugrunde liegenden Werte zunächst nicht (ohne weiteres) zur Kultur des Unternehmens passen, und dies nicht hinreichend reflektiert und berücksichtigt wird. Die Einführung einer Methode wie SCRUM ist ein Projekt auf mehreren Ebenen: Einführung der agilen Methodik im Fachprojekt Training, Übung für die Teammitglieder Methodik selbst ist prinzipiell einfach, bedarf aber der Übung/Unterstützung Einführung von agilen Werten im Unternehmen, Veränderung der Unternehmenskultur, ist also ein Organisations-Entwicklungsprojekt! Dieses Change-Management wird oft vernachlässigt, oder ist gar nicht bewusst © Norbert Paul Consulting 2017 - 20 - Projektmanagement – V10: Agiles PM Einführung von agilen Vorgehensmodellen – Anwendung der Werte des Agilen Manifestes Methoden (wie SCRUM) und deren zugrundeliegende Werte müssen zum jeweiligen Kontext, in dem sie verwendet werden passen (Unternehmen, Kultur, Kompetenzen, Technologie usw. ). Es ist eine für das Unternehmen passende Methodik (Vorgehensmodell) zu entwickeln, dass die Besonderheiten des jeweiligen Kontextes berücksichtigt. Dies bedeutet die Balance für die „agilen“ Werte individuell zu justieren: „Agile“ Werte/Prinzipien „Klassische“ Werte/Prinzipien Selbstorganisation Hierarchische Führung Individuen und Interaktionen Prozesse und Werkzeuge Funktionierende Software Dokumentation (frühes Ausliefern) (Konzepte, Spezifikationen) Vertrauensvolle Zusammenarbeit Verträge und Vereinbarungen Reagieren auf Veränderungen Pläne © Norbert Paul Consulting 2017 - 21 - Projektmanagement – V10: Agiles PM Hybride Anwendung - Beispiel Quelle: Ayelt Komus 2015 © Norbert Paul Consulting 2017 - 22 - Projektmanagement – V10: Agiles PM