Arne Maus, Ifi. med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville m. fl. for lån av gamle foiler

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

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

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

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

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

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

UNIVERSITETET I OSLO

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

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

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

Smidig metodikk, erfaringer fra NAV Fagportal

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Kravhåndtering. INF1050: Gjennomgang, uke 03

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

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

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

Forelesning 2: Systemutviklingsprosesser

Innhold. Innledning Del 1 En vei mot målet

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

11 Planlegging og dokumentasjon

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

Prosjektledelse, prosjektplanlegging, teamarbeid

Tom Røise 28.Jan 2010

Inception Elaboration Construction Transition Bemanning 1 1,5 2 2 Varighet i uker Antall iterasjoner (lengde i uker i parentes) Tabell 1

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

INF1050 dagsorden 18. april 2007

Kap 11 Planlegging og dokumentasjon s 310

1. Mer om iterative utviklingsprosesser

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

Finansportalen Historiske bankdata

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

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

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Tom Røise 27.Jan 2011

Prosjektledelse, prosjektplanlegging, teamarbeid

Prosjektledelse - fra innsiden

Prosjektledelse, prosjektplanlegging, teamarbeid

Neste generasjon ERP-prosjekter

Arne Maus, Ifi. med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville m. fl. for lån av gamle foiler

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

Institutt for Informatikk, 24. august 2012

Kontrakter. INF1050: Gjennomgang, uke 12

Prosessmodeller og smidig programvareutvikling

Oppsummering. Prosjektdelen

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

Eksamen 2013 Løsningsforslag

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

Prosjektmandat Prosjektmandatet forteller om:

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

Prosjektstyring og prosjektgjennomføring

Prosessmodeller og smidig programvareutvikling

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.

Evaluering som prosjektarbeid. Engangsoppgave med gitte betingelser

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

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

SCRUM Smidig prosjektledelse og utvikling. 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG

Oppgaver uke 42. Systemutvikling

Gjennomgang av prøveeksamen. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

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

Oppgave 1: Multiple choice (20 %)

Together. Free your energies Moden og modig! Ansvarsfull og fleksibel!

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Prosjektledelse - fra innsiden av et utviklingsprosjekt. Presentasjon hos UiO Ida Lau Borch, prosjektleder i Bouvet ASA

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

INF1510: Obligatorisk oppgave 2: prosjektforslag

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl Fakultet for fysikk, informatikk og matematikk

Smidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold. Ove Dalen

Forslag til løsning. Oppgave 1

Prøveeksamen INF1050: Gjennomgang, uke 15

Overordnet planlegging

UKE 11 UML modellering og use case. Gruppetime INF1055

Løsningsforslag Sluttprøve 2015

Software Development Plan. Software Development Plan. Forum / Nettverkssamfunn Team 2

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid

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

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

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

I dag Prosjektstyring og prosjektgjennomføring

DOMAINING AS GRUPPENR.24

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

Obligatorisk oppgave INF3221/4221

Eksamen INF1050: Gjennomgang, uke 15

Tom Røise 9. Februar 2010

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

PROSJEKTBESKRIVELSE TURKART ØSTFOLD FOR. Fremdriftsplan, budsjett og ressursbeskrivelse.

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

EBIR Prosjektdefinisjon

Transkript:

Evolusjonære modeller Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010 Foranalyse Iterasjonsplan Iterasjon 1 Analyse og Design Arne Maus, Ifi med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville m. fl. for lån av gamle foiler Programmering Test INF1050 Systemutvikling vår 2010 1 INF1050 Systemutvikling vår 2010 2 Evolusjonære modeller Eksempel Iterasjonsplan Analyse og Design Programmering Test Iterasjon 1 Iterasjon 2 Iterasjon 3 (2-6 uker) Nytt inkrement Nytt inkrement Nytt inkrement Kravene analyseres Grov skisse til design Workshop : Estimering Overordnet Kravinnsamling Endelig prioritering it i Bruk resultat fra av krav evaluering i forrige iterasjon Utviklere tester Brukere tester Beslutningspunkt Er alt OK? INF1050 Systemutvikling vår 2010 3 INF1050 Systemutvikling vår 2010 4

Eksempel på prioritert kravliste Krav kan utvikles over tid Krav/Design workshops Kravsp pesifikasjon rogramvare Pr sifikasjon Kravspes ramvare Prog esifikasjon Kravspe Prog gramvare 1ste workshop: alle krav detaljeres opp til 10% Visjon for arkitektur... 10% 2% 25% 5% 50% 10% 80% 20% Iterasjon 1 Iterasjon 2 Iterasjon 3 Iterasjon 4 Brukbare estimater får vi kanskje ikke før her INF1050 Systemutvikling vår 2010 5 INF1050 Systemutvikling vår 2010 6 Fordeler med evolusjonære vousjo modeller Ulemper med evolusjonære modeller Interessentene er tidlig med i planlegging og evaluering Evaluering av delmål underveis Involverer interessentene som får prøve deler av systemet Støtter endringer underveis i utviklingen Tilbakemelding fra interessentene mht. hva som fungerer/ikke fungerer benyttes til å planlegge videre utvikling Når evaluering og nødvendige endringer gjøres ofte nok har vi en rimelig sjanse for å oppdage feil tidlig Velegnet for hyppig risikoanalyse Krever selvstendige og proaktive prosjektmedlemmer Mindre grad av formalisme Ser enkelt ut, men krever disiplin Risiko for mindre vekt på kravanalyse og test Hovedvekt på funksjonalitet t (bygge rett system) Lett å glemme tekniske krav Mangler gode løsninger for arbeid med arkitektur Lite oppmerksomhet på vedlikeholdbarhet INF1050 Systemutvikling vår 2010 7 INF1050 Systemutvikling vår 2010 8

Evolusjonære modeller Instanser av evolusjonære modeller Ville Oslo Sporveier spart penger ved å installere og teste billettautomatene og tilhørende programvare på noen få stasjoner istedenfor på alle? Spiralmodellen Rational Unified Process (RUP) Extreme Programming (XP) Scrum Spiralmodellen betraktes mer som en referansemodell (meta-modell) enn en detaljert og godt beskrevet utviklingsmodell. Merk at objektorientering og strukturert utvikling ikke betraktes som egne utviklingsmodeller i disse forelesningene. INF1050 Systemutvikling vår 2010 9 INF1050 Systemutvikling vår 2010 10 Spiralmodellen Fire kvadranter: 1. Planlegging 2. Risikoanalyse 3. Design, programmering, etc 4. Evaluering av kunde Spiralmodellen var en av de første modellene som eksplisitt innførte risikoanalyse: ik Hva kan gå galt, med hvilken sannsynlighet, og konsekvens? T Rational Unified Process: Faser Idefase: Overordnet målsetting, behovsanalyse, budsjett, prosjektplan Start innsamling av funksjonelle krav og modellering av use cases Utdypningsfase: Fortsett med use cases og tekniske krav Start design av arkitektur, lag arkitektur prototype Ferdigstill prosjektplanen Iterative konstruksjonsfaser: (design-programmering-test) Overgang til drift: stabilisering, ferdigstilling INF1050 Systemutvikling vår 2010 11 INF1050 Systemutvikling vår 2010 12

Idefase RUP Rational Unified Process Utdypingsfase 1 Iterasjoner 1...n RUP er en arkitektursentrert prosess Bygger på objektorienterte utviklingsprinsipper UML modellering er sentralt, basert på 4+1 modell: Logisk (funksjonelt) perspektiv (klasse diagrammer) Prosess nivå (intern koordinering i systemet - parallellitet, synkronisering) Fysisk nivå (hvordan programvare samvirker med maskiner og nettverk) Utviklingsnivå (programmereren perspektive) n Drift RUP er en sterkt modell-drevet prosess der mye fokus legges på å bygge arkitektur (UML) modeller. Ulempen med dette er som ved fossefallsmodellen. Det er vanskelig å benytte diagrammer til å vurdere om systemet dekker brukernes behov. Overdreven utvikling av diagrammer er kostbart og lite effektivt. INF1050 Systemutvikling vår 2010 13 INF1050 Systemutvikling vår 2010 14 Lettvektsmetoder Lettvektsmetoder: Mantra Lettvektsmetoder også kalt smidige (agile) metoder er en egen gruppe av utviklingsprosesser Vektlegger mindre formalisme (krav til leveranser) og mindre dokumentasjon. Oppfordrer i stedet til direkte muntlig kommunikasjon mellom prosjektdeltagere Noen inneholder programmeringsnære teknikker, andre ikke Det finnes mange forskjellige navngitte metoder, Scrum, og Extreme Programming (XP) er mye brukt Uenighet om RUP tilhører denne klassen Individer og kommunikasjon fremfor prosesser og verktøy Fungerende programvare fremfor (omfattende) dokumentasjon Samarbeid med kunde fremfor kontraktsforhandlinger Endringsvillighet fremfor å følge prosjektplanen INF1050 Systemutvikling vår 2010 15 INF1050 Systemutvikling vår 2010 16

Extreme Programming g (XP) Fokus på programmering, g test og tilhørende teknikker Parprogrammering Refaktorering (ombygging etter behov) Testdrevet utvikling (noen tester lages før og under programmering) Få krav til spesifikasjon og planlegging Benytter små bruksscenarier (user story) Svært korte iterasjoner (1-3 uker) Interessentene (bruker) integrert i prosjektorganisasjonen j Interessentene prioriterer utviklingsoppgaver for hver iterasjon Interessentene vurderer resultatene Lite formalisme i metoden, krever derfor mye disiplin Extreme Programming g faser Foranalyse: lønnsomhetsvurdering ved behov overordnede bruksscenarier Iterasjonsplan: identifiser de viktigste bruksscenariene Skrives av bruker/kunde på små enkle kort Kortene estimeres og splittes hvis de er for store Analyse og Design: svært enkel tilnærming Design kan ofte gjøres på tavle eller små kort (CRC) Noen designoppgaver vil kreve utvikling av en prototype Programmering Programkoden inkluderer kode som benyttes i daglig testing Tidligere utvilet programkode og arkitektur bygges om ved behov Test Bruker/kunde tester resultatet INF1050 Systemutvikling vår 2010 17 INF1050 Systemutvikling vår 2010 18 Extreme Programming - Krav Eksempel på bruksscenario Scrum Daglig prosjektmøte, + tavle med oppgaver på 1 arbeidsdag d PostIt lapper -skal gjøres -er gjort Prosjekt backlog Sprint/iterasjon: 1 måned Leveranse Følger mønsteret: Rolle vil utføre noe for å oppnå et gitt resultat INF1050 Systemutvikling vår 2010 19 Sprint backlog INF1050 Systemutvikling vår 2010 20

Lettvekstmetoder 5 klasser av utviklingsprosesser Prøv-og-feil Fossefallsmodellen Prototyping Evolusjonær, iterative, og inkrementelle modell Modelldrevet utvikling Merk at disse 5 klassene beskriver prinsippene eller mønstre. Spesifikke og navngitte modeller blir instanser av en av disse. Det finnes mange lettvektsmodeller med varierende grad av formalisme. INF1050 Systemutvikling vår 2010 21 INF1050 Systemutvikling vår 2010 22 Modell Drevet Utvikling (MDD) Grunnleggende idé: Man har et omfattende verktøy hvor systemet modelleres nesten fullstendig på et høyt nivå (i UML) Datamodell (domenemodell med klassediagram) Brukerdialoger (skjermbilder) Man programmerer da på et høyere nivå enn Java Kode kan da nesten genereres automatisk Både for database, klient og server Bare små biter med forretnngsregler må skriver for hånd (f.eks i Java) inn i denne nesten ferdige koden Oblig 3 er generering av et slikt system med Genova. Prosjektarbeid INF1050 Systemutvikling vår 2010 23 INF1050 Systemutvikling vår 2010 24

Læringsmål - prosjektarbeid Forstå prosjektarbeidets rolle i systemutvikling Kjennskap til de viktigste delene av prosjektorganisasjonen Forstå hovedoppgavene ene for prosjektlederen Kunnskap om hvordan planlegge, overvåke og styre et prosjekt Kunnskap om suksessfaktorer Hva er et prosjekt? En engangsoppgave som ikke er utført tidligere Skal lede til et bestemt resultat Krever ulike typer (tverrfaglige) ressurser Begrenset i tid Organiseres ofte utenfor virksomhetens linjeorganisasjon j INF1050 Systemutvikling vår 2010 25 INF1050 Systemutvikling vår 2010 26 Prosjektarbeidets rolle i systemutvikling Formålet med prosjektarbeid er å organisere, kontrollere og styre prosessen. De ulike utviklingsmodellene foreslår forskjellige tilnærminger til hvordan dette skal gjøres Hvorfor er prosjektarbeid viktig? Planlegging: Hvordan kan vi effektivt utnytte ressursene i prosjektet? Oppfølging: Utføres arbeidet etter planen? Er det avvik mellom plan og fremdrift? Korreksjon: Hvilke endringer er nødvendig? Hvilke tiltak må gjennomføres for å levere med rett kvalitet uten å overskride budsjett eller leveransedato? Hovedmål: Til enhver tid avklare om prosjektmålene er oppnålig innenfor prosjektets rammer (kostnader og krav) INF1050 Systemutvikling vår 2010 27 INF1050 Systemutvikling vår 2010 28

Prosjektorganisasjonen Styringsgruppen Prosjektlederen Prosjektstab Gruppeledere Prosjektmedlemmer Ekstern kvalitetssikring Prosjektorganisasjonen Styringsgruppen Representerer normalt de økonomiske interessentene Ansvar for å forvalte prosjektets målsetting Styrer prosjektet på overordnet nivå Godkjenner prosjektplaner og endringer Håndterer problemsaker som prosjektleder ikke kan løse Koordinerer linjeorganisasjon og prosjekt Mindre prosjekter har normalt ikke prosjektstab, gruppeledere, eller ekstern kvalitetssikring INF1050 Systemutvikling vår 2010 29 INF1050 Systemutvikling vår 2010 30 Prosjektlederen Daglig ledelse av prosjektet Ansvar for at prosjektet følger fastsatt plan: Utarbeide og endre prosjektplan Organisere ressurser, tildele oppgaver Kontrollere resultat og fremdrift Identifisere avvik Foreta justering av planen iht. fremdriften Rapporterer til styringsgruppen Viktige faktorer i planleggingen Kostnadsramme Tidsramme Personalramme (antall prosjektdeltagere og kompetanse) Utstyrsramme (maskiner, programvare, nettverk, etc) Krav til leveransene Offentlige krav (lover, retningslinjer, etc) Produksjonstekniske krav INF1050 Systemutvikling vår 2010 31 INF1050 Systemutvikling vår 2010 32

Hovedelementer i prosjektplanlegging p g Identifisere og planlegge prosjektets mål og delmål Pi Prioritere it oppgaver Estimere arbeidsomfang Identifisere aktiviteter (arbeidsoppgaver) Beslutte start- og slutt dato for aktivitetene Holde oversikt over avhengigheter mellom aktivitetene Beslutte hvem skal utføre aktivitetene Planlegge hvordan resultatet skal evalueres Planlegge etablering og drift av produksjonsutstyr Milepæler Tydelige og målbare målsettinger er nødvendig for at prosjektet skal lykkes: Milepæler beskriver hvilke (del)mål som skal oppnås Milepælene fungerer som kontrollstasjoner underveis Faser i utviklingsprosessen blir normalt overordnede d milepæ Merk at overordnet planlegging gjerne gjøres sammen med interessentene som gjerne beslutter de overordnede krav til planleggingen g INF1050 Systemutvikling vår 2010 33 INF1050 Systemutvikling vår 2010 34 Eksempler på milepæler i en iterasjon Når foranalysen er utført Når iterasjonsplanen er godkjent Når alle planlagte mål er spesifisert og designet Når programmeringen av alle funksjoner er ferdig Når test og evaluering er utført Aktivitetsplan Aktivitetsplanen er den mest detaljerte delen av planen. En aktivitet er en avgrenset del av arbeidet og inneholder følgende: Navn Arbeidsomfang (estimat) for hver aktivitet Tidspunkt for start og slutt Hvilke ressurser som skal utføre aktiviteten (inkl. last) Avhengigheter og rekkefølge i forhold til andre aktiviter som skal utføres INF1050 Systemutvikling vår 2010 35 INF1050 Systemutvikling vår 2010 36

Estimering For å lykkes må det være samsvar mellom hvor mange arbeidstimer som kreves og arbeidskapasiteten. Estimering innebærer å forutsi hvor mye arbeid som kreves for å fullføre en oppgave. Estimering i er i beste fall kvalifisert gjetning Krav og forutsetninger endres underveis Historisk sett har vi lav sannsynlighet for å treffe Planlegging Nettverksdiagram Nettverksdiagram (prosjektnettverk) beskriver mulige gjennomføringer av aktivitetene. it t Nettverksdiagrammet t bestemmes ved: Hver aktivitet i defineres som en enhet i diagrammet Mulige rekkefølger angis med piler mellom to aktiviteter Start tidspunkt og tidspunkt for ferdigstilling bestemmer diagrammets mulige veier INF1050 Systemutvikling vår 2010 37 38 Ressursplanlegging Når vi har definert nettverksdiagrammet kan vi begynne å tilordne ressurser Ingen jobber 100%, noen er syke, ikke-planlagte gjøremål,.. må alle tas med Kompetanse og interesse må vurderes Tilgjengelig g g kapasitet vil bestemme rammen Planlegging Kii Kritise fk faktorer Tid Ressurser Innhold Vi har sett at sannsynligheten for å kunne levere som opprinnelig planlagt er svært liten. Muligheten til å endre minst en av disse faktorene er normalt nødvendig for å lykkes. INF1050 Systemutvikling vår 2010 39 INF1050 Systemutvikling vår 2010 40

Når leveransedato er prioritert Når leveransedatoen ikke kan flyttes benyttes en teknikk som kalles timeboxing. Normalt må innhold justeres etter budsjett og ressurser. Det er fase-bestemte milepæler som gjerne definerer timeboxen Start og slutt dato kan ikke endres Interessentene gir alle krav en unik prioritet Utviklingen starter med viktigste krav og fortsetter med mindre viktige til tiden er oppbrukt Selv om tidsplanen holder kan ikke timeboxing garantere at systemet vil inneholde et minimum av nødvendig funksjonalitet! Formål med oppfølging g og korreksjon Oppfølging Hvordan er framdriften i henhold til planen? Hvilke aktiviteter holder planen, hvilke er forsinket? Har noen problemer? Har vi oppdaget noe uforutsett? Er det behov for endringer? Korreksjon Har vi nok ressurser? Er alle oppgavene riktig fordelt? Trenger noen hjelp? Bør vi revidere planen? INF1050 Systemutvikling vår 2010 41 INF1050 Systemutvikling vår 2010 42 Oppfølging av fremdrift Budsjett 100t Opprinnlig budsjett Plan 120t Antatt tt sluttresultat lt t Utført 50t Utført til nå Gjenstår 70t Videre arbeid Resultat 120% Antatt overskridelse Oppfølging av fremdrift Eksempel på en visuell fremstilling av fremdrift basert på planlagt gjenstående (fiolett) og faktisk gjenstående (blå) Dersom det er en uke igjen før denne oppgaven skal avsluttes og oppgaven bare kan utføres av en person vet vi at vi riskerer å bli forsinket. INF1050 Systemutvikling vår 2010 43 INF1050 Systemutvikling vår 2010 44

Oppfølging av fremdrift Denne tilnærmingen krever at: Alle rapporterer hvor mange arbeidstimer som har medgått pr aktivitet Alle aktiviteter re-estimeres jevnlig (f. eks. 1 gang i uken) Prosjektleder oppdaterer planer og lager en antagelse om hvordan prosjektet vil utvikle seg Alternativ metode Alle oppgaver i prosjektet deles inn i så små oppgaver at de hver tar en fast tidsenhet, f. eks. 1 dag Hver person får en oppgave pr dag av prosjektleder Dersom gårsdagens oppgave ikke er ferdig dagen etter må korrektive tiltak iverksettes Timebasert fremdriftskontroll forutsetter nærmest at prosjektet bygger den riktige løsningen på riktig måte. Dette skjer implisitt gjennom antagelsen om at planlagte aktiviteter er de riktige aktiviteten som må utføres for å lykkes. INF1050 Systemutvikling vår 2010 45 INF1050 Systemutvikling vår 2010 46 Risikostyring Risiko ik = Sannsynlighet x Konsekvens Målsetting med risikostyring er å tenke fremover. Forsøk å identifisere hva som kan gå galt, vurdere sannsynlighet og konsekvens. Er det noe vi kan gjøre nå for å dempe risikoen? Løsning Har vi kontakt k med de riktige i interessentene? Har vi forstått kravene og er de tilstrekkelig komplette? Ressurser Har vi nok ressurser, har de rett kompetanse, har de rett utstyr? Kommunikasjon Klarer vi å unngå misforståelser? Hvordan unngå å glemme krav? INF1050 Systemutvikling vår 2010 47 Suksessfaktorer Standish CHAOS study 1994: Årsaker til problemer: Årsaker til sukess: Ufullstendige krav Utbredt brukerinvolvering Manglende brukerinvolvering Støtte fra ledelsen Manglende ressurer Tydelige krav Det er derfor nyttig å følge en utviklingsprosess som understøtter disse anbefalingene INF1050 Systemutvikling vår 2010 48

Suksessfaktorer Det er helt essensielt å bygge rett system. Det krever: Tett samarbeid og kommunikasjon n med sluttbrukere Sluttbrukerne/kunde må få se og prøve deler av systemet underveis i prosjektet Korte iterasjoner (kort nok til at vi har råd til å feile) Små og oversiktlige prosjekter og prosjektgrupper Teknologi er sjelden nevnt som en viktig suksessfaktor... INF1050 Systemutvikling vår 2010 49