Ervaringen met Agile Software Development volgens SCRUM Erik J.H. Jaspers CTO Planon B.V. Contents Introductie Planon Agile Development Scrum Waarom Agile/Scrum toegepast? Ervaringen, leerpunten 1
Development and implementation of standard software for optimizing workplace management processes Introductie Planon Introductie: Planon Group Corporate profile: Opgericht in 1982, ontwikkelt Facilities Management / RE software sinds 1992. Gevestigd in Nijmegen Actief in 14 landen Dochterondernemingen in België, Duitsland en UK Grootste leverancier van FM software in Europa. Marktleider in Nederland en België Meer dan 1000 klanten Omzet 2005: Euro 17,2 miljoen 220(+) medewerkers waarvan ca. 45-50 in SW Development 2
Introductie: Internationaal actief Multinationale klanten: Shell, ING, Delhaize April 2006: start operatie in de USA Deutsche Bahn Services Adidas, Bayer AG Leverkussen DHL, IG Immobilien Universiteiten: Köln, Mainz, London School of Economics, Cambridge, Oxford, Belfast, York, Sheffield, UVA, Erasmus Boots Ltd, Sanctuary Group Matra British Aerospace, BAT Philips, ASML, AKZO, BASF Nike, Ernst &Young, KPMG, TPG 6 NLOverheidsdiensten, Tweede Kamer, 5 provincies Gartner IWMS Magical Quadrant: visionaries Introductie: Omzet ontwikkeling 18.000.000 16.000.000 14.000.000 12.000.000 10.000.000 8.000.000 6.000.000 4.000.000 2.000.000-39% 90% 41% 21% 45% 65% 62% 36% 30% 15% 30% 1995 1997 1999 2001 2003 2005 Als enige onderneming vanaf 2000 in de Technology Fast-50 van Deloitte 3
Development and implementation of standard software for optimizing workplace management processes Agile Development Agile Development : Values Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. www.agilemanifesto agilemanifesto.orgorg 4
Agile Development: Principles (Een selectie): Deliver working software frequently, with a preference to the shorter timescale. Welcome changing requirements, even late in development. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. www.agilemanifesto agilemanifesto.orgorg Development and implementation of standard software for optimizing workplace management processes Scrum 5
Scrum Scrum is een Project Management methode Scrum is geen Software Engineering practise Scrum is goed toepasbaar bij de ontwikkeling van Productsoftware Scrum is interessant bij langdurigere projecten (> 1 jr.) en teamgroottes vanaf 5 tot 7 medewerkers (multidisciplinair) Goede engineering practises zijn wel een belangrijke randvoorwaarde bij de invoering van Scrum Test automation (Unit testing & robots) Configuration management Scrum: proces Team planning meeting: kennisdeling breakdown rolverdeling risico s commitment Retrospective: Wat ging fout? wat kunnen in volgende Sprint verbeteren? Daily Scrum. Per teamlid: Wat gisteren gedaan Wat doe ik vandaag Heb ik nog problemen? (tot. 15 minuten/dag) Product Management Stuurgroep Sprint Review: Periodiek geteste en werkende SW. Team demo! Ken Schwaber 6
Scrum: Planning & tracking Burndown Prio hoog Prio laag Backlog Req 1 Req 2.Issue x.. Req n. Issue z Geen Gantt Charts volgordelijkheid regelt het team zelf tijd Scrum: goede Backlog is key en moeilijk Prio hoog Backlog Req 1 Req 2 Duidelijk? Capaciteit & Planning Scrum Master.Issue x.. Product Owner Prio laag Req n. Issue z Volgorde opties, Schattingen Architect 7
Development and implementation of standard software for optimizing workplace management processes Waarom Agile/Scrum toegepast? Waarom Agile/Scrum? Key voor Planon: Open to change Dat requirements wijzigen is uitgangspunt, geen ongewenste ontwikkeling of uitzondering (Prince2) Het managen van wijzigingen is een integraal en vooral natuurlijk onderdeel van het Project Management framework. Binnen de Sprint geen wijzigingen Tussen Sprints wel ruimte voor wijziging (Backlog) De toegevoegde waarde van zware wijzigingsprocedures is vaak zeer beperkt. 8
Open to Change Dilbert op de kast in de keuken (2004) Waarom Agile/Scrum? Prince2 Scrum Focus op praktisch resultaat, value 9
Development and implementation of standard software for optimizing workplace management processes Ervaringen / leerpunten Ervaringen en leerpunten De regels achter Scrum zijn eenvoudig Er worden een beperkt aantal project management elementen aangereikt Scrum helpt zeker bij het beheersbaar maken van ontwikkelprojecten Maar vaak niet eenvoudig om goed te implementeren Maar je moet ze wel allemaal Invoeren.. De ervaring leert tot in welke mate ze nodig zijn Maar silver bullets bestaan (nog?) niet: complexe projecten blijven complex. Fouten blijven gemaakt worden 10
Ervaringen en leerpunten Een Sprint is ook echt een Sprint! (Hogere druk op de teams) Alle aspecten van Software Engineering worden urgent doordat per maand een volledige cycle wordt doorlopen Requirements management Specification Programming Testing (met( name!) Documentation Op alle aspecten werkwijzen aanpassen (met name specification, testing) Ervaringen en leerpunten Bij implementatie: Opleiding meerdere Scrum Masters (niet( zuinig zijn) Er zijn maar weinig echte goede trainers (Ken Schwaber) Overweeg consultancy bij startup Goed configuratie management vooraf Regressie testing tools en infrastructuur (tot in de applicatie!) Continuous build en Nightly build met rapportage 11
Ervaringen en leerpunten Bij implementatie: Zorg voor testers (1:3, Microsoft doet 1:1) In stappen naar een Sprint per maand: het is niet makkelijk Start met een team, later meerdere teams Stel de Architect vrij van geplande activiteiten Hou het praktisch binnen de teams; fysieke communicatiemiddelen gebruiken Ervaringen en leerpunten 12
Ervaringen en leerpunten Ervaringen en leerpunten 13
Conclusie: Introductie van Scrum Is een aanrader Development and implementation of standard software for optimizing workplace management processes Vragen? 14
Boeken Agile Software Development with Scrum Ken Schwaber,, Mike Breedle Prentice Hall, ISBN 0-130 13-067643-9 Agile Project Management with Scrum Ken Schwaber Microsoft Press, ISBN 0-73560 7356-1993-X Smart Succesvol samenwerken in systeemontwikkeling Sander Hogendoorn 2003, Ordina,, college van partners. Good To Great Jim Collins Business Contact, ISBN 90-254 254-2510-0 15