zondag 31 augustus 2008

To scrum or not to scrum

Ik ben al een tijdje lid van een scrum team en ik ben dol enthousiast. We scrummen er gewoon weg op los. De term scrummen is afkomstig uit het stoere rugby wereldje. Alle teamleden werken samen aan één gemeenschappelijk doel: die f*cking bal over de lijn van de tegenstander krijgen.



Daar kunnen wij IT-nerds nog iets van leren, moeten enkele software ontwikkelaars gedacht hebben. De klassieke manier van software ontwikkeling (waterval model) was dringend aan vervanging toe. Deze speelde niet genoeg in op veranderende requirements. Tegenwoordig verwacht de klant veel sneller resultaten op zijn bord. Scrummen is dan de oplossing.

Scrum rollen
Een scrum team bestaat typisch uit een scrum master, een beperkt aantal teamleden (tussen de 5 en de 8 man of vrouw) en een product owner.

  • De scrum master ondersteunt het team en onderwijst iedereen in de scrumprincipes
  • De product owner beheert de lijst van te ontwikkelen functionaliteiten en bepaalt de prioriteiten ervan. Dit noemen ze de product backlog. Hij staat altijd open om vragen van het team te beantwoorden.
  • Het team analyseert, ontwikkelt en test de functionaliteiten uit sprint per sprint.
Product backlog
De product owner beheert de product backlog. Daarin beschrijft hij beknopt alle de functionaliteiten die in zijn product moeten zetten. Deze lijst bevat voorts ook nog de prioriteit, hoe je het moet demo-en en hoeveel tijd men er ideaal op inschat. Door vaak veranderende omstandigheden is de prioriteit van een product backlog item niet stabiel, dat kan veranderen.

Time boxing
In scrum heeft alles vaste tijden, zo voorkom je onnodig vergaderen. Ga je tijdens een bepaalde vergadering over tijd, stop je deze op het geplande uur. Je kan eventueel voor de volgende dag een nieuwe meeting inplannen. Elke startup meeting duurt ongeveer 4 uur, een standup duut 15 minuten en een sprint review duurt zo een 2 uur.

Sprints
In plaats van slechts éénmaal in het begin van een project een doel te definiëren, gaan ze bij scrum iteratief te werk. Stap per stap wordt er functionaliteiten ontwikkeld maar er wordt steeds begonnen aan de functionaliteiten die op de moment het meeste waarde hebben voor de product owner.

Zo een stap heten ze bij scrum een sprint. Deze duren telkens even lang en liggen typisch tussen de 2 en de 4 weken. Elke sprint werkt een deel van de functionaliteit af en is steeds op dezelfde manier opgebouwd en bevat steeds een aantal meetings. Een planningsmeeting waar je de taken kiest die je deze sprint wil opleveren, een dagelijkse standup meeting en op het einde een sprint review meeting.


Feedback
Communicatie en feedback is heel belangrijk in scrum. Daarom doe je elke dag een standup meeting voor de stand van zaken te beschrijven. Het hele team krijgt 15 minuten om te vertellen wat ze gisteren gedaan hebben, welke problemen ze tegen kwamen en wat ze vandaag van plan zijn. Elke dag maken de leden zo een schatting van het werk dat ze nog moeten verzetten. Dat wordt getoond in een burndown chart. Achteraf kunnen er wijze beslissingen uit getrokken worden, hoeveel hooi het team de volgende sprint op zijn vork zou moeten nemen.

Wil je nog meer weten? Lees dan zeker scrum from the trenches(3Mb).

2 opmerkingen:

moes zei

van schrotum tot schrotum dus? : )

Frank zei

Ik geef toe dat we in scrum nauw samenwerken. Maar van scrotum to scrotum is toch iets TE close ;-)