Å vurdere innsatsen som kreves for programvareutvikling er en kritisk oppgave som hjelper teamene med å planlegge prosjekter, tildele ressurser og fastsette realistiske tidsfrister. Aksepterte estimater kan forbedre prosjektledelsen og kundetilfredsheten. Ulike teknikker brukes til å gjøre disse estimasjonene mer pålitelige og konsekvente.

Vanlige estimasjonsteknikker

Flere metoder brukes til å estimere programvareutviklingsinnsats, hver med sine fordeler og begrensninger. De vanligste teknikkene inkluderer ekspertvurdering, analogt basert estimat og parametriske modeller.

Ekspertdom

Denne teknikken innebærer å konsultere erfarne teammedlemmer eller interessenter for å gi estimater basert på deres kunnskap. Det er raskt og nyttig for små prosjekter, men kan være subjektivt og utsatt for bias.

Analogibasert estimasjon

Analogisk basert estimat sammenligner det aktuelle prosjektet med lignende tidligere prosjekter. Ved å analysere tidligere innsatser kan lag få estimater for nye prosjekter. Denne metoden er avhengig av tilgjengeligheten av historiske data og likheten mellom prosjekter.

Parametriske modeller

Parametriske modeller bruker matematiske formler og historiske data for å beregne innsats. Eksempler inkluderer COCOMO og funksjonspunktanalyse. Disse modellene gir mer systematiske estimater, men krever detaljerte data og antakelser.

Eksempler på virkelighet

Tenk på et team som utvikler en webapplikasjon. De analyserer lignende tidligere prosjekter og anslår at hver funksjon tar ca 40 timer. Prosjektet inkluderer 10 funksjoner, noe som fører til et første estimat på 400 timer. Justeringer er gjort for kompleksitet og teamopplevelse, noe som resulterer i et endelig estimat på rundt 450 timer.