Spiralni model je filozofija dizajna softvera koja je, umjesto da bude linearan proces, proces u četiri koraka koji se neprestano ponavlja dok se softver ne završi. U prvom koraku spiralnog modela, programeri raspravljaju o ciljevima. Nakon toga, programeri pronalaze metode za postizanje ciljeva na najbrži i najsigurniji način. Kada programeri znaju što rade, onda izvode stvarno programiranje kako bi u softver ubacili značajke. Kada se ovaj proces završi, kupcu se prikazuje softver za prihvaćanje ili odbijanje promjena.
Planiranje je prvi korak spiralnog modela i počinje prije nego što se izvrši bilo kakvo programiranje. U ovom trenutku programeri raspravljaju o značajkama koje je potrebno dodati softveru. Na primjer, ako je program napravljen za grupnu suradnju, tada programeri mogu raspravljati o potrebi za grupnim sučeljem koje mnogim ljudima olakšava istovremenu upotrebu programa. Programeri raspravljaju samo o značajkama koje su potrebne, bez raspravljanja o tome kako ih stvoriti.
Kada programeri znaju koje su značajke potrebne, počinju raspravljati o načinima njihovog dovršavanja. U ovoj fazi spiralnog modela, programeri će raspravljati o različitim programskim praksama i metodama za izvršavanje zadatka. Iako postoji mnogo načina za dodavanje značajki, programeri će često odabrati onaj koji je najbrži za izradu i obradu. Sigurnost također može biti problem, jer programeri ne žele da se program ruši tijekom upotrebe.
Nakon odabira metode, programeri će početi programirati značajke. Ovo programiranje će se odvijati prema metodi odabranoj u drugoj fazi i neće se mijenjati osim ako ne dođe do većih problema. Za razliku od druga dva dijela spiralnog modela, ovdje se vrlo malo raspravlja.
Nakon što su razmatrane značajke gotove, kupac će biti kontaktiran kako bi isprobao softver u njegovom trenutnom stanju. Softver će rijetko biti gotov u ovom trenutku, a ovaj korak je više za testiranje programiranih značajki nego za tvrdnju da je učinjeno. Ako softver nije napravljen za određenog klijenta, potencijalni kupci mogu biti pozvani da isprobaju program. Bez obzira na to prihvaća li kupac ili odbija značajke, spiralni model se vraća na prvi korak – planiranje – gdje se raspravlja o novim značajkama ili ih odbija, a značajke se popravljaju. To će se nastaviti u nizu sve dok softver ne bude spreman za distribuciju ili dovršen prema specifikacijama klijenta.