Transcript Agil
Scrum im klassischen Projektumfeld - agile Elemente erfolgreich einsetzen 05.03.2011 – PMI Chapter München Allianz Managed Operations & Services (AMOS) IT Jochen Dinter Fachliche Konzeption Anforderungsanalyse FachDesign SystemTest Techn. Design Releaseabnahmetest Kodierung FTE DV-KIT KOT Produktivsetzung Inhalt 1 2 Agile Methodik im Projektkontext 3 Erfolgsfaktoren für die Einführung Wie wird agiles Vorgehen derzeit beim ABS Programm Leben Vertrag umgesetzt? 2 Was bedeutet agil? Elemente der agilen Entwicklung Umsetzung in festen Iterationszyklen Detaillierte Planung der unmittelbar anstehenden Anforderungen, grobe Planung der Folgetätigkeiten Flexible Reaktion auf nachfolgende Änderungen Eindeutige Priorisierung der Anforderungen Enge Einbindung des Kunden Timeboxing aller Tätigkeiten Selbstorganisation und Teamarbeit 3 Klassisch vs. agiler Vorgehensweise Zeit Funktionalität Traditionell Kosten Qualität Agil 4 Scrum in 100 Worten Scrum ist ein agiles Framework / Rahmen, der es erlaubt auf die Auslieferung der wichtigsten Geschäfts-Anforderungen innerhalb kürzester Zeit zu fokussieren und innerhalb dem die Produktentwicklung stattfindet. Das Business setzt die Prioritäten (Return of Invest) Anforderungen sind als Listeneinträge im Product Backlog festgehalten Das Vorgehen ist empirisch, inkrementell Selbst-organisierende Entwicklungsteams legen das beste Vorgehen zur Auslieferung der höchstpriorisierten Features fest. Das ScrumTeam verbessert sich kontinuierlich. Alle zwei Wochen bis zu einem Monat kann jeder lauffähige Software sehen und entscheiden, diese so auszuliefern oder in einem weiteren Abschnitt zu ergänzen. Transparenz wird erzeugt. 5 2 1 2 Agile Methodik im Projektkontext 3 Erfolgsfaktoren für die Einführung Wie wird agiles Vorgehen derzeit beim ABS Programm Leben Vertrag umgesetzt? 6 Allianz Business System (ABS) Programm der Allianz Umsetzung eines spartenübergreifendes Systems für Vertrags- und Schaden- bzw. Leistungsbearbeitung. Die Einbeziehung der drei Sparten mit ihren jeweiligen Besonderheiten sowie der föderalen Systeme erfordert eine Vereinheitlichung der Kommunikation, der Dokumentation und Schnittstellen auf Basis gemeinsamer Standards (ABS Vorgehensmodell). 7 Projekt ABS Leben – Herausforderung Ausgangssituation Zielsetzung • hohe Parallelität der Arbeiten 1. klare Zielsetzung je Release und Iteration • zu wenig Kommunikation zwischen den beteiligten Fachbereichen 2. Effiziente Reaktion auf sich ändernde Anforderungen 3. Reduktion der Planungsunsicherheit 4. Fokussierung auf die wichtigsten Produktmerkmale 5. Wissenstransfer auf breiter Basis 6. Teamorientierte Zusammenarbeit 7. Verbesserung der Produktqualität • unklarer Projektstatus • Überlastung und Frustration der Mitarbeiter • sinkende Qualität • Priorisierungskonflikte • zu geringe Umsetzungsgeschwindigkeit 8 Warum agil? 9 In welchen Fällen eignet sich agiles Vorgehen? Project Management Institute (PMI): Agil eignet sich am besten für Projekte, die eine schnelle Reaktion auf Veränderungen und eine kontinuierliche Kommunikation mit den Kunden erfordern. Wasserfall eignet sich am besten für Projekte, in denen wenig oder keine Änderungen der Anforderungen zu erwarten, die Anforderungen klar sind und von allen Team-Mitgliedern gut verstanden werden. Je kürzer der sichere Planungshorizont, desto eher eignet sich agiles Vorgehen. Quelle: Adaptiert von Ralph D. Stacey, Strategic Management And Organisational Dynamics: The Challenge Of Complexity, Prentice Hall, 2000 10 Einführung agile Methodik – Projekt Leben Organisation Methodik 2. 1. Bottom – Up Einführung 3. Planung Programmleitung ABS Leben Backlog Produktmanagement Vertrag Leben Backlog Agiles PortfolioManagement Release Backlog Release-Planung Reorganisation Team Team Backlogs Backlog Sprint Planning Daily Scrum Review Retrospektive TeamAbstimmung Test-Integration Pair Programming Definition of Done Breiten-Rollout < Projektmanagement Querschnitt Architektur Teilprojekt n … Teilprojekt n Testmanagement 11 Bottom-Up Einführung PRO geringeres Risiko geringere Störung des Betriebs hohe Lernkurve, Schaffung von best practices Integration der Beteiligten in Prozess-Gestaltung CONTRA „Akzeptanz“ von bestehenden Strukturen (Scrum, but…) hoher Abstimmungsaufwand mit „klassischen“ Projekt-Teams Einführung agiler Prozesse trotz Schnittstellen zu klassisch aufgestellten Teams teilw. redundante Vorgehensweise und Strukturen Probleme/Behinderungen des Projekts werden erkannt und aufgezeigt kurzfristig geringere Einsparungen (Zeit, Aufwand, Kosten) 12 Phase 1: Agilität in der Realisierung Fachliche Analyse Anforderungsanalyse Schätzung Techn. PrioriDesign sierung Code Test Inte- Unitgration Test Releaseabnahmetest Voraussetzung • klare Priorisierung der Anforderungen (Projektleitung / Chief Product Owner) Produktivsetzung Ergebnis 1. Definierte Iterationsergebnisse (Team-Commitment) 2. Frühzeitiges Erkennen von Kapazitäts-Engpässen (Velocity-Messungen) • keine Änderungen an Anforderungen während Realisierungszyklus (Sprint) 3. Höhere Gesamtqualität (potentiell auslieferbare Inkremente) • CRs als Anforderungen für folgende Sprints 4. geringere Störanfälligkeit in Realisierungsphasen (Impediments) • Übergabe granularer Anforderungs-Artefakte (User Stories) • Definierte Testergebnisse (Akzeptanzkritierien) 13 2. Phase: Reorganisation Projekt Leben Gesamtprojektleitung Strategieteam Implementierungsteam Schulung & Einführung Architektur PMO Umsetzungskonzepte Projektleitung Realisierung, Test, RollOut Projektleitung Release n+2ff Release n+1 Release n Antrag Aufstellung nach Anforderungs-Bereichen Antrag Antrag Bestand Bestand Bestand „one team, one office“ Bestand Finanzplattform Leistung Leistung Leistung Minimierung der Übergabe-Schnittstellen Leistung PEX, Controlling heterogene Teams aus fach-Dokumente,PEX,Contr. und technischen Experten Dokumente Controlling Vers.technikProduktionsbetreuung Vers.technik dedizierte Vers.technik Vers.technik Migration) Produktion Konzeption & Design Projektleitung Release in Prod. Testmanager Antrag Finanzplattform Tests innerhalb der Teams Finanzplattform Wissenstransfer in- und zwischen den Teams Rotation der Experten je Release Projektleitungsfunktion Stabsfunktion Team 14 Rel. n: Das aktuell in der Entwicklung/Test befindliche Release Ergebnisse aus den ersten Phasen vermindertes Risiko - bessere Planbarkeit des Projektfortschritts (Priorisierung, Vorhersagbarkeit durch Velocity, dedizierte Teams) erhöhte Produktivität - eindeutige Rollen- und Prozessverantwortlichkeiten Prozess-Optimierung durch agile Methodik - Wissenstransfer und Skill-Erweiterung durch fachlich/technische Teams (Pair-Programming, Reviews, Feedback) verbesserte Qualität - Priorisierung und Einplanung von Defect-Anteilen - Erhöhung der Testabdeckung (Teil der Definition of Done) - Aufzeigen und Adressierung von Problemen im Projekt und der Organisation (Impediments) 15 Product Backlog – die agile WBS sortierte Liste der Anforderungen – regelmässige Repriorisierung 1. freigebene Anforderungen, priorisiert, detailliert Input für Sprint-Planung 2. priorisierte Anforderungen – zu detaillieren für folgende Iterationen 3. neue Anforderungen – niedrig priorisiert unsortiert, high level (CRs, Review-Ergebnisse) 16 Product Backlog – Skalierung 17 3 1 2 Agile Methodik im Projektkontext 3 Erfolgsfaktoren für die Einführung Wie wird agiles Vorgehen derzeit beim ABS Programm Leben Vertrag umgesetzt? 18 Wichtiger Erfolgsfaktor: Selbstorganisation Gemeinsame Festlegung auf Arbeitsvereinbarungen (Team-Charter) Beispiel: Definition of Done "Eine User-Story ist fertiggestellt, wenn die fachliche Abnahme erfolgt ist, relevante Tests erfolgreich waren. JUnit Tests erstellt, eine autom. CodeÜberprüfung keine offensichtlichen Fehler liefert, Issuetracker entsprechend aktualisiert wurden und der Checkin erfolgreich erfolgt ist" Definition of Ready "Design vollständig, Abnahmekriterien definiert, Übergabe an Entwicklung erfolgt Architekturthemen: relevante Punkte mit Architekten besprochen. Anforderungs-Status gepflegt und Priorisierung eindeutig.“ 19 Agilität in Großprojekten - Empfehlungen Unterstützung Management Schulung Konsequente Einführung Kommunikation angepasstes Berichtswesen Anpassung der Infrastruktur - Testautomatisierung - Application Lifecycle Management 21 Lessons learnt (aus Retrospektiven) Teamzufriedenheit „Gute Stimmung, Arbeit klar strukturiert“ Produktivität „kommen durch Sprintziele besser voran“ Qualität „Defects werden schneller behoben“ Transparenz im Projekt „Fokussierung auf wichtigste Anforderungen“ Weiterer Einsatz „Agile Methoden können im Anforderungs-Management sinnvoll unterstützen“ Erste agile Ansätze erfolgreich implementiert, positives Feedback Beteiligte und Management 23 Vielen Dank für Ihre Aufmerksamkeit. Ihre Fragen?