Spiralinis modelis yra programinės įrangos projektavimo filosofija, kuri yra ne linijinis procesas, o keturių žingsnių procesas, kuris nuolat kartojasi, kol programinė įranga bus baigta. Pirmajame spiralinio modelio žingsnyje kūrėjai aptaria tikslus. Po to kūrėjai randa būdus, kaip greičiausią ir saugiausią pasiekti tikslus. Kai kūrėjai žino, ką daro, jie atlieka tikrąjį programavimą, kad programinėje įrangoje įdiegtų funkcijas. Kai šis procesas baigtas, klientui parodoma programinė įranga, leidžianti priimti arba atmesti pakeitimus.
Planavimas yra pirmasis spiralinio modelio žingsnis ir jis prasideda prieš atliekant bet kokį programavimą. Šiuo metu kūrėjai aptaria funkcijas, kurias reikia įtraukti į programinę įrangą. Pavyzdžiui, jei programa skirta bendradarbiauti grupėje, kūrėjai gali aptarti, ar reikia grupės sąsajos, kuri padėtų daugeliui žmonių naudotis programa vienu metu. Kūrėjai aptaria tik reikalingas funkcijas, neaptardami, kaip jas sukurti.
Kai kūrėjai žino, kokių funkcijų reikia, jie pradeda diskutuoti, kaip jas papildyti. Šiame spiralinio modelio etape kūrėjai aptars skirtingas programavimo praktikas ir metodus, kaip atlikti užduotį. Nors gali būti daug būdų, kaip pridėti funkcijas, kūrėjai dažnai pasirenka tą, kurį greičiausia sukurti ir apdoroti. Taip pat gali kilti problemų dėl saugumo, nes kūrėjai nenori, kad programa sugestų naudojimo metu.
Pasirinkę metodą, kūrėjai pradės programuoti funkcijas. Šis programavimas vyks pagal antroje fazėje pasirinktą metodą ir nebus keičiamas, nebent iškils didelių problemų. Skirtingai nuo kitų dviejų spiralinio modelio dalių, čia labai mažai diskutuojama.
Kai aptartos funkcijos bus baigtos, su klientu bus susisiekta, kad išbandytų esamą programinę įrangą. Šiuo metu programinė įranga retai bus baigta, o šis veiksmas labiau skirtas užprogramuotų funkcijų testavimui, o ne tvirtinimui, kad tai atlikta. Jei programinė įranga nėra sukurta konkrečiam klientui, potencialūs klientai gali būti pakviesti išbandyti programą. Nepriklausomai nuo to, ar klientas sutinka, ar atmeta funkcijas, spiralinis modelis grįžta į pirmąjį žingsnį – planavimą – kai aptariamos arba atmetamos naujos funkcijos, o funkcijos fiksuojamos. Tai tęsis nuosekliai, kol programinė įranga bus paruošta platinti arba bus baigta pagal kliento specifikacijas.