Uppskattning — är en kvantitativ bedömning av den arbetsinsats som krävs för att utföra en uppgift, utveckla funktionalitet eller genomföra ett projekt i sin helhet. Inom mobilutveckling används uppskattningar för sprintplanering, kostnadsbestämning och hantering av kundens förväntningar. Enligt uppgifter från Project Management Institute, 2024 kan uppskattningsfelet i tidiga projektskeden uppgå till 100%, vilket gör uppskattning till en av de svåraste disciplinerna inom utveckling.
Huvudpunkter
Uppskattning (från engelskans estimate) — prognos av den tid eller ansträngning som krävs för att utföra en uppgift. Inom mobilutveckling uttrycks uppskattningar i timmar, dagar, story points eller monetära motsvarigheter. Syftet med en uppskattning är inte en exakt förutsägelse, utan att minska osäkerheten för beslutsfattande.
Uppskattning — en prognos med felmarginal. Åtagande (commitment) — ett löfte att utföra uppgiften till ett visst datum. Skillnaden är kritisk: uppskattningen säger ”troligen 5 dagar”, åtagandet — ”vi gör det på 5 dagar”. Chefer blandar ofta ihop dessa begrepp och förvandlar uppskattningen till en deadline utan rätt att göra fel.
Processen att uppskatta är lika viktig som resultatet. När teamet diskuterar bedömningen av en uppgift kommer dolda krav, beroenden och risker fram i ljuset. Även om den slutliga siffran är inexakt ger diskussionen alla deltagare en förståelse för uppgiften. Därför är kollektiva bedömningsmetoder (Planning Poker) mer effektiva än individuella.
Det finns flera uppskattningsmetoder, var och en lämplig för olika projektskeden och detaljnivåer. Valet av metod beror på tillgängliga data och önskad noggrannhet.
| Metod | Typ | Noggrannhet | När ska den användas |
|---|---|---|---|
| Planning Poker | Experthaserad, kollektiv | Hög (i sprint) | Bedömning av sprintuppgifter |
| T-Shirt sizing | Experthaserad, snabb | Medel | Preliminär bedömning av epics |
| Analog uppskattning | Historikbaserad | Medel | Liknande uppgifter i det förflutna |
| Three-point (PERT) | Sannolikhetsbaserad | Över medel | Uppgifter med hög osäkerhet |
| Parametrisk | Formelbaserad | Beror på data | Homogena mätbara uppgifter |
Planning Poker — den populäraste bedömningsmetoden inom Agile. Varje utvecklare får en kortlek med Fibonaccital (1, 2, 3, 5, 8, 13, 21). Efter att ha diskuterat uppgiften visar alla sitt kort samtidigt. Om uppskattningarna skiljer sig — förklarar utvecklarna med lägsta och högsta uppskattning sin logik, därefter följer en ny omröstning. Metoden eliminerar auktoritetspåverkan och ger en mer exakt uppskattning.
T-Shirt sizing — grov uppskattning efter T-shirtstorlek: XS, S, M, L, XL, XXL. Metoden används för snabb uppskattning av stora uppgifter (epics) i tidiga skeden när detaljerna inte är kända. Senare bryts varje sådan uppgift ner och uppskattas i Planning Poker. T-Shirt sizing tar 5-10 minuter per uppgift men ger endast en storleksordning.
PERT använder tre uppskattningar: optimistisk (O), pessimistisk (P) och mest sannolik (M). Den slutliga uppskattningen beräknas med formeln: (O + 4M + P) / 6. Metoden tar hänsyn till osäkerhet och ger ett mer realistiskt resultat än en enskild uppskattning. PERT är särskilt användbar för uppgifter med höga risker eller ny teknik.
Uppskattningens noggrannhet beror på projektskedet och mängden känd information. Ju tidigare bedömningen görs, desto större är felmarginalen — detta är normalt och bör beaktas i planeringen.
Osäkerhetskonen (Cone of Uncertainty) — en modell som beskriver hur uppskattningens felmarginal minskar allt eftersom projektet fortskrider. I konceptfasen är felmarginalen 400% (uppgiften kan ta 1 till 4 månader). Vid sprintens tidpunkt — 20% (1-1.2 månader). Medvetenhet om denna modell hjälper till att inte kräva exakta uppskattningar i tidiga skeden.
Relativ uppskattning (i story points) är mer exakt än absolut uppskattning (i timmar), eftersom människor är bättre på att jämföra uppgifter än att uppskatta tid. ”Den här uppgiften är dubbelt så komplex som den där” — en mer tillförlitlig bedömning än ”den här uppgiften tar 8 timmar”. Relativa uppskattningar är inte beroende av den specifika utvecklaren och behåller sin noggrannhet vid byte av utförare.
Uppskattningens noggrannhet kan förbättras genom ett systematiskt tillvägagångssätt, kollektiv diskussion och analys av tidigare misstag. Det finns flera beprövade metoder.
Varje uppgift som uppskattats till mer än 2 dagar bör brytas ner i deluppgifter. Princip: om en uppgift inte kan uppskattas med 50% noggrannhet är den för stor. Dela upp den i steg som är begripliga och möjliga att uppskatta. Efter nedbrytning är den totala uppskattningen ofta 1.5-2 gånger större än den ursprungliga.
För historik över uppskattningar och jämför med faktiska kostnader. Till exempel: ”uppgifter uppskattade till 3 story points tar i genomsnitt 4 dagar, inte 2”. Använd teamets velocity för prognoser: om teamet slutför 20 story points per sprint, planera inte 30. Analys av noggrannheten i tidigare uppskattningar är den bästa träningen för uppskattningsförmåga.
Förankring — en psykologisk effekt där den första uttalade uppskattningen påverkar alla deltagare. För att undvika förankring, i Planning Poker visar alla sina kort samtidigt, inte i tur och ordning. Kalibrering — regelbunden avstämning av uppskattningar med verkligheten: efter 10-20 sprintar lär sig teamet att uppskatta mer exakt tack vare återkoppling.
Varje uppgift innehåller dolda risker: utvecklarens sjukdom, problem med API, ändrade krav. Lägg till en riskjusterad faktor i uppskattningen: för uppgifter med hög risk — multiplikator 1.5-2, med låg risk — 1.1-1.2. Visa transparant för kunden vilka risker som beaktats och hur de påverkar tidsramarna.
Misstag vid uppskattning återkommer i de flesta team, oavsett deras mognad. Kännedom om dessa misstag är första steget mot att rätta till dem.
Det vanligaste misstaget — uppskattning enligt bästa scenario: ”om allt går perfekt, gör vi det på 3 dagar”. I verkligheten går inget perfekt: buggar, frågor om krav, beroende uppgifter. Lösning: uppskatta enligt det mest sannolika scenariot, inte det optimistiska. Använd PERT för att ta hänsyn till variation.
När en chef säger ”det behövs till fredag”, anpassar utvecklaren omedvetet uppskattningen till den deadline. Uppskattning under press är alltid för låg och leder till förseningar. Lösning: uppskattningen bör föregå deadline, inte tvärtom. Först uppskattar teamet, sedan kommer parterna överens om tidsramar.
Uppgiftens komplexitet (hur mycket att tänka) och tid (hur mycket att göra) — olika mätvärden. En uppgift kan vara enkel men tidskrävande (koda 10 skärmar). Eller komplex men snabb (hitta en bugg i legacy). I story points uppskattas vanligtvis komplexiteten och tiden härleds från teamets velocity.
En utvecklare arbetar inte 8 timmar oavbrutet med en uppgift: möten, kodgranskning, hjälp till kollegor, administrativa uppgifter tar 30-50% av arbetstiden. Kontextbyte bör beaktas i uppskattningen: i verkligheten skriver utvecklaren kod 3-4 timmar om dagen.
Vanliga frågor
Utveckling — en kreativ process med hög osäkerhet. Till skillnad från bygg- eller tillverkningsindustrin, där varje steg är känt, är varje uppgift inom IT unik. Okända okända (unknown unknowns) — den främsta orsaken till inexakthet. Även ett erfaret team har fel i 30-50% av uppskattningarna. Detta är normalt och bör beaktas i planeringen.
Story points är bättre för sprintplanering eftersom de är relativa och oberoende av utföraren. Timmar behövs för kontrakt och extern rapportering, men är mindre exakta. Optimal kombination: uppgifter uppskattas i story points och tidsramar omvandlas via teamets velocity till kalenderdagar.
För uppgifter med okänd teknik, använd först Spiko (tidsbegränsad undersökning). Efter undersökningen förstår teamet komplexiteten och kan ge en realistisk uppskattning. Lägg till en multiplikator på 2-3 till den vanliga uppskattningen och inkludera 50% buffert för oförutsedda svårigheter.
Visa nedbrytningen — dela upp uppgiften i deluppgifter med uppskattning för varje. Förklara vad tiden består av: utveckling, testning, kodgranskning, dokumentation. Föreslå alternativ: minska omfattningen, förenkla funktionaliteten eller dela upp i faser. Sänk aldrig uppskattningen utan att ändra kraven.
Omvärdering behövs när ny information om uppgiften framkommer: ytterligare krav har upptäckts, tekniska begränsningar har hittats eller prioriteten har ändrats. Inom sprinten omvärderas inte uppgifter — fokus är på slutförande. Mellan sprintar omvärderas backloggen inom ramen för grooming.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också