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

Like dokumenter
prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

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

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

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

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

UNIVERSITETET I OSLO

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

Smidig metodikk, erfaringer fra NAV Fagportal

Tom Røise 28.Jan 2010

Prosjektledelse, prosjektplanlegging, teamarbeid

Innhold. Innledning Del 1 En vei mot målet

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

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

Forelesning 2: Systemutviklingsprosesser

Kravhåndtering. INF1050: Gjennomgang, uke 03

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?

Prosjektledelse - fra innsiden

Neste generasjon ERP-prosjekter

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

11 Planlegging og dokumentasjon

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

1. Mer om iterative utviklingsprosesser

Finansportalen Historiske bankdata

INF1050 dagsorden 18. april 2007

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

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

UNIVERSITETET I OSLO

Kap 11 Planlegging og dokumentasjon s 310

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

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

Prosjektledelse, prosjektplanlegging, teamarbeid

Oppsummering. Prosjektdelen

Tom Røise 27.Jan 2011

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

Evaluering som prosjektarbeid. Engangsoppgave med gitte betingelser

Prosjektledelse, prosjektplanlegging, teamarbeid

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

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

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

UNIVERSITETET I OSLO

Oppgaver uke 42. Systemutvikling

Prosjektmandat Prosjektmandatet forteller om:

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

Institutt for Informatikk, 24. august 2012

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

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

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

Eksamen 2013 Løsningsforslag

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

Overordnet planlegging

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

Prosjektstyring og prosjektgjennomføring

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

Eksamen Prosjektstyring

Lynkurs 10. Januar 2012

Prosessmodeller og smidig programvareutvikling

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

Løsningsforslag Sluttprøve 2015

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

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

Prosjektmandat. IT i nye Moss kommune. Delprosjektleder: Skal rekrutteres. Planlagt startdato: Planlagt sluttdato:

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

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

SKISSE TIL PROSJEKTPLAN

Kontrakter. INF1050: Gjennomgang, uke 12

Forstudierapport. Magne Rodem og Jan-Erik Strøm. 18. juni 2006

Smidig utvikling NTNU Tor-Erik Mathisen

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

IT I PRAKSIS!!!!! IT i praksis 20XX

Erfaringer med PS2000 kontrakt og kontraktsstyring i PERFORM. Mette Gjertsen Prosjektleder Statens Pensjonskasse

Prosessmodeller og smidig programvareutvikling

Mandat. Regionalt program for Velferdsteknologi

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid

DRI Temaer Litt om gruppearbeid Innledning til prosjektstyring, med utgangspunkt i PSO-tenkningen Litt om prosjektrapporten

PROSJEKTSTYRING I ØRLAND KOMMUNE. Retningslinjer for gjennomføring av prosjekter

BYGDEMOBILISERING. Prosjekt som verktøy for utviklingsarbeid Kjerringøy Rudi Kirkhaug Professor, dr. philos

1. Initiativ og prosjekter for systemutvikling

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

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

Forprosjektsrapport MMS - MakeSpace Management System BO19-G03

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Prosjektmandat Hovedprosjekt. Digital Dialog (Satsningsområde 1 i Regional Digitaliseringsstrategi for )

LEVANGER KOMMUNE PROSJEKTPLAN. for gjennomføring av delprosjekt POLITISK STYRINGSSYSTEM

Saksframlegg. Møtedato Styret Helseforetakenes senter for pasientreiser ANS 10/06/2015

Planlegging av arbeidsmiljøprosjekter

Forslag til løsning. Oppgave 1

EBIR Prosjektdefinisjon

Oppgave 1: Multiple choice (20 %)

Obligatorisk oppgave INF3221/4221

for prosjektet Digital kontaktinformasjon og fullmakter for virksomheter planleggingsfasen

I dag Prosjektstyring og prosjektgjennomføring

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

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

Transkript:

Evolusjonære modeller Foranalyse Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 28.1.2009 Rune Steinberg International Development Manager ERP Iterasjonsplan Iterasjon 1 Analyse og Design Programmering Test INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 1 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 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 Bruk resultat fra av krav evaluering i forrige iterasjon Utviklere tester Brukere tester Beslutningspunkt Er alt OK? INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 3 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 4

Eksempel på prioritert kravliste Krav kan utvikles over tid Krav/Design workshops asjon Kravspesifika vare Programv jon ravspesifikasj K re Programvar sjon Kravspesifikas are Programva 1ste workshop: alle krav detaljeres opp til 10% Visjon for arkitektur kt... 10% 2% 25% 50% 5% 10% 80% 20% Iterasjon 1 Iterasjon 2 Iterasjon 3 Iterasjon 4 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 5 Brukbare estimater får vi INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 6 kanskjeikke før her Fordeler med evolusjonære modeller Ulemper med evolusjonære modeller Interessentene er tidlig med i planlegging g 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 (bygge rett system) Lett å glemme tekniske krav Mangler gode løsninger for arbeid med arkitektur Lite oppmerksomhet på vedlikeholdbarhet INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 7 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 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 (metamodell) 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 2009 - Copyright Rune Steinberg 2009 9 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 10 Spiralmodellen Rational Unified Process: Faser Fire kvadranter: 1. 2. Risikoanalyse 3. Design, programmering, etc 4. Evaluering av kunde Spiralmodellen var en av de første modellene som eksplisitt innførte risikoanalyse: Hva kan gå galt, med hvilken sannsynlighet, og konsekvens? T 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 p Iterative konstruksjonsfaser: (design-programmering-test) Overgang til drift: stabilisering, ferdigstilling INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 11 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 12

RUP Rational Unified Process Idefase 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) INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 13 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 2009 - Copyright Rune Steinberg 2009 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 2009 - Copyright Rune Steinberg 2009 15 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 16

Extreme Programming (XP) Extreme Programming faser Fokus på programmering, 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 Interessentene prioriterer utviklingsoppgaver for hver iterasjon Interessentene vurderer resultatene Lite formalisme i metoden, krever derfor mye disiplin INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 17 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 t resultatet t t INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 18 Extreme Programming Krav Eksempel på bruksscenarie Scrum Daglig prosjektmøte 1 arbeidsdag Prosjekt backlog Følger mønsteret: Rolle vil utføre noe for å oppnå et gitt resultat Sprint/iterasjon: 1 måned Leveranse INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 19 Sprint INF1050 backlog Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 20

Lettvekstmetoder Det finnes mange lettvektsmodeller med varierende grad av formalisme: Prosjektarbeid INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 21 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 22 Innledning Læringsmål Innledning Hva er et prosjekt? Forstå prosjektarbeidets rolle i systemutvikling Kjennskap til de viktigste delene av prosjektorganisasjonen Forstå hovedoppgavene for prosjektlederen Kunnskap om hvordan planlegge, overvåke og styre et prosjekt Kunnskap om suksessfaktorer 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 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 23 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 24

Innledning Prosjektarbeidets rolle i systemutvikling Innledning Hvorfor er prosjektarbeid viktig? Formålet med prosjektarbeid er å organisere, kontrollere og styre prosessen. De ulike utviklingsmodellene foreslår forskjellige tilnærminger til hvordan dette skal gjøres : 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 2009 - Copyright Rune Steinberg 2009 25 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 26 Prosjektorganisasjonen Prosjektorganisasjonen Prosjektorganisasjonen Styringsgruppen Styringsgruppen Prosjektlederen Prosjektstab Gruppeledere Prosjektmedlemmer Ekstern kvalitetssikring 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 2009 - Copyright Rune Steinberg 2009 27 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 28

Prosjektorganisasjonen Prosjektlederen Viktige faktorer i planleggingen 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 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 2009 - Copyright Rune Steinberg 2009 29 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 30 Hovedelementer i prosjektplanlegging Milepæler Identifisere og planlegge prosjektets mål og delmål Prioritere 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 Tydelige og målbare målsettinger er nødvendig for at prosjektet t 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 milepæler Merk at overordnet planlegging gjerne gjøres sammen med interessentene som gjerne beslutter de overordnede krav til planleggingen INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 31 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 32

Eksempler på milepæler i en iterasjon Aktivitetsplan 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 Aktivitetsplanen er den mest detaljerte delen av planen. En aktivitet it t 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 2009 - Copyright Rune Steinberg 2009 33 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 34 Estimering Nettverksdiagram 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 er i beste fall kvalifisert gjetning Krav og forutsetninger endres underveis Historisk sett har vi lav sannsynlighet for å treffe Nettverksdiagram (prosjektnettverk) beskriver mulige gjennomføringer av aktivitetene. Nettverksdiagrammet bestemmes ved: Hver aktivitet 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 2009 - Copyright Rune Steinberg 2009 35 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 36

Ressursplanlegging Kritiske faktorer Når vi har definert nettverksdiagrammet kan vi begynne å tilordne ressurser Ingen jobber 100%, sykdom, ikke planlagte gjøremål må iberegnes Kompetanse og interesse må vurderes Tilgjengelig kapasitet vil bestemme rammen 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 2009 - Copyright Rune Steinberg 2009 37 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 38 Når leveransedato er prioritert Oppfølging og korreksjon Formål med oppfølging og korreksjon Når leveransedatoen ikke kan flyttes benyttes en teknikk som kalles timeboxing. Normalt må innhold justeres etter budsjett og ressurser. Det er fase-bestemte t milepæler l 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! INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 39 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 2009 - Copyright Rune Steinberg 2009 40

Oppfølging og korreksjon Oppfølging av fremdrift Oppfølging og korreksjon Oppfølging av fremdrift Budsjett 100t Opprinnlig budsjett Plan 120t Antatt sluttresultat Utførtt 50t Utført t til nå Gjenstår 70t Videre arbeid Resultat 120% Antatt overskridelse 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 2009 - Copyright Rune Steinberg 2009 41 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 42 Oppfølging og korreksjon Oppfølging av fremdrift Oppfølging og korreksjon Alternativ metode Denne tilnærmingen krever at: Alle rapporterer hvor mange arbeidstimer som har medgått pr aktivitet Alle aktiviteter re-estimeres estimeres jevnlig (f. eks. 1 gang i uken) Prosjektleder oppdaterer planer og lager en antagelse om hvordan prosjektet vil utvikle seg 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 2009 - Copyright Rune Steinberg 2009 43 INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 44

Risiko Risikostyring Suksessfaktorer Suksessfaktorer Risiko = 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 med de riktige 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 2009 - Copyright Rune Steinberg 2009 45 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 tt disse anbefalingene INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 46 Suksessfaktorer Suksessfaktorer Det er helt essensielt å bygge rett system. Det krever: Tett samarbeid og kommunikasjon 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 2009 - Copyright Rune Steinberg 2009 47