Poängen med poäng

Vad har Fibonacci med estimering att göra? Magnus Ljadas reder ut poängen med poäng och relativ estimering.

Vad har Fibonacci med estimering att göra? Magnus Ljadas reder ut poängen med poäng och relativ estimering.

Låt oss börja med en fiktiv historia. Anders och Sandra tänker måla om hemma i sin lägenhet. Tre rum ska målas: vardagsrummet, sovrummet och hallen. Frågan är hur lång tid det kommer att ta att måla de tre rummen? Sandra resonerar: “Först måste vi maskera alla uttag och strömbrytare, det tar säkert tre minuter per enhet. I hallen finns det ett uttag och två strömbrytare, vardagasrummet har tre uttag och en strömbrytare, sovrummet har en strömbrytare och två uttag”.

Anders fyller på: “Sen måste vi lägga ut skyddspapper på golvet också.” Anders tar fram en pappersrulle och rullar ut en bit papper på golvet. “Det tar ungefär två minuter att placera ut pappret per vägg.” Så här håller Anders och Sandra på ända in på sena kvällen tills de till slut har en lång lista med saker som måste göras och hur lång tid det borde ta.

Dagen därpå kommer Sandras bror Janne på oväntat besök. Janne ser den långa listan på köksbordet och kan inte låta bli att dra lite på munnen. Så typiskt Anders och Sandra, tänker han. “Hörröni, har ni tänkt på att vardagsrummet är dubbelt så stort som sovrummet och sovrummet är ungefär dubbelt så stort som hallen?” Anders och Sandra tittar frågande på varandra, sedan på Janne. “Jo, om ni målar sovrummet först så borde vardagsrummet ta ungefär dubbelt så lång tid och hallen hälften så lång tid att måla än sovrummet.” Sandra tar upp listan från köksbordet och river den i fyra stycken…

Det finns otaliga sätt att tidsuppskatta en uppgift, men oavsett hur vi gör för att komma fram till våra tidsuppskattningar innehåller de osäkerhet och godtycke. Få människor krånglar till sitt vardagsliv som Anders och Sandra gjorde. Ändå gör vi ofta precis så här när vi försöker estimera och planera i våra projekt, vi grottar ner oss i detaljer och spenderar mer tid än nödvändigt för att komma fram med en uppskattning som trots allt arbete innehåller osäkerhet och godtycke. Men det finns mindre krångliga sätt att svara på frågan: När blir det här klart? Janne har redan visat vägen.

Vad Janne gjorde var att uppskatta den relativa storleken på rummen medan Anders och Sandra gav sig på uppgiften att samtidigt räkna ut tiden som går åt att måla rummen. Om vi tänker likt Janne så kan vi säga att vardagsrummet motsvarar 4 poäng, sovrummet 2 poäng och hallen 1 poäng. Poängen avspeglar den relativa storleken på uppgiften utan att samtigt blanda in hur lång tid det tar att utföra uppgiften. Om det nu tar Anders och Sandra en hel dag att måla sovrumment så kan vi räkna ut att de arbetar med en hastighet av 2 poäng per dag. Hela målarprojektet borde i så fall ta 3,5 dagar. Vill de dessutom måla om i arbetsrummet så kan de uppskatta arbetet relativt hur stort det rummet är jämfört med de andra nymålade rummen. De relativa estimaten är förmodligen giltiga även om Anders och Sandra väljer att anlita en hantverkare för jobbet. Tidsestimaten för att måla ett rum skiljer sig dock väsentligt mellan amatören och proffset.

Genom att mäta hastighet i form av poäng per tidsenhet kan poäng användas för planering. Hastigheten för en utvecklingsgrupp är okänd i början av ett projekt och hastigheten kommer att variera med tiden beroende på hur gruppen förändras och i takt med att människorna i gruppen får ökad kunskap om de problem som ska lösas. Storleksestimaten på uppgifterna som ska lösas kan dock antas vara mer eller mindre konstanta – precis som rummen i Anders och Sandras lägenhet.

Att jämföra storleken på att designa en html-sida med att optimera en databasutsökning kan verka som att jämföra äpplen med päron. Vad vi är ute efter är ett tillräckligt tillförlitligt sätt att kunna uppskatta storleken på våra projekt, och i den uppskattningen vägs omfattning, komplexitet, risk och så vidare in. Det handlar om uppskattning snarare än om exakt beräkning.

När vi använde metoden i ett projekt nyligen valde vi att använda fibonaccitalen 1, 2, 3, 5, 8. I vårt fall blev 8 poäng den högsta poängen bland estimaten i projektet. Eftersom projektet skulle sträcka sig över knappt två månader valde vi att iterera över en vecka. Om funktionen “att spara” är 5 poäng så är funktionen “att kunna sortera en lista i användargränssnittet” 2 poäng och att “kunna hantera kommentarer i en resursfil” 3 poäng. En av fördelarna med att använda poäng som vi upplevde var att det gick snabbare att poängsätta olika funktioner jämfört med att tidsuppskatta dem. Hastigheten var naturligtvis okänd den första iterationen, men efter några iterationer verkade 10 till 12 poäng per vecka vara en trovärdig hastighet. Poängsättningen blev dessutom lättare med tiden då vi hade samlat på oss en rad olika treor, femmor och åttor att jämföra med.

Om du vill lära dig mer om att planera ditt lättrörliga projekt med poäng kan jag varmt rekommendera Mike Cohns bok på ämnet: Agile Estimating and Planning.

 

 

comments powered by Disqus
Sandra Sundberg, Talent Manager

Citerus växer

Vi vet att man kan förändra världen med hjälp av mjukvara. Vill du vara med?  Lär dig mer om oss →


Pär Buskas

Hur kan vi hjälpa dig?

Kontakta Pär Buskas för information om våra konsulttjänster och utbildningar.  Kontakta Pär →


Inspiration via e-post

Har du också ett engagemang för utvecklingen i branschen? Anmäl dig då till vårt nyhetsbrev, där vi delar med oss av artiklar, inspiration och möjligheter.

Du kan enkelt säga upp din prenumeration om du ändrar dig. Vi lämnar aldrig ut e-postadresser till tredje part.
Läs mer om hur vi hanterar personuppgifter.

 

 

 

Om Citerus

Citerus hjälper företag att lyckas med sin mjukvaruutveckling. Vi erbjuder metodinförande, kurser och träning samt systemutveckling och kan dessutom avlasta våra kunder genom ta oss an både delprojekt och hela projektåtaganden. Allt för att de ska kunna hålla en hög innovationstakt och skapa smarta lösningar som ökar deras konkurrenskraft. Citerus kunder har den gemensamma nämnaren att de ser mjukvaruutveckling som affärskritiskt. Läs mer →

monthly
0.5