Prosjektstyring. Innhold: Prosessmodeller og prosjekter Prosjektplanlegging, inkl. tidsplanlegging Estimering og risikostyring

Like dokumenter
Prosjektstyring. Innhold: Prosessmodeller og prosjekter Prosjektplanlegging, inkl. tidsplanlegging Estimering og risikostyring

I dag Prosjektstyring og prosjektgjennomføring

Fellesprosjekt: gruppe 214

I dag. Prosjektstyring og prosjektgjennomføring. Hva er et prosjekt? Oppdeling i. Planlegging. arbeidsoppgaver. Hva er en prosess? En prosessmodell?

Prosjektstyring og prosjektgjennomføring

Use case modellering

Planleggingsfasen.. Estimering av kostnader i IT-prosjekter. Gjennomføringen. Hvor gode er vi til å planlegge (estimere kostnader) ihht Standish Group

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Estimeringsmetoder. I dag. Kostnadsestimering. Kostnader og prisfastsettelse. Ulike estimeringsmetoder. Måling av programvare. Estimeringsteknikker

Estimeringsmetoder. Kirsten Ribu. HiO - Kirsten Ribu

Estimering av kostnader i IT-prosjekter. Stein Grimstad (Simula)

Planleggingsfasen.. Estimering av kostnader i IT-prosjekter. Overskridelser. Gjennomføringen. Stein Grimstad (Simula)

Tom Røise 25. Januar 2011

Tom Røise 28.Jan 2010

Distributed object architecture

Tom Røise. IMT 2243 : Systemutvikling 1. Forelesning IMT Januar Prosjektstyring. Deltemaer innen prosjektstyring

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu

Tom Røise 27.Jan 2011

INF1050 dagsorden 18. april 2007

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

Hvordan estimering av ideell tid gjør deg mer realistisk (med innlagt NM i estimering)

Lynkurs 10. Januar 2012

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Oppsummering. Prosjektdelen

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

UNIVERSITETET I OSLO

Tom Røise 9. Februar 2010

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

Tom Røise. IMT 2243 : Systemutvikling 1. Forelesning IMT Januar Offshore Software Development. Offshore Software Development

Tom Røise 18. Februar 2009

Forelesning IMT mars 2011

Systemutviklingsmetoder

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Introduksjon til prosjektarbeid del 3. Prosjektadministrasjon Styring, organisasjon og ledelse

Planleggingsfasen.. Estimering av kostnader i IT-prosjekter. Overskridelser. Gjennomføringen. Magne Jørgensen. Industriell Systemutvikling

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling Eksempel Evolusjonære modeller Utviklingsprosesser Evolusjonære modeller Foranalyse

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Presentasjon 1, Requirement engineering process

Making IT your winning asset.

ESTIMERING I SMIDIGE PROSJEKTER

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Estimeringsmetoder. I dag. Estimering = måling. Kostnader og prisfastsettelse

Eksamen i fag TDT4140 Systemutvikling. 8. juni, 2007 kl

1. Hvilke type krav angår sikkerhet og pålitelighet?

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

Forelesning IMT Mars 2011

Hvordan håndterer du anskaffelser i IT-prosjekter? Bente Hagelien Mari Vestre Jannicke Klepp Tryggestad Lars Nokken

UNIVERSITETET I OSLO

Introduksjon til prosjektarbeid del 1. Prosjektet som arbeidsform Begrep, fundament og definisjoner

Innhold. Innledning Del 1 En vei mot målet

Måling Hvordan ta beslutninger Estimeringsteknikker

A Study of Industrial, Component-Based Development, Ericsson

UNIVERSITETET I OSLO

DRI2001 forelesning

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017

UKE 15 Prosjektledelse, planlegging og teamarbeid. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Brukersentert design Kapittel 3 i Shneiderman

Distributed object architecture

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

Oppgaver uke 42. Systemutvikling

Nye retninger innenfor forskningen i fagområdet prosjektledelse

1. Hvilke type krav angår sikkerhet og pålitelighet?

Prosjektledelse, prosjektplanlegging, teamarbeid

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner

Prosjektplan v1.7 (Revidert utgave 2)

Estimering. INF1050: Gjennomgang, uke 09

INF 5120 Obligatorisk oppgave Nr 2

Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010

Interaksjonsdesign Utvikling for og med brukere

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning

Estimering av kostnader i IT-prosjekter

Prosjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10

Systemutvikling (Software Engineering) Professor Alf Inge Wang

Du er mer lik meg! enn jeg er lik deg!!! Asymmetri i relativ estimering!

En praktisk anvendelse av ITIL rammeverket

Last ned Prosjektadministrative metoder - Svein Arne Jessen. Last ned

Prinsipper for Estimering av Utviklingskostnader i IT-prosjekter

Livsløpstesting av IT-systemer

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson

1. Initiativ og prosjekter for systemutvikling

Erfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt Motivasjon av kunder og Nyttige verktøy

INF1050 dagsorden 24. jan 2007

Hvordan etablere og gjennomføre prosjekter? Del 1

Vedlikehold og gjenbruk

NOVAPOINT BRUKERMØTE 2016 BERGEN, mai

Sist oppdatert: 18.november Øvelsesoppgaver til INF1500

INF Obligatorisk prosjektarbeid

Institutt for Informatikk, 24. august 2012

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

Transkript:

Prosjektstyring Innhold: Prosessmodeller og prosjekter Prosjektplanlegging, inkl. tidsplanlegging Estimering og risikostyring 1 Forelesningene er bla basert på... Sommerville-boka Steve McConnell: Software Project Survival Guide. ISBN 1-57231-621-7. Hans Mikkelsen og Jens O. Riis. Grundbog i Prosjektledelse. ISBN 87-89477-10-3. Svein Arne Jesssen. Prosjektadministrative metoder. ISBN 82-00-22551-8. Harald Westhagen. Prosjektarbeid. ISBN 82-00-03341-4. Viktig: Forelesningene vil ikke følge Sommerville-læreboka i rekkefølge og framstilling. Det er heller ikke tid til å dekke alle temaene som tas opp i pensum => Mye selvstudium. 2

Målsetninger Etter å ha deltatt på forelesningene om prosjektstyring/utviklingsmodeller bør dere: Kjenne til og forstå viktige begreper innen systemutviklingsprosesser og prosjekter Ha et godt utgangspunkt for å kunne analysere fordeler og ulemper med ulike organiseringer av systemutviklingsarbeid Kunne kombinere kunnskap om systemutviklingsprosesser med kunnskap om prosjektstyring Kjenne til et utvalg av teknikker for å planlegge, estimere og styre systemutviklingsprosjekter => Denne kunnskapen skal BRUKES og EVALUERES i den obligatoriske prosjektoppgaven for å få KUNNSKAP over til FERDIGHETER. 3 Prosjektstyring 4

Hva er et prosjekt? lat. projectus - noe som er kastet frem Et prosjekt er en arbeidsoppgave med følgende egenskaper: o Engangsoppgave o Definert mål og kan skilles ut som eget styringsobjekt o Skal gjennomføres innenfor bestemte tids- og kostnadsrammer o Ofte tverrfaglig og krever koordinert innsats fra flere personer eller organisasjonsenheter. Oppgaver: o Er INF3120-oblig. av denne typen arbeidsoppgaver? o Hvilke andre typer arbeidsoppgaver finnes? o Er vedlikehold/videreutvikling av programvare et prosjekt? 5 Hva er en prosessmodell? Kjært barn har mange navn : o livssyklusmodell o systemutviklingsmodell o systemutviklingsmetode Prosess (Sommerville): A set of activities and associated results which lead to the production of software products. Prosessmodell (Sommerville): Abstract representation of a software process (from a particular viewpoint). Oppgaver: o Er det noen forskjell på en modell og en metode? o Prosessmodeller kan i forskjellig grad være deskriptive eller normative. Hva menes? 6

Prosessmodell - I Typer prosessmodeller for systemutvikling (Sommerville): vannfall evolusjonær formell gjenbruksbasert I tillegg (Sommerville kaller disse for hybrider ): inkrementell spiral-modellen Oppgave: Hva slags prosessmodell er det lagt opp til i prosjektoppgaven? 7 Eksempel på alternativ klassifisering Life-cycle models Linear-sequential Incremental Evolutionary Waterfall RAD Cleanroom Spiral model Exploratory DSDM EVO/HP Fusion Evolutionary, incremental Unified Process Throw-away prototyping Evolutionary Prototyping Øvelse: Øvelse: Her Her er er ikke ikke formell og og gjenbruksbasert prosessmodell med. med. Hvorfor Hvorfor ikke? ikke? Erik Arisholm 7.9.1999 8

Prosessmodell - II Faser som inngår i (nesten) alle prosessmodeller: o Forstudium/ Feasability study / Pre-study (Hvilke muligheter har vi?) o Kravspesifikasjon (Hva skal produktet gjøre?) o Design (Hvordan skal produktet bygges?) o Programmering ( Bygging ) o V&V (Validering og verifikasjon) / Testing» Har vi bygd riktig system/produkt? (validering)» Har vi bygd systemet/produktet riktig? (verifikasjon) o Videreutvikling/Vedlikehold 9 Er prosessmodell viktig? Eksempel 1 - Microsoft Utgangspunkt: Hacker-kultur. Prosessmodell var i realiteten Code-andfix (mer enn 50% testere + mye feil + overskridelser i tid og kostnad). Enorme leveranseproblemer som følge av økende kompleksitet i produktene. Problem: Hvordan få en høyere kvalitet og forutsigbarhet i leveransene samtidig som man tok hensyn til Microsoft -kulturen og ikke mistet dyktige programmerere? (Man ville ikke bli så strukturerte som IBMprogrammererne.) Løsning : Endret prosessmodell (ikke nye verktøy eller språk) til synch-and-stabilize (inkrementell utviklingsmodell med daglig (!!) integrasjon og test av kode i bygg-fasen). Resultat: En bedre modell for utvikling av svært komplekse systemer med programmerere som kunne fortsette å hacke, men nå med mindre sannsynlighet for at ny funskjonalitet ikke lot seg integrere uten masse feil. (men, fortsatt mer enn 50% testere!) 10

Er prosessmodell viktig? Eksempel 2 - TRESS-90 Trygdeetatens store EDB-satsing på 90-tallet. SINTEFs eksterne prosjektrevisjon viste bla at: o Bygg-fasen ble startet uten å være i nærheten av en stabil design. o Reell brukermedvirkning på en del viktige områder, som brukergrensesnitt, kom først i bygg-fasen (men likevel vannfallsmodell!) o Interne prosjektavhengigheter dårlig håndtert. o Ingen kritisk sti => alle aktiviteter ble oppfattet som like (lite) viktige for å holde leveransetidspunktet o Kvalitetssikring uten myndighet. o Personer ble tatt ut av prosjektet på avtalt dato, uavhengig om oppgaven var ferdigstillt eller ikke. Reell gjennomføring var langt fra sekvensiell (vannfalls), men kontrollfunksjoner, avtaler og innkjøp syntes å gå ut fra at kartet (valgt prosessmodell) var mer riktig enn terrenget (reell prosess). Konsekvensen var at prosjektet kom ut av styring. 11 Prosessmodell vs prosjektarbeid Sammenhenger: o Faser i prosjektmodellen blir til overordnede aktiviteter og milepæler i prosjektplan (men prosjektplan vil typisk inneholde flere og mer detaljerte aktiviteter) o Relasjon mellom faser i prosjektmodellen blir til Gantt-diagram eller lignende i prosjektplan. o Innhold i faser i prosjektmodellen blir til leveranser, dokumentasjon, verifikasjon og validering, risikostyringsaktiviteter m.m. i prosjektplan Forenklet sagt: Prosessmodellen vil ofte være organisasjonens valg av felles arbeidsmåte for å sikre gjenbruk av erfaring og forutsigbare leveranser. Prosjektplanen er prosjektleders virkemiddel for å sikre leveransene under rammebetingelsene som settes av prosessmodellen. Konflikter oppstår dersom disse to målene ikke samsvarer (ref. skunk projects og byråkrati ). Oppgave: Er det riktig å si at prosjektplan er en instans av prosessmodellen? 12

Prosjektplanlegging 13 Prosjektplanen Mulig prosess for utarbeidelse av prosjektplan (iterativ prosess): o Finn person(er) som kan utarbeide prosjektplan (bør inkludere den kommende prosjektleder - eierskap til plan er viktig) o Forstå så mye som mulig av kravene til leveransene (kravspesifikasjon og implisitte krav), samt andre viktige rammer for prosjektet (f eks leveransefrist og kostnadsrammer). Vurder om rammevilkår er tilfredstillende. o Velg prosessmodell ut fra rammevilkår (marked, risiko for endring av krav, kundemodenhet, kompetanse i organisasjonen,...). o Definer milepæler, leveranser og aktiviteter, samt avhengigheter mellom disse. o Estimer tids og timeforbruk per aktivitet o Analyser om tilgjengelig ressurser finnes o Vurder risiko og reforhandle om nødvendig leveranseinnhold eller andre rammevilkår. o Dokumenter resultatene av prosessen i et dokument som skal tjene som styringsdokument og kommunikasjonsinstrument. Oppgave: Hva er rammebetingelsene for INF3120-prosjektoppgaven? 14

Prosjektplanen - innhold og teknikker Gjennomgang av IEEE-mal (m. eksempler) for prosjektplan (denne bruker vi i prosjektoppgaven) o I vårt tilfelle inneholder prosjektplan kvalitetsplan, valideringsplan og konfigurasjonsstyringsplan. Disse vil i større prosjekter kunne være separate planer, som f eks er styrt av kvalitetsansvarlig for prosjektet. Gjennomgangen vil ha spesiell fokus på: o Tidsplanlegging (aktivitetsnettverk, PERT, Gantt) o Estimering og risikostyring o Kvalitetssikring i prosjekter 15 Tidsplanlegging i prosjekter 16

Arbeidsoppgaver varighet og avhengigheter Task Duration Dependencies (days) T1 8 T2 15 T3 15 T1 T4 10 T5 10 T2, T4 T6 5 T1, T2 T7 20 T1 T8 25 T4 T9 15 T3, T6 T10 15 T5, T7 T11 7 T9 T12 10 T11 Ian Sommerville 1996 17 Aktivitetsnettverk 4/7/94 start 8 days T1 15 days T2 14/7/94 15 days M1 T3 5 days 25/7/94 T6 M3 20 days T7 4/8/94 M4 15 days T9 25/8/94 M6 7 days T11 10 days T4 25/7/94 M2 18/7/94 M5 10 days T5 11/8/94 M7 15 days T10 5/9/94 M8 10 days T12 25 days T8 Finish 19/9/94 Ian Sommerville 1996 18

Gantt-diagram 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 Start T4 T1 T2 M1 T7 T3 M5 T8 M3 M2 T6 T5 T9 M4 M7 T10 T 1 1 M6 T12 M8 Finish Ian Sommerville 1996 19 Person-allokering 4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 Fred T4 T8 T11 T12 Jane T1 T3 T9 Anne T2 T6 T10 Jim T7 Mary T5 Ian Sommerville 1996 20

Støtteverktøy MS Project (for mindre prosjekter) Project Workbench PMW (for store prosjekter) Se oversikt over noen andre verktøy: http://www.wior.uni-karlsruhe.de/bibliothek/project/? INF3120-oppgaven: I INF3120-prosjektoppgaven vil det ikke være nødvendig å bruke noe verktøy for prosjektplanleggingen. Det er imidlertid ingenting i veien for å bruke ett eller flere av disse verktøyene! Sørg imidlertid for å ikke bruke mye tid på prosjektplanleggingsverktøy. Det viktige er å skjønne prinsippene. o Erfaringsmessig er at de beste prosjektlederne er minst opptatt av å ha avanserte støtteverktøy for prosjektplanlegging/styring og forsøker hele tiden å holde det så enkelt som mulig. 21 Estimering og risikostyring 22

Innledning Målsetning: Oversikt over typer metoder og teknikker Forstå bruken av metodene Bedre gjennomføring av prosjektoppgaven Innhold: Hva er et estimat? Hva er risiko? Modeller og metoder Estimering og risikostyring i prosjektoppgaven. 23 Oppvarming Er det usannsynlig at en svært usannsynlig uheldig episode som vil forsinke et IT-prosjekt vil skje i løpet av en lengre prosjektperiode? o NB: Dette er kanskje den største kilden til overoptimisme i systemutviklingsprosjekter. Hva er andre mulige årsaker til at man som oftest er for optimistisk når prosjekter skal planlegges? Hva er viktige hindre for å lære av erfaring? 24

Plan = Estimat + Risikobuffer Estimert ressursforbruk: 50% sannsynlighet for at virkelig ressursforbruk ikke overstiger det estimerte (gitt at forutsetningene for estimatet er korrekte). Et estimat bør brukes sammen med angivelse av sannsynlige nedre og øvre grenser for ressursforbruk, risiko forbundet med estimatet og antagelser som ligger til grunn. Estimatet brukes som inndata til planlagt ressursforbruk og ressursforbruk til grunn for fastprisavtaler. Planlagt ressursforbruk: Det ressursforbruket som prosjektleder bruker som utgangspunkt for planleggingen. I de fleste tilfellene bør dette være høyere enn det estimerte ressursforbruket, dvs det bør være mer enn 50% sannsynlighet for å holde planen. Plan = Estimat + Risikobuffer. 25 Risiko Risiko beregnes ut fra sannsynlighet og konsekvens til en hendelse. Konsekvens Hendelse Håndtering Sannsynlighet 26

Øvelser Øvelse 1: I relasjon til prosjektene dere skal starte, hvor omtrent vil dere plassere og håndtere hendelser av typene: Samarbeidsproblemer Tekniske problemer Er det andre hendelser som er viktige mhp prosjektets risiko? Øvelse 2: Hvilke forskjeller bør det være mhp håndtering av følgende risikotyper: - Normalvariasjon - Risikofaktorer vi kjenner til - Risikofaktorer vi ikke kjenner til - der risikofaktorene er rimelig uavhengige) - Risikofaktorer vi ikke kjenner til der risikofaktorene er avhengige og fører til total redefinering av prosjektmål 27 Kort innføring i risikostyrt estimering (PERT-estimering, utvidet) Denne metoden skal brukes i prosjektoppgaven! Viktige spørsmål under innføringen/eksemplet: o Hva bestemmer om oppdelingen i aktiviteter er god? o Hva kan estimeres når? og i hvilken rekkefølge? o Hvorfor bør vi starte med mest pessimistisk estimat? o Bør det legges til ekstra risikobuffer for svært usannsynlige hendelser? (og i så tilfelle, hvor stort?) o Når bør det reestimeres? o Hvordan håndtere at både kravene og tidsfristen er gitt? (estimering når man har en inkrementell utviklingsmodell) 28

PERT-estimering Estimat = (MP + 4*MS + MO) / 6 o Forutsetninger er bla beta-fordeling av mulig arbeidsmengde. o MP = Mest pessimistisk, MS = Mest sannsynlig, MO = Mest optimistisk o Med mest pessimistisk hhv mest optimistisk menes noe i retning av en verdi det er usannsynlig (f eks at det kun vil skje i 1 av 20 tilfelle) at vil bli overskredet. Hvordan fastlegge MP og MO? o Ekspertvurdering o Empiriske fordelinger 29 Noen svakheter ved ekspertestimater Svakhet 1: Vi undervurderer effekten av kombinerte OGsannsynligheter. F eks.: Selv om sannsynligheten for at aktivitetene A, B, C og D skal skje uten større problemer er høy, hhv 80%, 90%, 70% og 80%, er sannsylighet for at A OG B OG C ikke skal ha større problemer relativt lav (0.8 * 0.9 *0.7 * 0.8 = 0.4), dvs 40%. Svakhet 2: Vår initielle vurdering ( anker ) har typiske en urimelig stor innflytelse på senere vurderinger. Vi lar oss lett påvirke av villedende informasjon, selv om vi vet at den er villedende. Svakhet 3: Vi klarer ikke å ta nok i mhp MIN og MAX-intervaller. Viktig: Studier viser at disse svakhetene ikke blir særlig mindre med lang erfaring. 30

Svært usannsynlige hendelser... For prosjekter som varer en stund er det sannsynlig at det vil skje en eller flere usannsynlige alvorlige hendelser. Det er ofte ikke hensiktsmessig å ta med slike betraktninger på detaljert nivå, f eks hvor sannsynlig det er at oppdragsgiver går konkurs underveis. Estimeringsmodeller håndterer dette problemet ikke særlig godt. o Legg på litt ekstra... (f eks 10%) Forsikringsselskaper løser et lignende problem på denne måten: o En del av forsikringspremien for skadeforsikring er ikke historiebasert, men skal ta høyde for katastrofer (svært usannsynlige hendelser) som de vet vil skje av og til. 31 Estimeringsmetoder - oversikt ekspertestimater ( educated guess ) o uformell o delphi-metode mer strukturerte metoder o top-down o bottom-up (som vist i tidligere eksempel) o inside-out (f eks starter med bottom-up av programmeringsfasen, deretter topdown for resten av aktivitetene) o regresjonsanalyse (ofte i form av debate and trial, dvs pseudo-regresjon) o analogi (f eks bruk av mønstergjenkjennings-algoritmer) De aller fleste estimeringer er enten rene ekspertestimater eller kombinerer tilnærmingene ovenfor. Dvs, det er nesten ingen som tror på å kun bruke en estimeringsmodell som ikke krever ekspertkunnskap. Eksempler på estimeringsmodeller som bruker metodene ovenfor: o COCOMO I og II (formel + linje kode eller funksjonspoeng-basert, top-down) o Angel (finner lignende prosjekt, justerer for ulikheter, top-down) 32

Ekspertestimater Ofte de mest nøyaktige, men muliggjør ikke (i samme grad som modeller): o akkumulering av ekspertuavhengig kunnskap o læring fra historien o kvantitative analyser Ofte anbefalt at ekspertestimater brukes på aktivitets-nivå, mens modellestimater brukes for å korrigere/validere aktivitets-estimatene og å gi et perspektiv på total-estimatene. Undersøkelser viser at ekspertestimatene stort sett er like nøyaktige som modell-estimater, men at ekspertestimater har en større tendens til alt for optimistiske estimater. Delphi-metode går ut på at flere eksperter konvergerer i estimater: o 1. runde gir de uavhengig av hverandre estimater o 2. runde (hvis ikke konsesus) ser de på hverandres estimater (og begrunnelser) og endrer eventuelt sitt eget i lys av denne informasjonen o osv. helt til konsensus er nådd. 33 Formelle estimeringsmetoder (1) Typisk metode for top-down estimering av arbeidsmengde vha estimeringsmodell: 1. Estimer/mål størrelsen på det som skal utvikles (f eks i linjer kode, object points, feature points eller i funksjonspoeng ). 2. Bestem andre faktorer som har innvirkning på produktiviteten (f eks kompleksitet, nye verktøy, ustabile krav,...) 3. Finn historisk produktivitet (basert på samme størrelse-mål som under 1) og juster for unormale tilstander (høy kompleksitet osv, dvs alle relevante faktorer foruten størrelse). 4. Arbeidsmengde [f eks i månedsverk] = Størrelse / Produktivitet 34

Formelle estimeringsmetoder (2) Top-down: Start med et estimat av hele systemutviklingen, bryt ned i aktivitetsestimater/faser. Bottom-up: Start med estimater av aktiviteter/faser, summer for å få estimatet for hele systemutvikingen. PERT-basert estimering er stor sett bottom up. Inside-out: Start med bottom-up estimering av basisaktiviteter (f eks programmeringsaktiviteter). Bestem arbeidsmengde på de andre aktivitetene i relasjon til dette estimatet, f eks at testaktiviteter er 50% av arbeidsmengden til programmering. Regresjon: Gitt historiske data, trekkes en linje nærmest mulig til de historiske datapunktene. Analogi: Bruk av algoritmer for å finne en mengde med tidligere systemutviklingsprosjekter som ligner mest på det aktuelle. 35 COCOMO basert på linjer kode eller funksjonspoeng, dvs LOC/FP må estimeres basic, intermediate og advanced metoder o basic: kun en enkel formel (Arbeidsmengde = a * S b ), hvor a og b avhenger av type system som skal utvikles og S er størrelsen i linjer kode (se boka s. 600) o intermediate: formel + justeringsfaktor basert på 15 effort multipliers o advanced: som intermediate, men oppdelt i faseestimater bør kalibreres til eget utviklingsmiljø, formel-verdier og justeringsfaktorer utviklet for mange år siden. Ukalibrert gir COCOMO (original versjonen) svært dårlige estimater, i gjennomsnitt overestimerer COCOMO arbeidsmengden - trolig pga at den ikke er blitt kalibrert for nye mer effektive (CASE-)verktøy. Nye CASE-verktøy og språk er lite linje kode-basert, dvs COCOMO og andre linje kode-baserte estimeringsalgoritmer blir mer og mer utdaterte. COCOMO II gir derfor muligheten til å bruke funksjonspoeng som mål på størrelse. 36

Use Case modell basert estimering Customer Place Order Get Status of Order Inventory System Sales Representative Cancel Order Bente Anda 22.8.2001 37 Karners modell: Aktører: Use Case modell basert estimering Actor type Description Factor Simple Program interface 1 Average Interactive, or 2 protocol-driven interface Complex Graphical interface 3 Bente Anda 22.8.2001 38

Use Case modell basert estimering Use cases: Use case type Description Factor Simple 3 or fewer 5 transactions Average 4 to 7 transactions 10 Complex More than 7 transactions 15 Bente Anda 22.8.2001 39 Use Case modell basert estimering Tekniske faktorer som påvirker estimatet: Factor number Factor description Weight T1 Distributed system 2 T2 Response or 1 throughput performance objective T3 End-user efficiency 1 T 4 C om plex internal 1 processing T5 Code must be reusable 1 T6 Easy to install 0.5 T7 Easy to use 0.5 T8 Portable 2 T9 Easy to change 1 T10 Concurrent 1 T11 Includes special 1 security features T12 Provides direct access 1 for third parties T13 Special user training facilities are required 1 Bente Anda 22.8.2001 40

Use Case modell basert estimering Prosjektfaktorer som påvirker estimatet: Factor number Factor description Weight F1 Familiar with RUP 1.5 F2 Application experience 0.5 F3 Object-oriented 1 experience F4 Lead analyst capability 0.5 F5 Motivation 1 F6 Stable requirements 2 F7 Part-time workers -1 F8 Difficult programming language -1 Bente Anda 22.8.2001 41