Download
estimering av arbeids og tids forbruk ved systemutvikling n.
Skip this Video
Loading SlideShow in 5 Seconds..
Estimering av arbeids- og tids-forbruk ved systemutvikling PowerPoint Presentation
Download Presentation
Estimering av arbeids- og tids-forbruk ved systemutvikling

Estimering av arbeids- og tids-forbruk ved systemutvikling

133 Views Download Presentation
Download Presentation

Estimering av arbeids- og tids-forbruk ved systemutvikling

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Estimering av arbeids- og tids-forbruk ved systemutvikling In 140 Forelesning Nr 18 b Sommerville kap 23

  2. Mål • Forstå grunnleggende prinsipper og sammenhenger for kostnads- og prisestimering • Kjenne til tre måltall for vurdering av programvareproduktivitet • Innse at forskjellige beregningsmåter er nødvendige

  3. Introduksjon • Prosjektlederen må anslå • Arbeidsmengde • Tidsforbruk • Totalkostnad • Kostnadsestimering samtidig med prosjektplanlegging • Stadig oppdatering av anslag • Handling nødvendig ved betydelige avvik

  4. Kostnadsberegning og prissetting • Tre kostnadskomponenter • Maskin- og programvarekostnader • Reise og treningskostnader • Arbeidskostnader • Den siste er normalt den største • Overhead typisk 100% • Prissetting • Ikke det samme som kostnad • Mange faktorer spiller inn

  5. Faktorer som påvirker prissetting • Markedsmuligheter • Usikkerhet i kostnadsestimatet • Kontraktsbetingelser • Usikker kravspesifikasjon • Finansiell styrke • Konkurransesituasjonen

  6. Produktivitet • Programvareprodukter er forskjellig • Vanskelig å sammenligne tidsforbruk • Estimering er nødvendig • To måltallstyper • Størrelsesrelatert (linjer, sider, objektkode) • Funksjonalitetsrelatert (funksjons- eller objektpoeng) • Svært vanlig: Linjer kode per måned • Stammer fra korttiden • Tellingsmåter • Kan gi meningsløse resultater

  7. Høy- og lavnivåspråk

  8. Systemutvikling - tidsforbruk

  9. Funksjonspoengtelling (Albrecth 1979) • Språkuavhengig • Funksjonspoeng per personmåned • Best egnet for databehandlingssystemer • Det tildeles poeng med ulik vekt (3-15) for • Inn og utdata • Brukeraksjoner • Eksterne grensesnitt • Filer som brukes • UFC = Summen av antall elementer x vekt • Korreksjonsfaktorer for Distribuert, Gjenbruk, Ytelseskrav • Ikke objektivt mål

  10. Objektpoengtelling • Egnet for 4. generasjonsspråk • Ingen sammenheng med objektorientering • Veid estimering av • Antall skjermbilder (1-3 op avh av kompleksitet) • Antall rapporter (2-8 op avh av kompleksitet) • Antall 3. GL støttemoduler (10 op) • Lettere å estimere enn funksjonspoeng. • Tillater tidlig estimering

  11. Funksjons- og objektpoeng • Tillater tidlig estimering • Kan også brukes for estimering av kodestørrelse = AVC x Sum av FP • AVC • Assembly 200-300 LOC per FP • 4. GL 2-40 LOC per FP

  12. Faktorer som påvirker utviklerens produktivitet • Individuelle ferdigheter viktigst • En forskjell på 10x • Små og store lag • Ellers • Erfaring fra anvendelsesområdet • Prosesskvaliteten • Prosjektstørrelsen • Støtte fra teknologi • Arbeidsmiljø • Varierer sterkt med hva som lages • 30 LOC/mnd – 900 LOC/mnd • 4-50 OP/mnd

  13. Problemer med kvantitetsmål • Hva med kodeforenkling • Hva med kodekvalitet • Bør ikke brukes i evaluering av personale • Bare veiledende • Krever omtanke

  14. Estimeringsteknikker • Ikke enkelt å estimere • Vanskelig å vurdere estimeringsnøyaktighet • Selvoppfyllende estimater • Prosjektledere og estimering • Arbeidsmengde: Bra • Kodestørrelse: Svakere • Bottom-up vs Top-Down • Store og små systemer

  15. Estimeringsteknikker • Algoritmisk kostnadsestimering • Ekspertvurdering • Estimering ved analogi • Parkinsons lov • "Pricing to win"

  16. Estimeringsteknikker • Tidlige estimater • Usikkerhet ved endret teknologi • OO • C/S • COTS • Gjenbruk • CASE og programgeneratorer

  17. Algoritmisk kostmodellering • Systematisk • Arbeidsmengde = A x StørrelseB x M • A konstant for organisasjon og produkttype • Størrelse LOC • B kompleksitetskorrigering (1-1,5) • M avhenger av • Språk, Gjenbruk, Prosess ... • Kalibrering • Flere estimater Worst Case, Best Case ...

  18. Usikkerhet ved estimatet

  19. Alternative kostnader

  20. Alternative kostnader

  21. Prosjektvarighet og -bemanning • Ingen enkel sammenheng • Ved flere deltakere: • Mer kommunikasjon • Flere grensesnitt å definere • Nominell varighet: TDEV=3xPM(0,33+0,2*(B-1,01)) • NB! Antall medarbeidere er ikke med i formelen • Kan akselereres • Antall deltakere på prosjektet • Rask oppbygging korrelerer med forsinkelser

  22. Hovedpoeng • Produktivitet påvirkes av dyktighet, erfaring, prosess, størrelse, CASE og arbeidsmiljø • Ulike metoder for kostnadsestimering • Prissetting ofte for å få kontrakten – funksjonaliteten justeres til prisen stemmer • Algoritmisk kostnadsmodellering bygger på egenskaper ved det ferdige produktet • Algoritmiske kostnadsmodeller og veivalg • Tidsforbruket er ikke direkte avhengig av antall deltakere – forsinkelser blir ofte verre ved å tildele flere personer.