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

  1. Welke resultaten moeten er opgeleverd worden?
  2. Wat is de deadline?
  3. Wat is het budget?
  4. 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

  1. Wat heb je gisteren gedaan om het team te helpen deze Sprint te voltooien?
  2. Wat ga je vandaag doen?
  3. 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