2. 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
3
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
4
6. Både agil og krav?
Kan vi både være agile og stille krav til leverandøren?
6
7. 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å?
8. 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
Y
X
arbejde
3 mdr 6 mdr
9. Hvis vi slutter til tiden
• Pris for kunden 1.000.000
• Samlet timepris for leverandøren 1.000
betaling
arbejde
9
10. Hvis vi slutter 25% før tid
• Pris for kunden 870.000
• Samlet timepris for leverandøren 1.170
betaling
arbejde
10
11. Hvis vi slutter 25% over tid
• Pris for kunden 1.130.000
• Samlet timepris for leverandøren 900
betaling
arbejde
11
12. Brug timepris for visse faser
Y
• Tidlige • Vedligeholdelse
prototyper X
• Eksperiementer
• Indledende
estimering
Timepris Agil prismodel Timepris
13. 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
14. 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
15. Justering af kontrakten
betaling pr time
Timepris Fast pris
betaling ved færdiggørelse
• Højere timepris • Højere færdiggørelsespris
– Når funktionalitet er vigtigst – Når tidsfristen er vigtigst
16. 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?
18. Krav nr. 1 til kunden
• Kunden skal specificere krav løbende
• Ikke detaljeret kravspec
19. Krav nr. 2 til kunden
• Kunden skal prioritere funktionalitet løbende
20. Krav nr. 3 til kunden
• Skal teste og godkende leveret software løbende
21. Krav nr. 4 til kunden
• Skal prioritere fejlrettelser over udvikling af funktionalitet
22. 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
Godt udgangspunkt
• Kunden har en klart formuleret produktvision
• Kunden sætter software i drift undervejs
23. Krav nr. 1 til leverandøren
• Leverandøren skal estimere funktionsområder på
baggrund af en overordnet produktvision
24. Krav nr. 2 til leverandøren
• Skal nedbryde funktionalitet og opgaver i uger og dage
25. Krav nr. 3 til leverandøren
• Skal levere til test hyppigt (continuous delivery)
26. Krav nr. 4 til leverandøren
• Skal gennemføre automatiske regressionstest
27. Krav nr. 5 til leverandøren
• Skal følge kundens prioriteringer
28. 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
30. 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?
31. 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.
32. 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.
33. 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
34. 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