fbpx

Fibonacci Reeks

Stel de omvang van opdrachten vast

Een nieuwe sprint begint in Scrum altijd met de Sprint Planning. Tijdens deze bijeenkomst bepaalt het hele Scrum Team het sprintdoel en wordt een plan gemaakt om het sprintdoel te behalen. Daarbij moet ingeschat worden hoeveel werk een user story inhoudt en daar gebruiken Developers vaak planning poker voor.

Je hebt Developers misschien wel eens zien zitten met een set speelkaarten in de hand. Op de kaarten staan getallen die onderdeel zijn van de zogenaamde Fibonacci reeks (ook wel Rij van Fibonacci genoemd). Maar wat is die Fibonacci reeks eigenlijk? En waarom zijn het juist die getallen die gebruikt worden?

De Fibonacci reeks zien we overal terug

De Fibonacci reeks is een van de beroemdste wiskundige getallenreeksen en is vernoemd naar Leonardo van Pisa. Zijn bijnaam was Fibonacci en hij beschrijft in zijn boek Liber abaci uit 1202 de rij van getallen. De rij begint met 0 en 1 en vervolgens is ieder volgend getal in de reeks de som van de voorgaande twee getallen. De rij ziet er dan als volgt uit:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55… etc.

Het interessante aan de Fibonacci reeks is dat de getallen overal in de natuur voorkomen, van de structuur van zonnebloemzaden in een zonnebloem, de ordening van bladeren aan takken tot de bloemen van een artisjok. Maar ook in architectuur, zoals in de afmetingen van het Parthenon en de Pyramides van Gizeh, komt de Fibonacci reeks terug. De rij is ook gelinkt aan de Gulden Snede; deel twee opeenvolgende getallen van de Fibonacci reeks door elkaar en je krijgt de verhouding van de Gulden Snede.

Voorbeeld getallenreeks met de rij van Fibonacci

 

Planning Poker in Agile 

Maar waarom wordt die rij dan gebruikt in planning poker? Dat heeft ermee te maken dat mensen bijzonder slecht zijn in schatten, zeker in een complexe omgeving. Als je iemand vraagt om een inschatting te maken van de tijd die ze kwijt zijn voor het verzenden van een mail naar de organisatie met de mededeling dat de koffie apparaat het niet doet dan kom je snel op een minuut of 5 uit. Makkelijk, je weet namelijk wat je moet doen en hoe je het moet doen. Daarentegen als een inschatting moet maken van hoe lang het duurt voordat je een antwoord hebt gevonden op welke security certificaten je moet gebruiken om je applicatie voldoende te beveiligen voor AVG wetgeving en tegelijkertijd open genoeg om de API’s te blijven delen dan wordt het al lastiger om daar een specifieke hoeveelheid minuten of zelfs uren aan te koppelen. Hoe plan je dan je werk?  

Mensen zijn in tegenstelling tot absoluut schatten wel weer heel goed in vergelijken of relatief te schatten. Relatief schatten betekent dat je je huidige taak vergelijkt met één die je eerder hebt gedaan en een inschatting maakt in hoeverre deze lastiger dan wel simpeler is om te realiseren. In het Scrum Framework gebruiken ze hiervoor een aantal spelregels: 

  • Schatten doen we op complexiteit 
  • Schatten doen we op afhankelijkheid 
  • Schatten doen we op basis van grootte  
  • Schatten doen we op basis van punten 

Met betrekking tot dat laatste zien we dat het schatten gebeurt op basis van punten in plaats van tijd. Tijd is een lastig concept om los te zien van werkdagen en deadlines. Dit zorgt ervoor dat mensen bewust of onbewust toch weer deadlines gaan stellen en op basis van een waterval gaan werken in plaats van Scrum. Hoe schatten we nou zonder tijd? 

 

Schatten met behulp van Fibonacci

De rij van Fibonacci stelt Developers in staat om de omvang van user stories ten opzichte van elkaar te vergelijken. Hoe hoger het getal, hoe complexer en onzekerder het werk is en vermoedelijk hoe meer moeite het zal kosten om af te ronden. Er wordt dus niet in absolute termen geschat (deze user story kost 6 uur om te voltooien), maar in relatieve termen (deze user story is ongeveer 2x groter dan deze en kost daarom 2x zoveel effort). Hoe vaker je dit proces doorloopt hoe behendiger je wordt met het inschatten en des te nauwkeuriger je inschattingen ook worden. In een heel volwassen team zou je bijna een vertaling kunnen maken van het aantal punten en het uiteindelijk hoeveelheid gespendeerde tijd. Dit kun je echter altijd pas achteraf en niet van tevoren doen. Kortom, niet alsnog inschatten op basis van tijd!  

Het gebruik van planning poker en de rij van Fibonacci heeft daarmee een aantal duidelijke voordelen voor Scrum Teams: 

  1. Er wordt een schaal vastgesteld voor het vergelijken van de complexiteit, onzekerheid en inspanning van een user story. 
  2. Alle Developers worden betrokken bij het schatten; daarmee worden alle perspectieven dus meegenomen. 
  3. De aard van de schaal maakt het voor het hele team gemakkelijker te begrijpen wat de getallen betekenen (elk getal is ongeveer 60% groter dan het voorgaande getal, waarmee het verschil tussen twee getallen duidelijker is dan bij een lineaire schaal). 
  4. Het schatten van werk is één ding, maar de discussies die ontstaan vormen een goede basis voor het team om elkaar goed te begrijpen. Dit maakt dat werk makkelijker overgedragen kan worden en dat verwachtingen van tevoren zijn gemanaged.

Nu we weten dat we willen pokeren is het goed om te kijken naar hoe we dat gaan doen. 

 

Het proces van planning poker

Planning Poker is een techniek die wordt gebruikt om de inspanning te schatten die nodig is om een specifieke taak of functie in een Agile-project te voltooien. Het proces van Planning Poker omvat meestal de volgende stappen: 

  1. Voorbereiding: Voordat de daadwerkelijke Planning Poker-sessie begint, moeten het Scrum Team de lijst met taken of functies die moeten worden beoordeeld, voorbereiden. Dit omvat het opsplitsen van het werk in beheersbare eenheden, meestal bekend als User Stories. Dit gebeurt in samenwerking met de Product Owner welk verantwoordelijk is voor de lijst of Product Backlog. 
  1. Teamvergadering: Het ontwikkelingsteam komt samen in een vergadering, vaak geleid door een Scrum Master of een vergelijkbare facilitator. Het team kan fysiek bij elkaar zitten of deelnemen via videoconferentie, afhankelijk van de locatie van de teamleden en voorkeur. 
  1. Kaarten verdelen: Elk teamlid ontvangt een set Planning Poker-kaarten. Deze kaarten bevatten cijfers die overeenkomen met een bepaalde inspanningsschaal, zoals de Fibonacci-reeks. Teamleden gebruiken deze kaarten om hun schattingen uit te drukken per User Story. 
  1. Discussie: Voorafgaand aan het onthullen van schattingen, wordt de user story kort besproken. Teamleden kunnen vragen stellen en eventuele onduidelijkheden verduidelijken.
  1. Schatting: Elk teamlid selecteert een kaart die volgens hen overeenkomt met de inspanning die nodig is om de user story af te ronden, zonder de kaart aan anderen te laten zien. Dit wordt gedaan om invloed van anderen te minimaliseren en onafhankelijke schattingen te bevorderen.
  1. Onthulling: Nadat alle teamleden hun kaarten hebben gekozen, worden ze tegelijkertijd onthuld. Als de schattingen sterk uiteenlopen, kan dit leiden tot een verdere discussie. In deze discussie ligt de focus meestal op de mensen met de grootste verschillen, zij kijken immers het meest verschillend naar dezelfde User Story. 
  1. Consensus: Het doel is om consensus te bereiken over de schatting. Als er grote verschillen zijn, bespreekt het team de redenen achter de afwijkende schattingen en kan het teamleden vragen om hun schatting te heroverwegen. Dit kan resulteren in een tweede ronde. Vaker dan 2 rondes schatten raden wij sterk af omdat dit het proces vertraagd. 
  1. Herhaal: De stappen worden herhaald voor elke user story die moet worden geschat.
  1. Registratie: Uiteindelijk worden de schattingen vastgelegd. De geschatte User Stories worden opgenomen in de Product Backlog.

 

Tools voor Planning Poker

Planning Poker kan zowel fysiek als online worden uitgevoerd, afhankelijk van de locatie van het ontwikkelingsteam. Hier zijn enkele tools die je kunt gebruiken voor zowel fysieke als online Planning Poker: 

Fysieke Kaarten: Voor teams die bij elkaar zitten, kunnen fysieke Planning Poker-kaarten worden gebruikt. Deze kaarten zijn beschikbaar in verschillende vormen, zoals kaarten met cijfers of speciale sets met de Fibonacci-reeks. Teamleden kiezen en onthullen fysieke kaarten tijdens de sessie. Leuke aanvulling is als je kaarten gebruikt in je eigen huisstijl.  

Online Planning Poker Tools: 

  1. Atlassian Jira: Als je team Jira gebruikt voor taakbeheer, zijn er verschillende Jira-plugins beschikbaar voor Planning Poker. Teamleden kunnen online schattingen invoeren tijdens de call en ook zo samen alles bespreken.
  1. Trello: Trello biedt integraties met Planning Poker-tools, waardoor teams in hun Trello-borden schattingen kunnen toevoegen. Om digitaal het gesprek ook te voeren zou je een andere tool ernaast kunnen plakken.
  1. Poker Planning Online: Dit is een specifieke online tool voor Planning Poker. Teamleden kunnen virtuele kaarten selecteren en schattingen invoeren. Deze worden echter niet geregistreerd op je eigen backlog en vereist dus een extra handeling voor het team. 
  1. Scrum.org en Mountain Goat Software: Deze websites bieden ook online Planning Poker-tools die gebruikmaken van de Fibonacci-reeks of andere schaalopties. Ook hier geldt een extra handeling.
  1. Microsoft Teams of Zoom: Voor virtuele teams kunnen communicatietools zoals Microsoft Teams of Zoom worden gebruikt om Planning Poker-sessies te faciliteren. Teamleden kunnen kaarten tonen via de camera of virtuele kaarten gebruiken via scherm delen.

Het kiezen van de juiste tool hangt af van de behoeften van je team en de reeds gebruikte tools voor taakbeheer en samenwerking. Het belangrijkste is om een tool te selecteren die de efficiëntie en effectiviteit van je Planning Poker-sessies ondersteunt, of ze nu fysiek of online plaatsvinden. Wil je meer weten over de Sprint Planning en planning poker? Schrijf je dan in voor onze Product Owner of Scrum Master training.

Meer weten over de Fibonacci reeks? Volg de Product Owner training