Spiraalmudel on tarkvaraarenduse iteratiivne ja riskipõhine arendusmudel.
See on üks arendusmudeleid, mis rõhutab riskianalüüsi olulisust igas arendustsüklis.
Spiraalmudel koosneb neljast tegevusest, mida korratakse igas spiraali ringis ehk faasis (iteratsioonis). Need neli tegevust on:
Määratakse kindlaks selle spiraali faasi ehk korduse eesmärgid (nt funktsionaalsus, jõudlus).
Määratletakse piirangud (nt aeg, eelarve, tehnilised piirangud).
Kogutakse ja täpsustatakse nõuded ning kaalutakse alternatiivseid lahendusstrateegiaid (nt osta valmis lahendus, arendada ise,
taaskasutada olemasolevaid komponente).
Identifitseeritakse ja hinnatakse kõik potentsiaalsed riskid,
mis võivad takistada projekti eesmärkide saavutamist (nt tehnoloogilised riskid, nõuete ebastabiilsus, ajakava riskid).
Iga tuvastatud kõrge riskiga probleemi jaoks töötatakse välja maandamisstrateegia.
See võib hõlmata uuringuid, simulatsioone või prototüüpide loomist (nt nõuete ebaselguse riski maandamiseks luuakse kasutajaliidese prototüüp).
See tegevus teeb spiraalmudeli teistest arendusmudelitest unikaalseks.
Valitakse ja teostatakse arendusmudel (nt prototüüpimine, koskmudel),
mis sobib kõige paremini maandatud riskidega ning aitab saavutada faasi eesmärke.
See etapp hõlmab disainimist, kodeerimist, testimist ja valideerimist.
Faasi tulemusena luuakse kas töötav tarkvara versioon või prototüüp, mis vastab faasi eesmärkidele.
Vaadatakse üle faasi tulemused (sealhulgas riskianalüüsi ja arenduse tulemused) ning hinnatakse klientide ja teiste huvigruppide tagasisidet.
Tehakse otsus, kas jätkata projekti ning minna järgmisesse spiraali kordusesse.
Kui otsustatakse jätkata, koostatakse plaan järgmise faasi jaoks. Järgmine ring algab uute detailsemate eesmärkide seadmisega.
Selle mudeli kõige olulisem erinevus teistest on riskidega arvestamine. Risk - so võimalus, et midagi saab untsu minna.
Riskide realiseerumise tõttu ületatakse tähtajad ja maksumus, seepärast peab riskidega arvestama ning võtma midagi ette nende maandamiseks.
Sommerville'i järgi täpselt sellist mudelit kasutatakse harva, kuid ta on aidanud mõista iteratiivse arenduse olemust ja juhtinud tähelepanu riskidega tegelemise vajalikkusele.
| Head | Vead |
| Väga madal risk – riskide süstemaatiline maandamine varakult. | Kulukas – nõuab pidevat planeerimist, riskianalüüsi ja hindamist. |
|---|---|
| Paindlikkus – sobib hästi projektidele, kus nõuded on ebaselged või muutuvad. | Aeganõudev – sobib pigem suuremahulistele, keerukatele ja kalli riskiga projektidele. |
| Sobib hästi suurtele ja keerukatele süsteemidele. | Planeerimise raskus – keeruline määrata tsüklite arvu ja nende kestust ette. |
Viited infole: eopearhiiv