Spiraalmudel on üks iteratiivsetest (eristada inkrementaalsest) meetoditest, mille kulgemist saab visualiseerida spiraaliga. Meetodit kirjeldas esimest korda 1986. aastal Barry Boehm. Lisaks iteratiivsele meetodile kasutab see ka võtteid koskmudelist.
Mudeli keskpunktiks on riskijuhtimine läbi mitmete arendustsükli iteratsioonide. Spiraali iga "keerd" sümboliseerib täielikku valmis arendustsüklit alates nõuete analüüsist kuni tarkvara loomiseni, testimiseni, tarnimiseni ning hooldamiseni.
Spiraalmudelis on iga kordust/inkrementi võimalik jaotada omakorda kolme kuni kuute sektorisse, mis võivad üksteisest mahu ja keerukuse poolest erineda. Näiteks Boehmi põhjal jagunevad sektorid:
Määratakse iteratsiooni eesmärgid ja piirangud, defineeritakse võimalikud kaasnevad riskid ning koostatakse vastavalt juhtimisplaan.
Analüüsitakse leitud võimalikud riskid ning tehakse sellest lähtuvalt riskimaandamist näiteks prototüüpide loomise näol ebapiisavate nõudmiste puhul. Üks olulisimaid erinevusi võrreldes teiste arendusmudelitega, kuna riskimaandamine on arvestatud mudelis sisse juba eraldi etapina. Selle eesmärk on aidata vältida riskide realiseerimist ning sellega kaasnevaid tagajärgi - tähtaegade ületamine, kulude suurenemine jne.
Lähtuvalt defineeritud riskidest valitakse projekti või eraldi iteratsiooni jaoks sobiv arendusmudel. Valitav mudel peab seejuures aitama vähendada neid riske, näiteks ebakindluse puhul kasutajaliideses võidakse otsustada luua prototüüpe selle jaoks.
Sektori lõpus tehakse hinnang projekti progressist ning vajadusel luuakse plaan uue iteratsiooni jaoks.
| Eelised | Probleemid |
|---|---|
| Kesksel kohal on riskijuhtimine, mis aitab oluliselt vähendada riskide realiseerumisest tingitud probleeme projektis. | Teiste mudelitega võrreldes keerulisem, mistõttu nõuab efektiivseks kasutuseks kogenud arendajaid. |
| Iteratiivne lähenemine teeb mudeli väga paindlikuks ja probleemidele reageerimise efektiivseks. | Kuna kindlat iteratsioonide arvu ette pole antud, on ajaplaneerimine raske selle mudeli puhul. |
| Hindamisfaas iga iteratsiooni lõpus võimaldab tihedat kommunikatsiooni kliendiga. | Edukaks riskijuhtimiseks on nõutud, et tiimis oleks kindlasti olemas selle jaoks kõrgelt kogenud ekspert. |