Modelbaseret estimering

 

Summering af usikkerhed

Successiv kalkulation

Størrelsesindikatorer

Analogi

Elementmetoden

Faktormetoden

Brug af function points

Produktdatametoden

Forside

Kontakt Jan Mogensen

Estimering på basis af en model vil sige at man benytter en matematisk formel til udregning af estimatet. Denne formel eller regneforskrift søger at tage højde for flest mulige faktorer, og den er som regel indbygget i et værktøj.

De input der kan være til modellen, kan deles i to grupper:

  • En størrelsesindikator som kan være antal kodelinier, function points, object points, m.m.
  • Projekt- og organisationsspecifikke justeringsfaktorer

Sidstnævnte kan der være mange af.

Den formel modellen indeholder, bygger på erfaringer fra et antal afsluttede projekter, men som udgangspunkt er det generelle erfaringer der ikke kommer fra din egen organisation. Visse værktøjer kan dog tilpasses så de efterhånden som man får registreret egne erfaringer, i stadig større udstrækning bygger på disse.

En fordel ved at estimere ud fra en anerkendt model er at den bygger på et erfaringsgrundlag som kun de største organisationer selv kan opsamle, og det vil tage tid. Til gengæld er de erfaringer modellen bygger på, ikke specifikke for din egen organisation, og det er en generel ulempe ved denne metode at estimaterne let kan virke uigennemsigtige. Det er vanskeligt at se hvorfor ét projekt er estimeret til et større ressourceforbrug end et andet.

En fordel ved at benytte et værktøj der bygger på industrital, er at kunden kan efterprøve estimatet og få de samme tal som producenten.

COCOMO-modellerne

COCOMO (Constructive Cost Model) er nok den mest kendte og populære estimeringsmodel, men så vidt vides bruges den ikke i Danmark. Egentlig er COCOMO en gruppe modeller, der som de vigtigste omfatter Basic COCOMO, Intermediate COCOMO, begge fra 1981, samt Basal COCOMO II og Factor Based COCOMO II, begge fra midten af 1990'erne. Endelig eksisterer en Detaljeret COCOMO, som aldrig har vundet større udbredelse.

Den oprindelige COCOMO (COCOMO 81) blev udviklet af Barry Boehm i 1981, men p.g.a. udviklingen i softwareprocesser og - værktøjer har man måttet videreudvikle modellen og rekalibrere den. I 1989 publiceredes Ada COCOMO, og med COCOMO II søgte man i 1995 at imødegå de vanskeligheder ‘81-udgaven havde i forhold til bl.a. de nye evolutionære udviklingsmodeller som f.eks. spiralmodellen.

COCOMO ‘81 var baseret på 63 projekter, som blev delt i tre typer, nemlig organic, semidetached og embedded. Organic dækker i denne sammenhæng over en velkendt projekttype der udvikles af en lille gruppe med en rimelig erfaring fra lignende projekter, mens et embedded (indlejret) projekt er karakteriseret ved det modsatte, altså nye udviklingsmetoder, programmeringssprog, algoritmer og lign. Semidetached er en mellemkategori, og der findes ingen entydige regler til at afgøre hvilken kategori et givent projekt tilhører.

Den grundliggende estimering i COCOMO ‘81 bygger på antal kodelinier, som opløftes i potensen k og derefter multipliceres med en konstant C, som afhænger af projekttypen.

Intermediate COCOMO adskiller sig fra Basic ved at have 15 såkaldte cost drivers, hvis vægt multipliceres og herved giver en development effort multiplier, som indsættes i beregningsformlen.

COCOMO II adskiller sig fra COCOMO ‘81 ved at man som input ud over kodelinier også kan bruge function points, som omregnes til antal kodelinier med en sprogspecifik faktor. Derudover er inddelingen i tre projekttyper blevet afløst af en konstant der jævnligt rekalibreres, og fem scale factors, (skaleringsfaktorer). I 2000 var der registreret 161 projekter i den database COCOMO II kalibreres ud fra.

De fem skaleringsfaktorer afspejler de relative forskelle der kan tilskrives softwareprodukters forskellige størrelse, og hver scaleringsfaktor har en niveauinddeling fra lav til ekstra høj med seks niveauer mellem 0 og 7,80. Meget lav har altid en værdi på 0, mens værdien af de øvrige niveauer varierer fra faktor til faktor. En eksponent over 1,00 betyder at projektet er relativt mere ressourcekrævende end et gennemsnitsprojekt, mens det modsatte er tilfældet med en eksponent under 1,00.

Fordele og ulemper ved COCOMO-modellerne

Blandt fordelene ved COCOMO-modellerne er at man kan man undgå den lange dataopsamlingsproces ved at estimere ud fra en standard- kalibrering. Samtidig kan de kalibreres så de passer til den enkelte organisation, men dette forhold kan også blive en ulempe, for hvis COCOMO skal bruges optimalt, skal der bruges en del ressourcer til at kalibrere den til det enkelte udviklingsmiljø.

En anden fordel er at COCOMO kan fås som freeware.