måndag 28 maj 2012

Tidsuppskattningens sex huvudsatser

Vi genomförde nyligen ett stort projekt på jobbet som tidsuppskattades till 17 000 timmar. Utfallet blev omkring tre gånger så många timmar. Det blir oftast så i projekt med många okända parametrar. En enskild aktivitet kan tidsuppskattas rätt, men alla de aktiviteter som ingår i ett projekt går ofta över budget med en faktor som tenderar att närma sig pi, dvs 3,14.
Pi, som faktiskt har en egen dag: pi-dagen den 14 mars.
När man tidsuppskattar gör man det efter en rak tidslinje som följer ett huvudspår. Pi beskriver, som alla vet, förhållandet mellan diameter och omkrets. Så en rak linje på 10 timmar som omges av en osäkerhetsbubbla ger en omkrets på 31,4 timmar. En tidsuppskattning på 10 000 timmar ger en bubbla av oförutsedda händelser som omfattar 31 400 timmar.

Tidsuppskattningens första huvudsats: det tar tre gånger (pi) så lång tid som man tror.

När vi uppskattar hur lång tid en viss aktivitet kommer att ta har vi en tendens att tänka linjärt: Först ska tjänsten A hämta data från B, sen görs en beräkning C som presenteras i bilden D, sedan fyller användaren i uppgifterna E som sparas i databasen F. Då är det lätt att glömma detaljerna, som validering, felhantering, presentation och små futtiga detaljer som tabulering. Detaljerna kan vara många och små och de kan i sin tur leda till ytterligare detaljer som måste fixas, men som inte fanns med i den ursprungliga tidsuppskattningen. Detaljer kan dessutom ta oproportionerligt lång tid, de kanske ska dras genom en byråkratisk process. En liten fix kan i slutändan ha kostat tiotals timmar, fastän arbetsinsatsen bara är en kvart. Ibland är det också så att enkla saker är det lätt att ha en åsikt om och varje åsikt tar tid. Ett svårt problem är det däremot så få som förstår så de har inte lika mycket kringtid.

Tidsuppskattningens andra huvudsats: enkla problem har förhållandevis längre kringtid än svåra problem.




Sen tillkommer strulfaktorn som är proportionell mot osäkerheten. Servrar som är nere, program som inte fungerar, o s v.

Tidsuppskattningens tredje huvudsats: allting som man tror kan gå fel, är ingenting mot allt som kommer att gå fel.

I slutet av ett projekt när stressnivåerna stiger, dyker det plötsligt upp nya möten i kalendern och de sprider sig som ogräs. Ju mer stress, desto fler möten, mer kontroll, vilket stjäl tid. Sju personer som sitter på ett möte i två timmar, har förbrukat 14 timmar och resultatet kanske bara blir ytterligare ett möte nästa dag. Mötena blir som snöbollar som rullar genom projektplaneringen och timmarna klibbar fast vid dem.


Bara de som absolut ska vara med, ska bjudas in på möten. De som vet lite kanske känner tvång att lufta en onödig åsikt och om det är för många, kanske de som vet mycket inte säger det de skulle ha sagt på ett möte med färre deltagare.

Tidsuppskattningens fjärde huvudsats: Ett mötes effektivitet är omvänt proportionellt mot antalet deltagare i mötet.

Tidsuppskattningens femte huvudsats: tiden går snabbare på slutet.

Till sist är det så att det tillkommer aktiviteter. Det måste man ta höjd för. De utgör en stor del av pi. Folk som ingår i projektet har tolkat saker på olika sätt. En månad kan tyckas var en månad, men en månad kan t ex börja och sluta vid olika tidpunkter.

En viktig sak är att göra aktiviteterna lagom stora. Är de för stora har man ingen översikt och det är svårt att tidsuppskatta. Är de för små kostar de mer att administrera i förhållande till vad de ger.

Tidsuppskattningens sjätte huvudsats: en timme för den ene kan vara två timmar för den andre.

En tidsuppskattning är en prognos, ett känselspröt som trevar mot framtiden. Den går från ett känt nu till en framtid som kan inträffa när som helst och ibland lite hursomhelst. Det är därför man måste ta höjd, d v s rita en bubbla runt tidslinjen så att allt det som man inte vet får plats och pi är ett bra tal att multiplicera med.


Att uppskatta sig själv
Inför mitt lopp i Swiss Alpine har jag gjort en försiktig tidsuppskattning på 11-12 timmar. Det finns många okända parametrar, såsom väder, höjd, underlag, sträcka ... Om jag multiplicerar med pi, hamnar jag i ett annat dygn. Det går inte. Det är skillnad mellan att tidsuppskatta en löpsträcka och ett IT-projekt. Det är svårt att uppskatta sig själv och ännu svårare att tidsuppskatta sig själv.


Målet är inte att slå en tid, utan att besegra sträckan och höjden. Höjden utgör så att säga halva pi och ligger som ett valv över sträckan. Men det går nerför också. Det är den andra halvan av pi. Osäkerheten är redan inlagd i loppets berg och dalar. Det går inte att tänka linjärt när bansträckningen är så kuperad. Jag vet nästan vad elva timmar är, men jag vet inte vad 79 km är. Inte när dessa ska tillryggaläggas springande. Fast på slutet kanske jag kravlar fram. Det måste jag ta höjd för. Hur det än går, så har jag gjort mitt bästa.

Självuppskattningens första bisats: jag duger som jag är.

Huvudsatsen avslöjar jag efter Swiss Alpine ;)


2 kommentarer:

  1. Underbart! Jag är, förutom projektledare och konsult, en obotlig tidsoptimist. Jag ska definitivt börja multiplicera med pi när jag beräknar tidsåtgång.

    SvaraRadera
    Svar
    1. Kul, vem är inte tidsoptimist:) Jag skrev först lite på skämt, men ju mer jag skrev desto mer sant insåg jag att det var:)

      Radera