Scrum in actie
Wat is Scrum?
Ken je deze nog?
Wel, dit is Scrum
Wat is Scrum?
- Meest populaire Agile methode om een product te bouwen of een project te managen
- Gebaseerd op een artikel van Ikujiro Nonaka en Hirotaka Takeuchi: 'The New New Development Game' (1986)
- Verder verfijnd in 1995 door Ken Schwaber en Jeff Sutherland
- Oorspronkelijk een softwareontwikkelingsmethode, nu ook toegepast in andere sectoren
SIA 18
Scrum is niet
zomaar een methode
Scrum is een nieuwe manier van denken
De uitgangspunten?
1. Flexibele scope
Flexibele scope
- Waar traditionele methodes focussen op controle en voorspelbaarheid, gaat Scrum uit van onzekerheid en creativiteit
- Eindproduct ligt niet vooraf vast, kosten en tijd wel
- Voordeel? Je klant kan voortdurend feedback geven en prioriteiten stellen tijdens het hele werkproces
2. Korte werkcycli: sprints
Sprint
- Korte werkperiodes met een vaste doorlooptijd: meestal 1 of 2 weken (nooit meer dan 1 maand)
- Elke sprint moet een concreet werkend product of deelproduct opleveren: potentially shippable product
- Zo ziet je klant snel een concreet resultaat van je werk, zelfs al stop je op de helft van het project
3. Zelfsturende teams
Zelfsturende teams
- Scrumteams onderzoeken en evalueren voortdurend zelf wat beter kan: inspect & adapt
- Waarom? Als je snel fouten ontdekt, kun je ze ook vroeger herstellen. Dat bespaart geld én tijd.
- Doel? Teams steeds sneller én beter laten samenwerken en zo de productiviteit verhogen
Waarom Scrum?
Traditioneel product development
Traditioneel product development
Probleem: paper planning
Pareto principle:
80% van het nut zit in 20% van de functies
Probleem: verspilling
Daarom werkt Scrum niet met project- of teammanagers
Hoe dan wel?
Rol: scrumteam
- Het Scrumteam werkt het product of project uit
- Zelfsturend (wat?) en zelforganiserend (hoe?) multidisciplinair team, dat samen alle kennis en vaardigheden in huis heeft om elke sprint het potentially shippable product op te leveren
- Bestaat gemiddeld uit 7 mensen, plus of minus 2
- Plant het werk ook zelf in
- Werkt continue om het proces én het product te verbeteren (inspect & adapt)
- Géén subteams
Rol: product owner
- Vertegenwoordigt de opdrachtgever: inventariseert zijn / haar wensen en vertaalt deze in een duidelijke opdracht aan het Scrumteam
- Onderhoudt contact met de stakeholders (inclusief eindgebruikers) en overlegt met hen waar nodig
- Heeft een duidelijk beeld van het product: wat?
- Vult en prioriteert de product backlog
- Hakt waar nodig knopen door, maar beslist niet alles!
- Is één persoon, géén comité
- Geen onderdeel van het scrumteam, wel sterk betrokken en aanwezig
Rol: scrum master
- Is facilitator en dienend leider van het Scrumteam
- Bewaakt en begeleidt het Scrum-proces: hoe?
- Coacht de teamleden (inclusief product owner!) en de stakeholders
- Zorgt ervoor dat iedereen de regels respecteert
- Beschermt het team tegen externe invloeden en andere belemmeringen (ook van de baas!)
Start project
Team en product owner bespreken samen het doel
- Welke resultaten moeten er opgeleverd worden?
- Wat is de deadline?
- Wat is het budget?
- Wie werkt er aan het project mee?
Stap 1: opmaak product backlog
- Team en product owner maken samen eerst de product backlog
- Niet-gedetailleerde lijst met alle losse onderdelen die voor het project moeten worden uitgewerkt
(backlog-items) - Routekaart van het product: toont alle werk dat nog op de plank ligt om het product te realiseren
- Ieder onderdeel krijgt een aparte post-it
- Product owner prioriteert de items op de product backlog
Stap 2: sprintplanning
- Team, product owner en Scrummaster selecteren samen de items van de product backlog die ze deze sprint zullen realiseren
- Het team schat zelf in hoeveel werk ze in 1 sprint verzet krijgen!
- Deze items verhuizen naar de sprint backlog: een lijst die zichtbaar maakt wat het team deze sprint doet
- Sprintplanning duurt gemiddeld 2 uur per week Sprint
- Tijdens elke sprint kan er niets aan de sprint backlog worden veranderd of toegevoegd!
SIA 74
Stap 3: definition of done
- Derde lijst met eisen waaraan het potentially shippable product moet voldoen bij oplevering van de sprint
- Geeft antwoord op de vraag: wat moet er gerealiseerd worden en hoe ziet dat eruit?
- Scrum team maakt dit samen op: zo is er een gedeeld besef van wanneer het werk in de sprint 'klaar' is
SIA 82
Stap 4: scrumbord
Vierde lijst met taken die het ganse team deze sprint zal voltooien
- To do
- Busy
- Done
Doel: werk zichtbaar maken voor team én stakeholders - iedereen mag de voortgang volgen!
Stap 5: stand-up
Dagelijks vergaderen team en Scrummaster om rond het Scrumbord deze 3 vragen te beantwoorden
- Wat heb je gisteren gedaan om het team te helpen deze Sprint te voltooien?
- Wat ga je vandaag doen?
- Waar zit je vast? En wie kan je daarbij helpen?
- Maximaal een kwartier, staand en steeds op hetzelfde tijdstip
- Doel: voortgang team bewaken
Stap 6: sprint review of demo
- Hierin laat het hele team aan de opdrachtgever zien wat er in de sprint is gerealiseerd: het potentially shippable product (dat voldoet aan de definition of done)
- Open vergadering: iedereen welkom!
Stap 7: sprint retrospective
- Team blikt samen terug op het hele proces: wat ging goed, wat kan beter in de volgende sprint? Hoe kunnen we sneller werken?
SIA 44
Stap 8: backlog refinement
Op basis van ervaringen uit vorige sprints wordt de product backlog voortdurend verbeterd:
- Items lager zetten
- Items belangrijker maken
- Items verwijderen
- Items samenvoegen
Is een activiteit voor het hele team, niet enkel de product owner
Stap 9: terug naar start
Vanaf hier herhaalt de Scrum-cyclus zich voor elke sprint
Plannen bij Scrum
Geen langetermijn- of strokenplanning
(GANTT-chart)
Maar meteen iets opleveren
Dus moet je prioriteiten stellen
Hoe je dat doet?
1.
Weet wat je klanten willen
Tool: stakeholderkaart
SIA 51
2.
Breng de wensen van je klant in kaart op je product backlog
Stel: je wil een spel laten ontwerpen ...
Lijst eisen voor product backlog
- Level design
- MMORPG
- 4 hoofdpersonages
- Enorm grote map
- Cutscenes
- Slecht einde
Tool: user stories
SIA 60
Waarom user stories?
- Vertrekken vanuit het perspectief van de klant: end user first
- Zijn begrijpelijk voor iedereen (ook niet-vakidioten)
- Als je weet waarom je stakeholder een bepaalde functionaliteit wil, kan je daar ook creatief op inspelen
- Promoten multidisciplinaire samenwerking, want ze zijn niet meteen opgedeeld in deeltaken voor elk teamlid
Tool: de ijsberg
SIA 58
Een goede product backlog is DEEP
3.
Schat de hoeveelheid werk in
Probleem: mensen kunnen absolute hoeveelheden (& uren!) niet goed inschatten
Hoeveel weegt dit dier?
Scrum werkt met schattingen,
uitgedrukt in story points
Story points?
- Abstracte en relatieve eenheid
- De norm? 1 van je user stories
- Andere user stories worden afgewogen aan deze norm
-
Het hele Scrumteam bepaalt de story points samen
Tool: planning poker
SIA 88
Rij van Fibonacci
Hoeveel weegt dit dier?
0 - 1/2 - 1 - 2 - 3 - 5 - 8 - 13 - 20 - 40 - 100
13
(225)
100
(5400)
40
(900)
3
(45)
1
(1,6)
Voordeel?
- Schatten in story points gaat sneller en preciezer
- Je kan er de relatieve grootte en complexiteit van een backlog-item ten opzichte van de andere mee weergeven
- Onafhankelijk van wie de product backlog opmaakte
- Ook tijd schatten we vaak relatief in: minder dan een dag / hoogstens een week
- De discussie over de relatieve waarde van elk onderdeel tussen teamleden onderling helpt je project vooruit
Swimlane sizing estimate
T-shirt estimate
Samengevat
- Scrum is het best gekende Agile-framework
- Het kent 3 rollen, 4 ceremonies en 4 lijsten
- Je team schat bij Scrum zelf in hoeveel werk het aanpakt
- Prioriteiten stellen is bij Scrum het allerbelangrijkste
- Scrum werkt met relatieve schattingen of story points
- Na elke sprint lever je iets op wat af is (volgens de definition of done) en waarde heeft voor je klant
To do
- Lees hoofdstuk 2 t.e.m. 5 in je handboek 'Scrum in actie'
- Bekijk deze video: dit staat er je een van de volgende weken te gebeuren!
Scrum in actie
By Kris Vanhemelryck
Scrum in actie
- 1,905