Estimatie — is een kwantitatieve beoordeling van de benodigde inspanning om een taak uit te voeren, functionaliteit te ontwikkelen of een project als geheel te realiseren. In mobiele ontwikkeling worden estimaties gebruikt voor het plannen van sprints, het bepalen van kosten en het beheren van verwachtingen van de klant. Volgens gegevens van Project Management Institute, 2024 kan de schattingsfout in vroege projectfasen oplopen tot 100%, wat estimatie een van de moeilijkste disciplines in ontwikkeling maakt.
Belangrijkste punten
Estimatie (van het Engels estimate — schatting) — het voorspellen van de hoeveelheid tijd of moeite die nodig is om een taak uit te voeren. In mobiele ontwikkeling worden estimaties uitgedrukt in uren, dagen, story points of geldelijke equivalenten. Het doel van een estimatie is niet een exacte voorspelling, maar het verminderen van onzekerheid voor het nemen van beslissingen.
Estimatie — een voorspelling met een foutmarge. Verplichting (commitment) — een belofte om een taak voor een bepaalde datum uit te voeren. Het verschil is cruciaal: een estimatie zegt „waarschijnlijk 5 dagen„, een verplichting — „we doen het in 5 dagen„. Managers verwarren deze begrippen vaak en veranderen een estimatie in een deadline zonder recht op fouten.
Het proces van estimeren is net zo belangrijk als het resultaat. Wanneer het team de beoordeling van een taak bespreekt, komen verborgen vereisten, afhankelijkheden en risico's aan het licht. Zelfs als het uiteindelijke cijfer onnauwkeurig is, geeft de discussie alle deelnemers inzicht in de taak. Daarom zijn collectieve beoordelingsmethoden (Planning Poker) effectiever dan individuele.
Er bestaan verschillende estimatiemethoden, elk geschikt voor verschillende projectfasen en detailniveaus. De keuze van de methode hangt af van de beschikbare gegevens en de vereiste nauwkeurigheid.
| Methode | Type | Nauwkeurigheid | Wanneer te gebruiken |
|---|---|---|---|
| Planning Poker | Expert, collectief | Hoog (in sprint) | Beoordeling van sprinttaken |
| T-Shirt sizing | Expert, snel | Gemiddeld | Voorlopige beoordeling van epics |
| Analoge schatting | Op basis van historie | Gemiddeld | Vergelijkbare taken in het verleden |
| Three-point (PERT) | Probabilistisch | Bovengemiddeld | Taken met hoge onzekerheid |
| Parametrisch | Formulegebaseerd | Afhankelijk van gegevens | Homogene meetbare taken |
Planning Poker — de populairste beoordelingsmethode in Agile. Elke ontwikkelaar krijgt een pak kaarten met Fibonacci-getallen (1, 2, 3, 5, 8, 13, 21). Na het bespreken van de taak laten alle teamleden tegelijkertijd hun kaart zien. Als de schattingen verschillen — leggen de ontwikkelaars met de laagste en hoogste schatting hun logica uit, waarna er opnieuw wordt gestemd. De methode elimineert de invloed van autoriteiten en geeft een nauwkeurigere schatting.
T-Shirt sizing — een ruwe schatting op basis van T-shirtmaat: XS, S, M, L, XL, XXL. De methode wordt gebruikt voor snelle schatting van grote taken (epics) in vroege stadia, wanneer details nog niet bekend zijn. Later wordt elke dergelijke taak gedecomponeerd en geschat in Planning Poker. T-Shirt sizing duurt 5-10 minuten per taak, maar geeft alleen een grootteorde.
PERT gebruikt drie schattingen: optimistisch (O), pessimistisch (P) en meest waarschijnlijk (M). De uiteindelijke schatting wordt berekend met de formule: (O + 4M + P) / 6. De methode houdt rekening met onzekerheid en geeft een realistischer resultaat dan een enkele schatting. PERT is vooral nuttig voor taken met hoge risico's of nieuwe technologieën.
De nauwkeurigheid van een estimatie hangt af van de projectfase en de hoeveelheid bekende informatie. Hoe eerder een schatting wordt gemaakt, hoe groter de foutmarge — dit is normaal en moet worden meegenomen in de planning.
De onzekerheidskegel (Cone of Uncertainty) — een model dat beschrijft hoe de foutmarge van een schatting afneemt naarmate het project vordert. In de conceptfase bedraagt de foutmarge 400% (een taak kan 1 tot 4 maanden duren). Op het moment van de sprint — 20% (1-1.2 maand). Bewustzijn van dit model helpt om in vroege stadia geen exacte schattingen te eisen.
Relatieve schatting (in story points) is nauwkeuriger dan absolute schatting (in uren), omdat mensen taken beter kunnen vergelijken dan tijd kunnen schatten. „Deze taak is twee keer zo complex als die„ — een betrouwbaarder oordeel dan „deze taak duurt 8 uur„. Relatieve schattingen zijn niet afhankelijk van de specifieke ontwikkelaar en behouden hun nauwkeurigheid bij wisseling van uitvoerder.
De nauwkeurigheid van estimaties kan worden verbeterd door een systematische aanpak, collectieve discussie en analyse van fouten uit het verleden. Er zijn verschillende bewezen praktijken.
Elke taak die op meer dan 2 dagen wordt geschat, moet worden gedecomponeerd in subtaken. Principe: als een taak niet met 50% nauwkeurigheid kan worden geschat, is deze te groot. Verdeel het in stappen die begrijpelijk en schatbaar zijn. Na decompositie blijkt de totale schatting vaak 1.5-2 keer groter dan de oorspronkelijke.
Houd een geschiedenis van schattingen bij en vergelijk deze met de werkelijke kosten. Bijvoorbeeld: „taken geschat op 3 story points duren gemiddeld 4 dagen, niet 2„. Gebruik de velocity van het team voor voorspellingen: als het team 20 story points per sprint afrondt, plan dan geen 30. Analyse van de nauwkeurigheid van eerdere schattingen is de beste training voor de schattingsvaardigheid.
Verankering — een psychologisch effect waarbij de eerste uitgesproken schatting alle deelnemers beïnvloedt. Om verankering te voorkomen, laten in Planning Poker alle teamleden tegelijkertijd hun kaarten zien, niet om de beurt. Kalibratie — regelmatige vergelijking van schattingen met de werkelijkheid: na 10-20 sprints leert het team nauwkeuriger te schatten dankzij feedback.
Elke taak bevat verborgen risico's: ziekte van een ontwikkelaar, probleem met API, wijziging van vereisten. Voeg een risicogecorrigeerde factor toe aan de schatting: voor taken met hoge risico's — een vermenigvuldiger van 1.5-2, met lage risico's — 1.1-1.2. Laat de klant transparant zien welke risico's zijn meegenomen en hoe deze de termijnen beïnvloeden.
Fouten bij estimatie komen in de meeste teams voor, ongeacht hun volwassenheid. Kennis van deze fouten is de eerste stap naar verbetering.
De meest voorkomende fout — schatting op basis van het beste scenario: „als alles perfect gaat, doen we het in 3 dagen„. In werkelijkheid gaat niets perfect: bugs, vragen over vereisten, afhankelijke taken. Oplossing: schat op basis van het meest waarschijnlijke scenario, niet het optimistische. Gebruik PERT om rekening te houden met variabiliteit.
Wanneer een manager zegt „het moet voor vrijdag zijn„, past de ontwikkelaar onbewust zijn schatting aan deze deadline aan. Schatting onder druk is altijd te laag en leidt tot termijnoverschrijding. Oplossing: de schatting moet voorafgaan aan de deadline, niet andersom. Eerst schat het team, daarna komen de partijen termijnen overeen.
Complexiteit van een taak (hoeveel denken) en tijd (hoeveel doen) — zijn verschillende metrics. Een taak kan eenvoudig maar tijdrovend zijn (10 schermen coderen). Of complex maar snel (een bug vinden in legacy). In story points wordt meestal de complexiteit geschat en wordt de tijd afgeleid van de velocity van het team.
Een ontwikkelaar werkt niet 8 uur onafgebroken aan één taak: vergaderingen, code reviews, hulp aan collega's, administratieve taken nemen 30-50% van de werktijd in beslag. Contextwisselingen moeten worden meegenomen in de estimatie: in werkelijkheid schrijft een ontwikkelaar 3-4 uur per dag code.
Veelgestelde vragen
Ontwikkeling — een creatief proces met hoge onzekerheid. In tegenstelling tot bouw of productie, waar elke stap bekend is, is in IT elke taak uniek. Onbekende onbekenden (unknown unknowns) — de belangrijkste oorzaak van onnauwkeurigheid. Zelfs een ervaren team vergist zich in 30-50% van de schattingen. Dit is normaal en moet worden meegenomen in de planning.
Story points zijn beter voor sprintplanning omdat ze relatief zijn en niet afhankelijk van de uitvoerder. Uren zijn nodig voor contracten en externe rapportage, maar zijn minder nauwkeurig. Optimale combinatie: taken worden geschat in story points en termijnen worden via de velocity van het team omgezet in kalenderdagen.
Voor taken met onbekende technologieën gebruik je eerst Spiko (tijdgebonden onderzoek). Na het onderzoek begrijpt het team de complexiteit en kan het een realistische schatting geven. Voeg een vermenigvuldiger van 2-3 toe aan de normale schatting en neem 50% buffer voor onvoorziene moeilijkheden.
Laat de decompositie zien — splits de taak op in subtaken met elk een schatting. Leg uit waaruit de tijd bestaat: ontwikkeling, testen, code review, documentatie. Stel alternatieven voor: scope verkleinen, functionaliteit vereenvoudigen of opsplitsen in fasen. Verlaag nooit de schatting zonder de vereisten aan te passen.
Herziening is nodig wanneer er nieuwe informatie over een taak beschikbaar komt: aanvullende vereisten zijn ontdekt, technische beperkingen zijn gevonden of de prioriteit is gewijzigd. Binnen een sprint worden taken niet herzien — de focus ligt op afronding. Tussen sprints door wordt de backlog herzien tijdens grooming.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook