7. Dagsorden
• Succesfulde software-projekter
• Prismodel
• Samarbejdsform
• Krav til kunden og leverandøren
8. 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
Tillid
8
9. 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å?
10. 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
11. Hvis vi slutter til tiden
• Pris for kunden 1.000.000
• Samlet timepris for leverandøren 1.000
betaling
arbejde
11
12. Hvis vi slutter 25% før tid
• Pris for kunden 870.000
• Samlet timepris for leverandøren 1.170
betaling
arbejde
12
13. Hvis vi slutter 25% over tid
• Pris for kunden 1.130.000
• Samlet timepris for leverandøren 900
betaling
arbejde
13
14. Brug timepris for visse faser
Y
• Tidlige • Vedligeholdelse
prototyper X
• Eksperiementer
• Indledende
estimering
Timepris Agil prismodel Timepris
15. 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
16. 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
18. Hvordan sætter vi rammer for tillid?
Kunde Leverandør
Fire krav Fem krav
19. Krav nr. 1 til kunden
• Kunden skal specificere krav løbende
• Ikke detaljeret kravspec up-front
20. Krav nr. 2 til kunden
• Kunden skal prioritere funktionalitet løbende
21. Krav nr. 3 til kunden
• Skal teste og godkende leveret software løbende
22. Krav nr. 4 til kunden
• Skal prioritere fejlrettelser over udvikling af funktionalitet
23. 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
24. Krav nr. 1 til leverandøren
• Leverandøren skal estimere funktionsområder på
baggrund af en overordnet produktvision
25. Krav nr. 2 til leverandøren
• Skal nedbryde funktionalitet og opgaver i uger og dage
26. Krav nr. 3 til leverandøren
• Skal levere til test hyppigt (continuous delivery)
27. Krav nr. 4 til leverandøren
• Skal gennemføre automatiske regressionstest
28. Krav nr. 5 til leverandøren
• Skal følge kundens prioriteringer
29. 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. 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.