agile kontrakter ghm marts2012
TRANSCRIPT
Agile kontrakter
Casper Wilstrup & Jesper Thaning, BestBrains
1. marts 2012 betaling
arbejde
Dagsorden
• Succesfulde software-projekter
• Agil og krav?
• Prismodel
• Kontraktens formål?
• Samarbejdsform
• Krav til kunden
• Krav til leverandøren
3
Succesfulde software-projekter
• Kunde og leverandør samarbejder
• Projektet slutter tidligt med den rette funktionalitet
• Kunden kan levere krav løbende
• Kunden får produktionsklar software leveret løbende
• Risici og gevinster deles af kunde og leverandør
4
3 agile software-projekter (ændres til logoer)
• Event-bureau'et– lille, dynamisk firma
– software til interaktivitet for deltagere på topleder-konferencer
– 1-3 programmører, siden august 2008
• Energiselskabet– stort, traditionelt selskab
– software til registrering af kraftværksoplysninger
– 3 programmører, jan 2009 – feb 2010
• Et ministerium– En styringsreol oven på dokumenthåndteringssystem
– 3 programmører, april 2010 – maj 2011
5
Agile erfaringer fra
6
Både agil og krav?
Kan vi både være agile og stille krav til leverandøren?
Sæt pris på agile projekter
• Ikke fast pris– Forudsætter en detaljeret kravspecifikation for hele projektet
• Ikke timepris– For så bærer kunden hele den økonomiske risiko
• Hvordan så?
Et projekteksempel
• Applikationen skal gøre os i stand til at opnå X og Y– Estimat: Det vil tage 3 personer i 6 måneder at udvikle
– Metode: Krav og programmering i ugentlige iterationer
– Betaling: 600 kr/time og 2 * 250.000 kr når det sættes i drift
betaling
arbejde
X
Y
6 mdr3 mdr
9
Hvis vi slutter til tiden
• Pris for kunden 1.000.000
• Samlet timepris for leverandøren 1.000
betaling
arbejde
10
Hvis vi slutter 25% før tid
• Pris for kunden 870.000
• Samlet timepris for leverandøren 1.170
betaling
arbejde
11
Hvis vi slutter 25% over tid
• Pris for kunden 1.130.000
• Samlet timepris for leverandøren 900
betaling
arbejde
Brug timepris for visse faser
• Tidlige prototyper
• Eksperiementer
• Indledende estimering
X
Y
• Vedligeholdelse
Timepris TimeprisAgil prismodel
Fordele ved prismodellen
• Fælles incitament til at slutte før tid og under budget– Billigere for kunden
– Hurtigere afkast på investeringen for kunden
– Højere fortjeneste for leverandøren
Fordele ved prismodellen
• Tilskynder til samarbejde mellem kunde og leverandør– Understøtter at kravene gives løbende
– Understøtter at software leveres løbende
• Kunde og leverandør deler risici og gevinster
Justering af kontrakten
• Højere timepris– Når funktionalitet er vigtigst
• Højere færdiggørelsespris– Når tidsfristen er vigtigst
betaling pr time
betaling ved færdiggørelse
Timepris Fast pris
Spørgsmål
1. Hvad er de vigtigste formål med en kontrakt for en leverandør?
2. Hvad er de vigtigste formål med en kontrakt for en kunde?
Regulering af samarbejdet
Kunde Leverandør
Fire krav Fem krav
Krav nr. 1 til kunden
• Kunden skal specificere krav løbende
• Ikke detaljeret kravspec
Krav nr. 2 til kunden
• Kunden skal prioritere funktionalitet løbende
Krav nr. 3 til kunden
• Skal teste og godkende leveret software løbende
Krav nr. 4 til kunden
• Skal prioritere fejlrettelser over udvikling af funktionalitet
Fire krav til kunden
1) Skal specificere krav løbende
2) Skal prioritere funktionalitet løbende
3) Skal teste og godkende leveret software løbende
4) Skal prioritere fejlrettelser over udvikling af funktionalitet
• Kunden har en klart formuleret produktvision
• Kunden sætter software i drift undervejs
Godt udgangspunkt
Krav nr. 1 til leverandøren
• Leverandøren skal estimere funktionsområder på baggrund af en overordnet produktvision
Krav nr. 2 til leverandøren
• Skal nedbryde funktionalitet og opgaver i uger og dage
Krav nr. 3 til leverandøren
• Skal levere til test hyppigt (continuous delivery)
Krav nr. 4 til leverandøren
• Skal gennemføre automatiske regressionstest
Krav nr. 5 til leverandøren
• Skal følge kundens prioriteringer
Fem krav til leverandøren
1) Skal estimere på grundlag af en overordnet produktvision
2) Skal nedbryde funktionalitet og opgaver i uger og dage
3) Skal levere hyppigt
4) Skal gennemføre automatiske regressionstest
5) Skal følge kundens prioriteringer
Forudsætning nr. 1 til leverandøren
• Kan udvikle arkitekturen løbende
Diskussion
• Hvad skal fremtidens kontrakter indeholde for at bidrage til at flere af fremtidens IT-leverancer bliver en succes for både kunden og leverandøren?
Formuleringer – prismodel
• Formålet med prismodellen er at skabe et fælles økonomisk incitament for både [leverandør] og [kunde] til at løse opgaven indenfor tidsplan og budget, og dermed tilskynde til konstruktivt samarbejde mellem parterne under projektet.
• Perioden op til starten af første releaseperiode afregnes efter en timebaseret prismodel til [x] kr/time ex. moms.
• Releaseperioderne afregnes efter en agil gørelsespris. Den lavere timepris er [y] kr/time ex. moms, og færdiggørelsesprisen forhandles endeligt inden hver releaseperiode på grundlag af den forudgående analyse af prioritering, estimater og risici. Den aftalte færdiggørelsespris betales ved releaseperiodens afslutning, når den leverede software godkendes af [kunden].
• Når den leverede software sættes i drift, er dette en implicit godkendelse.
Formuleringer – samarbejde
• Parterne udvikler systemet efter en agil udviklingsmodel, hvor [kunden] specificerer kravene, tester og giver feedback undervejs, og [leverandøren] løbende leverer systemet til test og feedback, begge dele i tæt samarbejde og dialog, i iterationer af 1 til 2 ugers varighed.
• Udviklingen opdeles i et antal releaseperioder (milepæle) af 4-8 ugers varighed. Hver releaseperiode starter på grundlag af en overordnet specifikation og et estimat som indgår i prismodellen. Releaseperioden afsluttes med at [kunden] godkender leverancen og så vidt muligt sætter den leverede software i drift.
• Inden hver releaseperiode starter, og i høj grad inden første releaseperiode starter, er parterne (udviklere, brugere, styregruppe) i tæt dialog om den konkrete udformning af den del af systemet, der indgår i releaseperioden, fx gennem workshops og løbende feedback.
Henvisninger
• Bender Von Haller Dragsted “Iterative kontrakter”– http://k02.dk/Bogen_Iterative_projektmodeller_og_kontrakter.pdf
– 01i, 02i og 03i
• IT&Telestyrelsen– http://www.itst.dk/it-arkitektur-og-standarder/it-styring/agile-metoder
– Vejledning om agile metoder
• SKI– Ny agil kontrakt velegnet til udbud og mini-udbud
• Kammeradvokaten– Ny agil standardkontrakt
Gå-hjem-møder
• Slib kniven – 6. marts
• Problemløsning for viderekomne – 13. marts
• Styr gennem kaos – 15. marts
• Opnå højere pålidelighed i leverancerne – 20. marts
• Introduktion til agil udvikling – 27. marts
• Kanban: den nye agile metode – 11. april