Scrum in de les – lesplan en ervaringen

Scrum in RugbyScrum is een populaire agile softwareontwikkelmethode. Zelf pas ik al enige jaren Scrum toe in de development teams van M4N en ZEEF: J-Development. Ik heb hierin de verschillende rollen (zie hieronder) vervult en vond het hoogste tijd om Scrum ook in mijn klas toe te gaan passen! Deze blog gebruik ik om uitleg te geven over Scrum, daarbij zal ik mijn Scrum-les beschrijven en ervaringen delen.

Het Scrum proces is in 1993 door Jeff Sutherland ontwikkeld. Samen met Ken Schwaber formaliseerden zij dit. Scrum beschrijft het proces van iteratief plannen en ontwikkelen van een software product. Dit proces is er voor bedoelt om de effectiviteit van een team te verhogen, de voortgang te bewaken en impact van blokkades te minimaliseren.

Rollen

Binnen Scrum worden er drie belangrijke rollen onderscheiden: Scrum Master (faciliteert en bewaakt het proces), Product Owner (vertegenwoordigd de klant) en team lid. Tesamen vormen zij het Scrum team (de pigs) en maken zei het product. Alle overigen zijn vanaf de zijlijn betrokken. Zij worden ook wel chicken genoemd, naar het verhaal The Chicken and the Pig.

"The Chicken and the Pig" in stripvorm

“The Chicken and the Pig” in stripvorm

Het Scrum proces

Het Scrum proces is zoals eerder gemeld iteratief. De Product Owner stelt een zogenaamde backlog samen. Dit is een overzicht van alle taken die gedaan moeten worden gesorteerd op belangrijkheid. Deze taken – stories genoemd – worden opgeschreven vanuit een business/klant oogpunt. Het team werkt in sprints van 2 tot 4 weken. Een sprint is een korte periode waarvoor werk geplant wordt. Aan het begin van een sprint wordt gezamenlijk bepaald (en afgesproken) wat er in die sprint gedaan wordt. Normaal gesproken zijn dit de stories bovenaan de backlog. Tijdens de sprint komt het team dagelijks bij elkaar voor een korte (staande) meeting. In deze Daily Scrum vertelt elk teamlid wat hij heeft gedaan, wat hij gaat doen en of hij hierbij problemen tegenkomt. Door deze meeting is het mogelijk om het proces te bewaken en problemen snel te kunnen signaleren. De sprint wordt afgesloten met een demo, welke toegankelijk is voor alle werknemers van het bedrijf, en een evaluatie (retrospective).

Scrum Proces

Scrum Proces

Lesopbouw

Het doel van deze les is om leerlingen kennis te laten maken met het Scrum proces. Uiteindelijk zal het eindproject wat de leerlingen doen op deze manier uitgevoerd moeten worden. Omdat het – in een blokuur – niet haalbaar is om een daadwerkelijk project uit te voeren en tegelijkertijd Scrum te leren werken we met simpele kant-en-klare opdrachten.

  1. Introductie over Scrum (15 min)
  2. Uitvoeren Sprint
    1. Planning meeting (20 min)
    2. Daily Scrum “Dag 1” (5 min)
    3. “Dag 1” (15 min)
    4. Daily Scrum “Dag 2” (5 min)
    5. “Dag 2” (15 min)
    6. Demo (10 min)
  3. Retrospective / Evaluatie (15 min)
Scrum bord

Scrum bord

De kern van de les bestaat het uitvoeren van een volledige sprint. De docent fungeert hier zowel als Product Owner en Scrum Master. Vooraf zorgt de docent voor een verzameling taakjes (onder materiaal vind je een aantal suggesties) en een Scrum bord. Het Scrum bord geeft in één oogopslag de status van de sprint aan. Het bord is gedurende sprint altijd beschikbaar voor het team.

Planning meeting

In de planning meeting worden alle taken eerst geschat. Hiervoor leest één teamlid de taak voor, en geven alle teamleden een schatting. Deze schatting geeft aan hoeveel minuten één persoon nodig heeft om deze taak uit te voeren én te testen/controleren. Nadat alle taken zijn geschat bepaalt het team gezamenlijk welke taken zij in de beschikbare tijd (aantal teamleden x 30 minuten) kunnen uitvoeren.

Sprint uitvoering

Vervolgens begint de sprint. In de sprint worden twee dagen gesimuleerd, beiden beginnend met een Daily Scrum. (je zou er ook voor kunnen kiezen om de Daily Scrum halverwege de dag te houden) Tijdens de Daily Scrum beantwoord elk teamlid drie vragen:

  1. Wat heb je gedaan?
  2. Wat ga je doen?
  3. Welke problemen loop je tegenaan?

Door deze korte, staande meeting weet het hele team waar iedereen mee bezig is. Dit geeft de mogelijkheid om elkaar te helpen, en voorkomt dubbel werk. Na de Daily Scrum is het tijd om aan de slag te gaan. De teamleden voeren de taken uit, laten de taken door elkaar of door de docent testen/controleren en werken het Scrum bord bij. Wordt er begonnen aan een taak, dan gaat het bijbehorende briefje van de To Do kolom naar de In Progress kolom. Zodra een taak klaar en getest is gaat deze naar de Done kolom.

Burn Down grafiek

Op dat moment wordt ook de Burn Down grafiek bijgewerkt. Aan het begin van de sprint begint de grafiek (met op X-as de tijd en op de Y-as de geplande tijd) op het aantal geplande minuten. Bij het voltooien van de taak wordt er een nieuw punt toegevoegd op het tijdstip met als waarde het aantal minuten wat er voor de openstaande taken nog gepland staat. Concreet betekent dit dat het aantal geplande minuten voor de taak wordt afgetrokken van de vorige waarde in de grafiek.

Burn Down grafiek

Burn Down grafiek

Demo en Retrospective

Aan het einde van de twee “dagen” vindt de demo plaats. Afhankelijk van het soort taken laten de teamleden hierin zien wat ze bereikt hebben in de sprint. Er is hier ook mogelijkheid voor de Product Owner (en anderen) om feedback te geven.

Direct na de demo wordt de sprint geëvalueerd in de Retrospective. Voor deze les wordt dit voornamelijk gebruikt om te kijken naar het verloop van het proces. Is alles gegaan zoals van te voren bedacht? Begrijpen we waarom Scrum nuttig is? Ook wordt gekeken naar de Burn Down grafiek. Wat betekent de grafiek die we hebben geproduceerd? Als je een rechte lijn tekent tussen het start- en eindpunt kun je goed zien of de planning correct is geweest. Komt de grafiek boven de lijn uit dan liep je op dat moment achter op de planning, als je eronder uit komt liep je voor.

Indien er tijd over is kan deze gebruikt worden om de link te leggen met een echt project. Hoe zou je dan te werk gaan? Wat zou je aanpassen ten opzichte van wat we tijdens deze les hebben gedaan?

Ervaringen

Kaarten sorterenIk heb deze les uitgevoerd in een kleine vwo 5 klas. We hebben één team gemaakt, waarin ikzelf de rol van Product Owner en Scrum Master heb vervuld. De planning meeting duurde relatief lang, het vergt namelijk oefening om te plannen en het moet duidelijk zijn wat er meegerekend dient te worden (één persoon, testen, etc). Ook is er soms onenigheid en moet er besproken worden welke schatting gebruikt wordt.

Belangrijk bleek dat de dagen niet te lang moeten zijn. Tijdens deze les was de dag te lang (20 minuten), waardoor er op dag 1 al veel werk gedaan werd en het nut van de Daily Scrum onderbelicht bleef. Dit heb ik opgelost door in het bovenstaande plan de dag te verkorten. Het bleek erg nuttig dat de dagen streng getimeboxt werden. Hierdoor ontstaat er aan het einde van de dag een gevoel dat er nog weinig tijd is, dit veroorzaakt de gewenste spanning en motivatie. Tijdens de introductie had ik maar kort stilgestaan bij het bijwerken van de Burn Down grafiek, hierbij was meer begeleiding nodig dan verwacht.

Sommen makenLeerlingen zien naar aanleiding van deze les hoe Scrum werkt. Door de kleine taken is de toegevoegde waarde nog niet optimaal zichtbaar. Ik denk echter dat de basis nu is gelegd om Scrum te kunnen toepassen binnen een echt project. In dat project ben ik van plan te beginnen met een planning meeting van 1 lesuur, en vervolgens elke les te beginnen met een Daily Scrum. Het Scrum bord blijft gedurende de project tijd in het lokaal staan, waardoor de voortgang voor iedereen zichtbaar is.

Wat mij betreft is Scrum in de klas goed bruikbaar, ik kijk er dus ook naar uit om het te gaan toepassen in het eindproject van V5!

Materiaal

  • Sommen maken – op Studiewijs kunnen werkbladen gegenereerd worden met eenvoudige sommen. Je kunt hier ook enkele werkbladen downloaden.
  • Dobbelen – Laat leerlingen een bepaalde waarde gooien met drie dobbelstenen. Bijvoorbeeld: Gooi minimaal 15 ogen met drie dobbelstenen in één worp.
  • Kaarten – Bijvoorbeeld een kaartspel sorteren, ontbrekende kaarten vinden, etc.

Een kleine verzameling stories is te vinden in deze Google Spreadsheet. In deze spreadsheet kunnen direct kaarten gegenereerd worden om op het Scrum bord te gebruiken. De spreadsheet bevat ook een twintig-tal opdrachten.

Noot: deze les is opgezet gebruikmakend van mijn ervaring als Scrum Master bij ZEEF, gecombineerd met ideeën opgedaan tijdens een masterclass georganiseerd door Eelco Dijkstra van It’s Academy.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *