48
Smidig prosjektmetodikk – hva skal til for å lykkes Temadag smidige prosjekter 22.10.2008 Oslo Jon Tysdahl

20081022 Smidig prosjektmetodikkv1.prosjektnorge.no/files/events/73/20081022-smidig... · 2013. 12. 3. · Utvikling/test Leveranse Dette burde vi tenkt på i spesifieringen Hvordan

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Smidig prosjektmetodikk – hva skal til for å lykkesTemadag smidige prosjekter 22.10.2008 Oslo

    Jon Tysdahl

  • Avenir AS > slide 2

    Jon Tysdahl

    Hovedfag informatikk

    Mellomfag i arbeids og organisasjonspsykologi

    Lang erfaring som prosjektleder for store utviklingsprosjekter

    Bred strategi- og rådgivningserfaring

    Manager i konsulentselskapet Avenir AS

    Ansvarlig for smidig metode i Avenir AS

  • Avenir AS > slide 3

    Smidig prosjektmetodikk – hva skal til for å lykkes

    1. Hvorfor smidig

    2. Hva er smidig metode

    3. Smidige varianter

    4. Smidig prosjektledelse

    5. Noen sentrale utfordringer - hva skal til for å lykkes

    6. Gode prinsipper

    7. En generisk modell

  • Avenir AS > slide 4

    1. Hvorfor smidig?

    Vi ønsker å kjøre dette utviklings-prosjektet!

    Hva skal det inneholde og hva vil det koste, og

    når blir det ferdig?

    Vi har begrensede ressurser til prosjektet. Hva er våre viktigste

    mål og hvordan bør vi fokusere vår innsats for å nå disse best mulig?

  • Avenir AS > slide 5

    Utviklingsprosjekter - ofte preget av høy usikkerhet

    Kostnad

    Omfan

    g TidKvalitet

    Usikker eller begrenset finansieringTotalt kostnadsbilde ikke kjent

    Knapp tid til rådighet (Time to market)Lang vei til ferdig løsning

    Løsningens innhold ikke fastlagtHva er viktig og hva er detalj?

    Store krav til kvalitetHva er godt nok?

    Skiftende rammebetingelserKonkurrenters trekk

  • Avenir AS > slide 6

    Ikke så smidig….

    Spesifisering

    Utvikling/test

    Leveranse

    Dette burde vi tenkt på i

    spesifieringen

    Hvordan vil dette fungere i

    leveranse

  • Avenir AS > slide 7

    Smidiggjøring av prosjektet?

    Spesifisering

    Utvikling/test

    Leveranse/ Innføring

    Må vi gjøre hvert trinn helt ferdig med en gang?

    Må vi gjøre hvert trinn bare en gang?

  • Avenir AS > slide 8

    1. Hva er smidig metode

    Smidig (Eng.: Agile -> “the quality of being agile; readiness for motion; nimbleness, activity, dexterity in motion) endringsdyktig, fleksibel, tilpasningsdyktig

    “Agile proponents claim that the focal aspects of light and agile methods are simplicity and speed. (Abrahamsson et al., 2003, p. 1)

    – In development work, accordingly, development groups concentrate only on the functions needed immediately,

    – delivering them fast,

    – collecting feedback

    – and reacting rapidly to business and technology changes”

  • Avenir AS > slide 9

    Smidig utvikling i sin basale form

    Bygg noen krav

    Bygg noen krav

    Bygg noen krav

    Tilbakemeldinger

    Tilbakemeldinger

    Bygg noen krav

    Systemet vokser inkrementelt

    1-6 uker

    Tilbakemeldinger

    1-6 uker 1-6 uker 1-6 uker

  • Avenir AS > slide 10

    Det opprinnelige ”Smidige Manifest”:

    Individer og interaksjoner fremfor prosesser og verktøy

    Fungerende software fremfor omfattende dokumentasjon

    Samarbeid med kunden fremfor forhandling av kontrakt

    Imøtekomme endringer fremfor å følge en plan

  • Avenir AS > slide 11

    SMIDIG - litt av gangen

    GEVINSTER:– De viktigste gevinstene,

    så tidlig som mulig

    – Tidligere erfaringer med hele kjeden

    – Endringer håndteres løpende

    – Kun nyttige funksjoner utvikles

    Spesifisering

    Utvikling/test

    Leveranse/ Innføring

    Spesifisering

    Utvikling/test

    Leveranse/ Innføring

    Spesifisering

    Utvikling/test

    Leveranse/ Innføring

  • Avenir AS > slide 12

    2. Smidige varianter

    I praksis et mylder av ulike metoder som dekkerulike deler av systemutviklingsprosessen:

    – SCRUM,

    – Crystal

    – LEAN

    – EVO

    – XP, Extreme programming,Adaptive software developmentAgile modeling, Feature-driven development, Internet-speed development, Pragmatic programmingM.fl….

  • Avenir AS > slide 13

    SCRUM

    Sprint Backlog

    Kjørbar kode

    Scrum Møte

    Product backlog

    1-4uke

    24 t

  • Avenir AS > slide 14

    Crystal Clear

    Crystal kjennetegnes ved:– Forenklet kommunikasjon ved samlokalisering

    – Hyppige leveranser av kjørbar kode til brukerne

    – Forbedringer basert på refleksjon underveis

    Crystal metodikken fokuserer på effektivitet og praktisk brukbarhet.

    Krever enkel tilgang til ekspertbrukere

    Teknisk fokus er på automatisert test, konfigurasjonsstyring og hyppigintegrasjon

    Crystal Clear er beskrevet av Alistair Cockburn.

  • Avenir AS > slide 15

    Lean Software Devleopment

    Basert på ”lean” filosofien i japansk bilproduksjon, men tilpasset for utvikling

    Fokuserer på følgende prinsipper:

    1. Eliminate waste

    2. Amplify learning

    3. Decide as late as possible

    4. Deliver as fast as possible

    5. Empower the team

    6. Build in integrity

    7. See the whole

  • Avenir AS > slide 16

    Verdi-syklusen

    EVO

    PLANLEGG

    • Identifisere interessenterog avdekke deres verdierog mål

    • Kvantifisere de viktigstemålene for prosjektet

    • Bestem ønsket målnivå og

    • Evaluer et sett med alternativer og velg ut den beste for implementeringførst. akseptabeltminimum for disse målene

    REVIDER

    • Skal prosjektet fortsettes?

    • Raffiner mål og planer

    • Tilpass arbeidsprosesser

    STUDER

    • Kontroller målbar verdi avleveranse

    • Verifiser teamets ytelse ogleveranseevne

    • Evaluering

    LEVER

    • Planlegg med bruk av iterasjonerpå max 4 uker og max 10% avbudsjettet

    • Teamene skal være tverrfagligeog ha tett tilgang tilinteressentene

    • Produser en testet ogdemonstrert del-løsning i hveriterasjon

  • Avenir AS > slide 17

    XP Extreme Programming

    Basert på følgende generelle praksiser:

    1. Sitt sammen

    2. Komplette team

    3. Informative omgivelser

    4. Produktiv, - ikke utbrent (”Energized work”)

    5. Uke-syklus

    6. Kvartals-syklus

    7. Slakk

    Og følgende mer programmeringsrettede praksiser

    Par-programmering

    Historier (”System Metaphor”)

    10-minutters bygging

    Kontinuerlig Integrasjon

    Test-først programmering

    Inkrementell design

  • Avenir AS > slide 18

    4. Smidig prosjektledelse

    Innebærer å løpende vurdereog styre prosjektet i forhold tilde konkurrerende kravene til:

    ..i styrte sykluser/iterasjoner

    Kostnad

    Omfan

    g TidKvalitet

    Risiko

  • Avenir AS > slide 19

    Smidig prosjektledelse

    Prosjektledelse er anvendelse av – kunnskap,– ferdigheter, – verktøy og – teknikker

    innen et bredt spekter av aktiviteterfor å møte interessentenes behov og forventninger til prosjektet og sikre at prosjektet når sine mål innenfor de gitte rammebetingelser

    Smidig gjennomføring stiller nye krav til prosjektleder!

  • Avenir AS > slide 20

    Fossefall vs. smidig samarbeid

    Tradisjonelt ansvar og

    risikodelingSmidig ansvar og risikodeling

  • Avenir AS > slide 21

    Typisk smidig gjennomføringArbeidet gjøres i repeterende sykluser av varighet 1-4 uker.

    Etter hver syklus en del-leveranse

    Etter hver syklus ny vurdering av hva som nå skal gjøres ut fra målene, hva bidrar mest på kort sikt?

    Daglig oppfølging av status i korte møter for hele teamet

    Hver syklus inneholder– Planlegging av arbeidet

    – Gjennomføring av arbeidet

    – Grovplanlegge neste syklus

    – Evaluering

    Til enhver tid: komme lengst mulig i måloppnåelse

  • Avenir AS > slide 22

    Hva er anderledes i et prosjektledelsesperspektiv

    Prosjektprosessen omgjort fra unik til repetetetiv, ved at prosjektet brytes ned i deler der utvikling av hver del blir en repeterende aktivitetSterk fokus på deler av løsningen av gangen. Kun delvise spesifikasjoner underveis. Mindre fokus på detaljerte funksjonelle krav - "better roughlyright than exactly wrong”Meget sterk styring av tid og innhold i hver syklusMindre fokus på langsiktige planer og totale estimater Meget sterk fokus på å håndtere læring og endringer underveis. Det er aldri for sent!Kraftig delegering og stor beslutningsmyndighet tillagt den enkelte prosjektdeltagerStørre fokus på team, mindre på ansvarsdeling og den enkelte person

  • Avenir AS > slide 23

    Prosjektleder må passe på at:

    Teamet sitter samlokalisertMest mulig heltidsressurser i prosjektet

    Flest mulig personer som kan fylle mer enn en rolle

    Planen skal tilgjengeliggjøres og vedlikeholdes synlig for hele teamet

    Scrum møtet gjennomføres som et kort og målrettet møte.

    Fordeling av oppgaver og oppfølging av status skjer i daglig scrummøte

    Syklusens lengde fravikes aldri

    De aktuelle utførende ressurser skal involveres i planlegging og estimering av neste syklus

    Evaluering skal gjennomføres i hver syklus.

    Evaluering sammenliknes med evaluering fra forrige syklus

  • Avenir AS > slide 24

    5. Noen sentrale utfordringer

    Hvordan få tilstrekkelig forretningsmessig fokus inn som driver av smidige prosjekter?

    Hvordan sikre at løsningen faktisk blir tatt i bruk og gir gevinstene den skal?

    Hvordan velge/tilpasse/innføre smidig metode som støtter dette best mulig?

  • Avenir AS > slide 25

    Forretningsfokus i SCRUM?

    Sprint Backlog

    Kjørbar kode

    Scrum Møte

    Product backlog

    1-4uke

    24 tHvordan sikre at løsningen lages slik at de forretnings-messige målene oppnås

    best og raskest

  • Avenir AS > slide 26

    Scope for scrum

    Krav

    Kode

    Produsere kjørbar kode ut fra foreliggende krav, basert på trinnvis utviklingi en prosess der læring og forbedring er viktige forhold.

  • Avenir AS > slide 27

    Fokus på forretningsverdi

    Utviklingsprosjektet skal styres ut fra de forretningsmessige målene

    – Det vil si å frembringe (del)løsningersom er unikt nyttig for kunden

    – Så raskt som mulig– Med tilstrekkelig kvalitet

    Det må inkluderes metodestøtte for dette, her gir EVO god støtte, mens de øvrige gir for svak støtte

  • Avenir AS > slide 28

    Hvordan finne gevinstene?

    Workshop med ledelsen for å fåfrem hovedmål/gevinster og en viss konkretisering av disse

    Interessentanalyse for å avdekke posisjonene rundt målene

    Nedbryting av hovedmål til delmål og konkretisering og operasjonalisering

    Hva er det viktigste kravene og målene ( opp til 10 stk)

  • Avenir AS > slide 29

    Kravanalyse

    Koble kravene opp mot målene

    Ferdigstille konkrete krav på de relevante områder

    Gjennomgå evt. foreliggende kravliste og sortere som:

    – Ekte krav

    – Designforslag

    – Begrensning

    Avklare håndtering av ”uekte” krav

  • Avenir AS > slide 30

    Vanlige problemer med krav

    Hvem har bestemt at dette er et krav?

    – ofte udokumentert eller uklart

    Kravet er uklart eller tvetydigformulert

    – Eksakt hva skal gjøres,

    – når, og av hvem

    – og på vilken måte

    Koblingen til “avtalen” er ikke klar, – hva betyr kravet i forhold til avtalen – hva

    er godt nok resultat?

    – Hva er ønskelig, hva er minimum?

  • Avenir AS > slide 31

    Fra løse og dårlige krav til klare mål:

    Forretningsmessig mål: Tredoble besøket på våre web-sider.Delmål/krav:

    Tre relevante nyheter hver dagGjennomsnittlig responstid på alle sider på under 1 sek

  • Avenir AS > slide 32

    Vi må utvide scopet for å ta med FRA MÅL TIL KRAV

    Krav

    Kode

    Mål

  • Avenir AS > slide 33

    Sikre gevinstene?

    Sprint Backlog

    Kjørbar kode

    Scrum Møte

    Product backlog

    1-4uke

    24 t

    Hvordan sikre at løsningen tas i bruk og gevinstene

    faktisk fremkommersom forutsatt

  • Avenir AS > slide 34

    Smidige gevinster

    SCRUM og de fleste smidige metodene fokuserer på brukerens nytte og involvering av bruker.

    Dette forutsetter at sluttbruker har fullgod kunnskap om alle sider ved mulige gevinster av systemet

    Det er ikke slik at et krav nødvendigvis gir en gevinst.

    Oppnåelse av gevinstene må kobles med kravene og målene, inn som testkriterier og må verifiseres i drift.

    – Først da kan vi være sikre på at gevinstene innarbeides i løsningen og oppnås

    – Først da kan vi være sikre på at læringssløyfen i syklusene er komplett

  • Avenir AS > slide 35

    Vi må utvide scopet nok en gang!

    Krav

    Kode

    Gevinst

    Mål

  • Avenir AS > slide 36

    Krav til smidig metodikk:

    Sikre at de riktige målene danner grunnlag for arbeidet– Konkretisering og kvantifisering av målene,

    – Håndtering av krav som ikke støtter målene

    Sikre tidlige leveranser av de viktigste målene/gevinstene– All utvikling styres og prioriteres ut fra bidrag til måloppnåelse

    Sikre at de mål/gevinster som er satt for prosjektet faktisk oppnås– Testing i forhold til måloppnåelse

    – Leveranseprosessen styres ut fra måloppnåelse

    – Det verifiseres at gevinstene er levert i drift i organisasjonen

    Håndtere endringer på en proaktiv måte– God støtte for læring underveis og justeringer som følge av det

    – God støtte for håndtering av endrede rammebetingelser

  • Avenir AS > slide 37

    Dette betyr i praksis en kombinasjon av elementer fra flere smidige metoder

    Mål-og krav håndtering fra EVO, med litt inspirasjon fra LEAN

    SCRUM-møte og basis syklushåndtering og utviklingsdelen fra SCRUM, med noen elementer fra Crystal, LEAN og XP

    Fokus på leveranse av gevinstene i drift hentet fra EVO, med elementer fra XP og LEAN

    Mål ogkrav

    UtviklingLeveranse

  • Avenir AS > slide 38

    Smidige erfaringer

    Vi har høstet mye positiv erfaring med smidig prosjektgjennomføring, basert på en slik kombinasjon av metoder

    – Kortere tid til leveranser og gevinster

    – Lavere risiko

    – Mindre slitasje på teamet

    – Bedre støtte for læring underveis

    – Bedre håndtering av skiftende rammebetingelser

  • Avenir AS > slide 39

    6. Prinsipper for smidig prosjektgjennomføring

    Forretningsmålene styrer arbeidet

    Smidighet fra mål til gevinst

    Små skritt– Små skritt krever mindre overhead. Hvis vi tar små skritt er det

    enklere å ta et skritt tilbake og lavere risiko.

    – Jevn strøm av leveranser og resultater fremfor ”Big Bang”.

    Enkelhet– Utfordre den vanlige måten å tenke på: Spør (uavhengig av

    kravene): Hva er den enkleste måten å få til dette på?

    Forbedring– Ingenting er perfekt, men å forbedre(jobbe mot det perfekte),

    basert på erfaringene som høstes underveis er nyttig.

  • Avenir AS > slide 40

    Prinsipper for smidig prosjektgjennomføring

    Muligheter– Angrip problemet som en mulighet til å løse oppgaven på en annen måte

    Mangfold– Det er sunt at teamene består av et mangfold av kompetanse, erfaring

    og perspektiver. – Vi har forskjellige styrker og svakheter, og dette er bra for teamet hvis

    det utnyttes riktig. (Tenk fotball-lag).

    Kommunikasjon og tilbakemelding - løpende– Nødvendig at alle skal vite hva de skal gjøre og for å avdekke problemer– Fordi vi ellers ikke kan vite om vi er på rett vei

    Refleksjon og evaluering - løpende– Gode team gjør ikke bare jobben sin, men de tenker over hvordan de

    gjør den og hvorfor.

    Overlappende kvalitetsmekanismer– Sikre at feil og mangler blir avdekket (i tide) ved å ha et sett av flere

    mekanismer, fordi ingen enkelt-mekanisme kan avdekke alt. Den viktgiste kvalitetssmekanismen er faktisk bruk og faktisk erfaring.

  • Avenir AS > slide 41

    Fokus på korte leveransesykluser

    Lange sykluser gjør reaksjonstiden ved endringer lang

    Lange sykluser gir lang vei før det forefinnes noe resultat i det hele tatt

    Lange sykluser gir ikke god støtte for læring underveis

    Korte sykluser håndterer endringer løpende

    Korte sykluser gir kort vei til et brukbart resultat

    Korte sykluser gir god støtte for læring, og teamet blir dyktig på å levere

  • Avenir AS > slide 42

    7. En generisk modell - Et smidig rammeverk basert på tre sykluser

    Gevinst

    Mål

    UtvLev.

    3

  • Avenir AS > slide 43

    Mål og krav-syklus (Mye EVO)

    Gevinst

    Mål

    UtvLev.

    1

    23

    MålKravDesignforslag Prioritering

    Mål og krav

  • Avenir AS > slide 44

    Utviklings-syklus (Mye SRUM)

    Gevinst

    Mål

    UtvLev.

    1

    23

    Koding og testBrukerprøvingTilbakemeldingVerifisering

    Utvikling

  • Avenir AS > slide 45

    Leveranse-syklus (Mye OU)

    Gevinst

    Mål

    UtvLev.

    1

    23

    Driftsforb.OpplæringDriftsettingGevinstmåling

    Leveranse

  • Avenir AS > slide 46

    SMIDIG METODIKK – fra mål til gevinst

    GevinstForankringMålKravDesignforslag Prioritering

    Mål og krav

    EVO

    Utvikling

    SCRUM

    LeveranseDriftsforberedelseOpplæring og OUDriftsettingGevinstmåling

    1 2 3

    Koding og testBrukerprøvingTilbakemeldingVerifisering

    Gevinst

    Mål og krav

    UtviklingLeveranse

    1

    23

  • Avenir AS > slide 47

    Oppsummering

    1. Fordi verden er usikker2. Hyppige leveranser,

    forbedring og læring3. Det finnes mange4. Annerledes, men ikke enklere5. Forretningsfokus – tvers

    gjennom

    6. 12 prinsipper som gir effekt7. Tre sykluser satt sammen

    1. Hvorfor smidig

    2. Hva er smidig metode

    3. Smidige varianter

    4. Smidig prosjektledelse

    5. Noen sentrale utfordringer - hva skal til for å lykkes

    6. Gode prinsipper

    7. En generisk modell

  • Avenir AS > slide 48

    Mål

    UtviklingLeveranse

    Hovedleveranser fra syklusene

    Kontrakt

    Løsn. skiss.

    Del-løsning

    Gevinst

    Vedl.

    GevinsterKravLøsn. skissPlaner