process
Motivation
• Vill kontrollera utvecklingen
• försäkra oss om att rätt uppgift löses
• problemet blir klart i tid
• förutse tekniska svårigheter (tex avseende
Önskemål, under projektets gång
• vill kunna följa projektets fortskridande
• upptäcka problem på ett tidigt skede
• försäkra sig om att projektet är relevant för kunden
• förändra projektets inriktning om det visar sig nödvändigt, av affärskäl eller tekniska skäl
Analys: Vi löser fel problem (slarvig analys, missförstånd, kunden vet inte vad han vill ha, när projektet är klart har världen förändrats)
Design: Typisk situation: vissa aspekter får för mycket uppmärksamhet, andra ignoreras
Underskattar (eller överskattar) prestandaproblem, en lösning som är onödigt svår att implementera, som ej tar hänsyn till vissa aspekter till problemet
Iterationer
Dela upp projektet av iterationer av fast längd. (några dar till flera månader, beroende på projektets storlek)
Varje iteration ska resultera i körbar kod.
Om du inte blir klar med allt du planerat för en iteration, minska iterationens omfattning, skjut ej på deadlines Varje iteration ska vara ett vattenfall i miniatyr
Faser
Inception: Definiera produkten (1 iteration)
Elaboration: Proof of concept. Arkitektur, identifiera risker och visa att de kan hanteras (2)
Implementation. Bygg kärnan och de "svåra" sakerna först (3)
Transition. Lämna över systemet till kund. (2)
Arbetsfördelning mellan faser
Inception Elaboration Construction Transition
Deployment Test Implementation
Design Requirements Business Modeling
Iter 0 Iter 2Iter 1 Iter 3 Iter 4 Iter 5 Iter 6 Iter 7
Phases
En stor del av arbetet svara mot "analys" i vattenfallsmodellen
Ta fram en prototyp
Vad är det vi ska bygga?
Är det genomförbart?
Vad kommer det (ungefär) att kosta?
Elaboration
Till stor del: "analys" och "design"
I planering av iterationer, ta hänsyn till risker (tekniska och andra)
täckning (så att alla delar av systemet berörs) vilka funktioner är kritiska
• En systematisk metod
• Jämfört med XP, kontroll
• Möjlghet att presentera prototyper för kunder och andra intressenter
• Snabb feedback om nåt går på tok
Likheter XP-ID
Betrakta programmet som nåt flexibelt—modell-lera, inte marmor
Betrakta kravspec som flexibel
Välj bland önskemål och krav utgående från kostnad och affärsvärde
Arbeta mot körbar kod—vill kunna testköra och visa för kund i tidigt skede