Scrum is een toepassing van lean uitgangspunten op softwareontwikkeling. Vooral klantwaarde en pull staan centraal. Ook een aantal lean werkwijzen komt terug. Scrum kan worden samengevat als: één resultaat, twee lijstjes, drie rollen en vier meetings.
Eén resultaat
Bij scrum wordt elke keer een stap gezet met een bepaald resultaat. Iteratief werken noemt men dat. Elke stap is een iteratie en heet binnen scrum een sprint. Een sprint heeft een vaste, vooraf afgesproken tijdsduur, meestal van twee tot vier weken. Binnen dit tijdsbestek realiseert een team een vooraf geselecteerde hoeveelheid werk. Typerend voor een sprint is dat deze een resultaat moet hebben dat meteen bruikbaar of in elk geval tastbaar moet zijn voor de (interne of externe) klant. Een belangrijk begrip hierbij is Definition of Done: de afspraak over wat er klaar is als de sprint ten einde is.
Twee lijstjes
Alle binnen sprints mogelijk te realiseren wensen staan op een lijst, de zogenoemde Product Backlog. Dit is een lijst met wensen (backlogitems) in de vorm van user stories, kernachtige beschrijvingen van de wens van de klant en de achtergrond daarvan: ‘Als klant wil ik … omdat …’ De selectie van story’s uit de backlog waaraan in een bepaalde sprint gewerkt gaat worden, staat in het sprintplan: een lijst van wat er in deze iteratie gerealiseerd zal worden.
Drie rollen
Binnen de scrummethode is er een nauwkeurig omschreven rolverdeling met als belangrijkste rollen:
- De productowner: degene die bepaalt wat er nodig is. De productowner verzamelt alle wensen op de backlog en bepaalt de prioriteitsvolgorde daarvan.
- De scrummaster: degene die zorgt dat er gewerkt wordt volgens de scrumprincipes en -afspraken. Daarbij is de scrummaster volgens de Scrum guide wel een managementrol, maar geen hiërarchisch niveau.
- Lid ontwikkelteam: dit zijn de (vier tot acht) teamleden die gezamenlijk – als zelforganiserend team – zorgen voor de realisatie van de sprintplannen. De scrummaster en de productowner maken geen deel uit van dat team. Wel vormen de drie rollen samen het ‘scrumteam’.
Vier meetings
Elke sprint begint met een sprint planning meeting waarin de productowner met het team bespreekt wat er bovenaan de backlog staat en wat hij dus graag gerealiseerd wil hebben in deze sprint. Vervolgens selecteert het team een aantal voldoende met elkaar samenhangende items van de backlog die in één sprint opgepakt kunnen worden en waarmee een bepaald sprintdoel gerealiseerd kan worden. Daartoe kijken de teamleden samen hoeveel werk ze verwachten dat een bepaalde userstory zal kosten door er meer of minder punten aan toe te kennen. Een belangrijk gegeven voor een scrumteam is hoeveel punten er worden gerealiseerd in één sprint. Dat noemt men team velocity.
Tijdens de sprint is er een korte dagelijkse bijeenkomst, de daily scrum. Doel daarvan is om na te gaan waar het team staat en om inspanningen gericht op het bereiken van het sprintdoel op elkaar af te stemmen. Met behulp van een scrumbord waarop de voortgang van de backlogitems zichtbaar is, wordt besproken of er belemmeringen zijn bij het bereiken van het sprintdoel en wat er gedaan kan worden om die belemmeringen weg te nemen. Vaak gebeurt dit door teamleden die elkaar helpen.
Sprint review en sprint retrospective
Een belangrijk idee achter korte sprints is dat een team snel feedback krijgt op het product. De bijeenkomst waarin dit gebeurt, heet de sprint review. Zo kan door snelle bijsturing de hoogst mogelijke klantwaarde worden gerealiseerd.
Na elke sprint is er ook een bijeenkomst waarin de kwaliteit van de samenwerking en wat daaraan beter kan expliciet wordt besproken. Men noemt dit de sprint retrospective.
Bron: De 10 principes van agile-lean teamcoaching
Door: Aty Boers, Marijke Lingsma