Spiraalmudel on riskipõhine tarkvaraarendusprotsessi mudel. See on kombinatsioon veevihmamudelist ja iteratiivsest mudelist. Spiraalmudel aitab rakendada tarkvaraarenduse elemente mitmest protsessimudelist tarkvaraprojekti jaoks, mis põhineb unikaalsetel riskimudelitel, tagades tõhusa arendusprotsessi.
Mudeli ajalugu
Spiraalmudelit kirjeldas esmakordselt Barry Boehm oma 1986. aasta artiklis. „The Spiral Model of Software Development and Improvement“.
Barry Boehm on sündinud 1935. aastal. Boehm sai Harvardi Ülikoolist bakalaureusekraadi matemaatikas, magistrikraadi ja doktorikraadi.
Barry Boehmi uurimisvaldkondade hulka kuuluvad tarkvaraarhitektuuri arendusprotsessi modelleerimine, tarkvaramõõdikud ja kulumudelid.
- aastal avaldas Barry Boehm sarnase artikli laiemale publikule. Nendes artiklites on esitatud diagramm, mida on paljundatud paljudes hilisemates spiraalmudelit käsitlevates väljaannetes. Nendes esimestes artiklites kasutatakse spiraalmudeli kohta mõistet „protsessimudel“.
Spiraalmudel kujutab endast tarkvaraarendusprotsessi, mis ühendab endas nii iteratiivsust kui ka etapiviisilisust.
Millised on Spiraalmudelli etapid?
- Eesmärkide seadmine – selles etapis määratakse kindlaks eesmärgid, st omakorda, protsessi piirangud, tulemused, juhtimiskava, võimalikud riskid ja riskidest lähtuvad alternatiivsed strateegiad.
- Riskide hindamine ja vähendamine – iga leitud riski kohta tehakse analüüs ja võetakse mõned meetmed riskide vähendamiseks (nt risk, mille nõuded ei ole piisavad: tehakse prototüüp).
- Arendamine ja valideerimine – hinnatud riskide põhjal valitakse arendusmudel (mudel peaks olema selline, mis aitab riske vähendada). Näiteks kui suurim risk on kasutajaliideses, siis võib prototüüpimine aidata.
- Planeerimine – projekt vaadatakse üle ja otsustatakse, kas minna edasi järgmisesse faasi, kui otsustatakse jätkata, koostatakse järgmise faasi plaan.

Plussid ja miinused
Plussid:
Spiraalse arengumudeli peamised eelised on järgmised:
- Paindlikkus ja kohanemisvõime: spiraalne mudel võimaldab paindlikult reageerida muutustele arendusprotsessis, mis muudab selle eriti kasulikuks suure ebakindlusega projektides.
- Riskijuhtimine: spiraalmudel rõhutab riskijuhtimist kogu projekti vältel, mis aitab ennetada ja kõrvaldada probleeme ning minimeerida negatiivseid mõjusid.
- Võimalus nõudeid järk-järgult täiustada: spiraalmudel võimaldab nõuete ja toote funktsionaalsuse järk-järgulist täiustamist kogu projekti jooksul.
- Suurem kvaliteedikontroll: spiraalmudel tagab varajase testimise ja riskihindamise kaudu kõrgema kvaliteedikontrolli taseme.
- Suurem tõhusus: iteratiivse iteratsiooni ja varajase riskide kõrvaldamise kaudu võib spiraalmudel suurendada arendusprotsessi tõhusust.
- Hea suhtlemine: spiraalmudel hõlmab pidevat teabevahetust kliendi ja arendusmeeskonna vahel, mis aitab säilitada head suhtlemist ja mõistmist kõigi projektis osalejate vahel.
Need eelised muudavad spiraalmudeli üheks kõige tõhusamaks arendusmeetodiks suure ebakindluse ja/või märkimisväärsete riskidega projektide puhul.
Miinused:
Vaatamata eelistele on spiraalsel arengumudelil ka mitmeid puudusi, mille hulgas on järgmised:
- Kõrgemad projektijuhtimise kulud: keerulisema struktuuri ja kõrgema riskijuhtimise taseme tõttu võib spiraalmudel olla aja ja ressursside poolest kulukam, eriti väiksemate projektide puhul.
- Raske planeerimine: kuna iga iteratsioon võib olla erineva ulatuse ja töö sisu poolest, võib spiraalmudelit olla raske planeerida, eriti kogenematuid projektijuhte.
- Vajadus kõrgete meeskonnaoskuste järele: spiraalmudeli rakendamine nõuab meeskonnaliikmetelt kõrgeid oskusi ja kogemusi, eriti riskijuhtimise alal.
- Vajadus kliendi pideva kaasamise järele: spiraalmudel eeldab kliendi pidevat suhtlemist ja kaasamist arendusprotsessi, mis võib olla problemaatiline, kui klient ei suuda eraldada piisavalt aega projektis osalemiseks.
- Piirangud seoses projekti suurusega: spiraalmudel võib olla ebatõhus väga suurte projektide puhul, kus tuleb hallata paljusid järjestikuseid iteratsioone ja protsesse.
- Protsessi vähene läbipaistvus: spiraalmudel võib olla vähem läbipaistev kui lihtsamad arendusmudelid, eriti sidusrühmadele, kes ei ole mudeliga tuttavad.

Results
#1. Milline järgnevatest on tarkvaraarenduse spiraalmudeli peamine eelis?