Spiraalne arendusmudel
Spiraalmudel on iteratiivne arendusmudel, mille tööprotsessi kugemist kirjeldab spiraal. Esimene kordus võib olla näiteks seotud süsteemi teostatavuse uurimisega, teine nõudmiste kirjeldamisega, järgmine kavandamisega jne. Mitu kordust on enamasti seotud tarkvara realiseerimisega, kus tema ehitamine toimub inkrementaalselt. Iga kordus, mis on jagatud 3-6 sektorisse, algab lähema eesmärgi kavandamise ja riskide hindamisega ning lõppeb nö kliendiga - eesmärk peab saama täidetud ja kontrollitud.
Kordused?
Kordus on spiraalmudeli üks "ring" ja korduste läbi toimub iteratiivne tarkvaratoote arendusprotsess. Aga võrreldes tavalise arendusprotsessiga, ei saa arvestada et üks kordus on üks etapp. Igas korduses on eraldi oma sektorid mis on ühe korduse "etapid"/sektorid (keerud). Töömaht kordusest-kordusesse võib muutuda. Kuigi kordused ise ei ole kindlad etapid, on neid tarkvara arenduse elutsüklis niipalju kuni projekti nõuded täidetakse, mistõttu on nad oma astmelt *asenduslikud* etappidega, isegi kui nad ei ole samad.
Millised sektorid ühes korduses olla võivad?
Iga kordus, olenevalt siis täpsest mudelist sisaldab 3 kuni 6 sektorit, kuid Boehmi algses mudelis on neid neli:
Eesmärkide seadmine
- Pannakse paika, mis on käimasoleva korduse eesmärk, tuvastatakse võimalikud kitsaskohad, pannakse paika mis selle korduse lõpul valmima peab, korduse juhtplaan, kitsaskohtade alusel tuletatakse riskid ja üritatakse nende jaoks paika panna tagavaruplaanid või alternatiivsed lahendusvõimalused. See keerd valmistab ette ülejäänud korduse.Riskide hindamine ja maandamine
- Iga riski jaoks, mis ettevalmistavas keerus leiti, teostatakse vastav riskianalüüs. Riskianalüüsi eesmärk on uurida kas piisab tagavaruplaanist, kui plaani pole, milline see olla võiks, ning siis ka uute tegevuste, mis peaks seda riski praktiliselt ka siis maandama, ära määratlemine. Siin näide:Tuvastatud risk: Tõenäosus Võimalik intsident Maandav tegevus Serverid ei pea mängijate
koormusele uue versiooni
väljalaskel vastu.Suur Serverid käivad maha,
Mängijad ei saa osta uusi
digitaalobjekte.
Äri kannatab kasumikahju.
Mängijad ei saa mängidaAjutiselt suurendame
serveriparki uue versiooni
kahe esimese nädala raames.
Teeme stresstestimist et näha
kas ennustatav kasutajatehulk
mahub olemasolevale süsteemile
korraga peale.Toote väljaarendus ning valideerimine
- Siin valitakse keeru teostamiseks eesmärgi- põhiselt ja riskipõhiselt arendusmudel, ning selle abil arendatakse keerus vastav iteratisoon. Tarkvara valideerimine toimub läbi tootel teostatava testimise.Planeerimine
- Peale arendustööd on planeerimiskeerd, kus valmissaadud osa, koos ülejäänud valminud tootega vaadatakse üle, ning langetatakse otsus järgmise korduse teostuseks. Jätkamist pooldava otsuse puhul tehakse ka järgmise korduse/"etapi" plaan
Riskihaldus spiraalmudelis
Spiraalmudeli kõige unikaalsem omadus ongi, et siin on riskihaldus kogu protsessi juures esmatähtis. Risk on mingisugune võimalik süsteemiauk, kus võib tekkida puudulik, või mittesoovitud olukord mis kliendile kahju toob, või arendusprotsessile negatiivset mõju omab. Seetõttu ongi spiraalmudel iga iteratsiooni, või korra juures keskendunudki riskide haldamisele.
Arendusmudeli joonis