EEN INTRODUCTIE TOT SCRUM www.scrumacademy.nl Panamalaan 8a
1019 AZ AMSTERDAM 020-8200910 info@scrumacademy.nl
HET ONTSTAAN VAN SCRUM Agile, omarm verandering! Scrum is een methode die voortkomt vanuit Agile, een softwareontwikkelmethode ontstaan in de jaren 70. Agile, oftewel wendbaar, gaat uit van de gedachte dat het omarmen van verandering belangrijker is dan het volgen van een vastomlijnd plan. In 2001 stelde een groep visionaire ontwikkelaars het baanbrekende Manifesto for Agile Software Development op: We are uncovering better ways to develop software by doing it and helping others to 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 While there is value in the items on the right side of this list, we value the items on the left more. Scrum, de rugby approach Na wat eerste voorzichtige benamingen als the "rugby" approach, ontstond Scrum onder invloed van Ken Schwaber en Jeff Sutherland in de eerste helft van de jaren '90 als vastomlijnde methode. Scrum, ook voor concept & design De termen Agile en Scrum worden tot dusver vooral gebruikt om te refereren aan software ontwikkeling. Het ontwerpbureau Fabrique, één van de fouding fathers van Scrum Academy, heeft in 2008 jaar ontdekt dat het agile denken, en Scrum als methode, niet alleen geschikt zijn voor softwareontwikkeling, maar ook om het hele conceptvorming, design en ontwikkelproces te verbeteren. Daarmee was Fabrique destijds één van de eersten, en we zijn blij te zien dat deze gedachte door steeds meer mensen omarmd wordt. SCRUM IN HET KORT Wat is scrum? Scrum is een proces waarbij zoveel mogelijk activiteiten gelijktijdig in één ruimte plaatsvinden. Het richt zich op het snel publicatie gereed krijgen van onderdelen van een product. In blokken van enkele weken worden deze onderdelen van de eerste schets tot implementatie gebracht. Door een aantal slimme spelregels is dit niet alleen een snel maar ook een heel beheerst proces. De basisgedachte van Scrum is dat je je werkzaamheden baseert op een vastgestelde visie, niet op vastgestelde doelen en inhoud. Je omgeving verandert voortdurend. Scrum gaat daarom niet uit van een gedetailleerd masterplan vooraf, maar van een eindresultaat dat organisch tot stand komt. Dit voorkomt dat je eindigt met een eindproduct dat voldoet aan de vooraf gestelde specificaties, maar dat helaas niet meer aansluit bij de werkelijke behoefte van je eindgebruikers.
De principes van scrum Scrum gaat uit van een aantal belangrijke principes: End users first: Bij Scrum gaat het niet om het team, niet om de klant. Het gaat zelfs niet over het product. Het gaat er om hoe relevant het resultaat is voor de eindgebruiker. Freedom vs commitment: Scrum geeft vrijheid in ruil voor commitment. Dit geldt voor het bureau, de teamleden en de klant. Eliminate waste: Directe en ad hoc communicatie vervangt lange vergaderingen, uitvoerige documentatie, gedetailleerde uitwerking en overbodige features in het product zelf. Self propelled team: Het team hoeft niet helemaal zichzelf te managen en te organiseren. Maar het moet wel open, energiek, en intrinsiek gemotiveerd zijn. Timebox: Net als in het echte leven willen we altijd meer, maar dat kan niet altijd. Het vaststellen van een tijdslimiet voor veel activiteiten voorkomt dat je verdwaalt en veel kostbare tijd verliest. Inspect and adapt: Doorlopend reflecteert het team over hoe er nog effectiever gewerkt kan worden. Op basis hiervan wordt continu de werkwijze aangepast. Flexible scope: Het eindresultaat is niet van te voren in detail vastgelegd. De belofte van scrum is wel dat het product past binnen de visie en de doelen van de klant. De klant is erbij en zit achter het stuur. De voordelen Scrum heeft drie belangrijke voordelen voor opdrachtgevers: Korte time to market: Scrum is snel. De doorlooptijden zijn ongeveer van wat met waterval haalbaar is. de helft Kwaliteit: Scrum stimuleert het verantwoordelijkheidsgevoel van alle betrokkenen en bevordert het overleg tussen de disciplines. Het team heeft een enorme drive, en grote verrassingen worden voorkomen. In Scrum heb je veel meer sturing op het eindresultaat. Dit alles heeft een geweldige invloed op de eindkwaliteit. Leverzekerheid: Scrum heeft voortgangsbewaking en evaluatie diep ingebakken in het proces. Daardoor kan een scrum team garanderen dat een product gereed is binnen een bepaalde, korte, tijd. HOE WERKT SCRUM? Het hele project is opgeknipt in kortlopende sprints met strakke deadlines en duidelijke doelen. Een sprint duurt twee tot vier weken. Uitlopen is daarbij geen optie, bijsturen wel. Elke sprint bestaat uit meerdere user stories. Een story is een herkenbare, min of meer op zichzelf staande eenheid in de sprint. Bijvoorbeeld: Als gebruiker wil ik verrast worden met nieuwe recepten. De verzameling van alle stories over het hele project, heet de product backlog.
Het proces: van wensenlijst naar een werkend (deel)product Rollen Het scrumproces kent de volgende rollen: Het team Het team is multidisciplinair samengesteld en is verantwoordelijk voor het afleveren van het (software)product aan het einde van elke sprint. Het team bestaat meestal uit 5 tot 9 personen. Het is van belang dat het team open, energiek, en intrinsiek gemotiveerd is en zichzelf zo veel mogelijk organiseert. Zij doen de analyse, ontwerp, ontwikkeling en test en zorgen dat er aan het eind van de sprint een kant en klaar product is, dat in productie genomen zou kunnen worden. De Product Owner De Product Owner (product eigenaar) is de opdrachtgever/klant. Hij/zij heeft het meeste belang bij het (software)product dat gemaakt wordt. Hij beheert de product backlog, bepaalt wat er moet gebeuren en in welke volgorde. De Scrummaster De Scrum Master begeleidt het team in het scrumproces. Hij/zij faciliteert de bijeenkomsten en regelt de voorzieningen zoals een werkruimte, hardware en software. De scrummaster zorgt ervoor dat het team geen belemmeringen heeft en zo goed mogelijk kan werken. De scrummaster is geen projectmanager. Hij regelt bijvoorbeeld niet de personele zaken zoals selectie, beoordeling en beloning van de mensen. Dit bevordert de openheid en samenwerking. Stakeholders De stakeholders zijn andere belanghebbende vanuit de kant van de opdrachtgever/klant. Ze zitten niet in het team, maar geven input aan de Product Owner.
Events In iedere sprint vinden de volgende bijeenkomsten plaats: De sprint planning: Tijdens de sprint planning meeting wordt de werkvoorraad voor de huidige sprint ingeschat en beschreven. Dit is de basis waaraan door iedereen in die sprint zal worden gewerkt. De stand up: Aan het begin van iedere scrumdag, staat het team 15 minuten rond het scrumboard en neemt het de voortgang en afhankelijkheden door. De demo: Tijdens de sprint demo wordt het sprintresultaat getoond aan stakeholders uit de organisatie van de opdrachtgever. De retrospective: Tijdens de retrospective evalueert het team het proces en het product. Vervolgens start het team aan de volgende sprint. Artifacts De volgende middelen, allemaal fysieke middelen in de ruimte, helpen het team bij het proces: Product backlog: Een overzicht van de dingen die nog gedaan moeten worden, de prioriteitenlijst van de deliverables. Sprint backlog: Het bovenste deel, en dus met de hoogste prioriteit, van de product backlog. Deze functionele eisen zijn opgedeeld in kleinere taken, stories, die het team in deze sprint oppakt. Scrum board: Het scrum board is het dashboard van de sprint. Het geeft een snel overzicht van alle stories en de voortgang Burn down: De burn down chart laat de voortgang van de sprint zien. Iedereen die de ruimte binnen loopt, ziet in één oogopslag hoe het ervoor staat. Definition of done: In de "Definition of done" staat wat er is afgesproken over hoe het team een product oplevert. Denk aan acceptatiecriteria als testen, browserspecificaties, devices, etc. Tot zover scrum in een notendop. Ga aan de slag en vind je eigen weg, die het beste werkt voor jou. Iedere scrum is altijd weer anders. Dus: inspect & adapt. Happy scrumming!