Cos'è il modello a spirale?
Il modello a spirale è una filosofia di progettazione del software che, anziché essere un processo lineare, è un processo in quattro fasi che si ripete continuamente fino alla fine del software. Nel primo passo del modello a spirale, gli sviluppatori discutono gli obiettivi. Successivamente, gli sviluppatori trovano i metodi per completare gli obiettivi nel modo più rapido e sicuro. Quando gli sviluppatori sanno cosa stanno facendo, eseguono la programmazione effettiva per inserire funzionalità nel software. Al termine di questo processo, al cliente viene mostrato il software per l'accettazione o il rifiuto delle modifiche.
La pianificazione è il primo passo di un modello a spirale e inizia prima che venga eseguita qualsiasi programmazione. A questo punto, gli sviluppatori discutono delle funzionalità che devono essere aggiunte al software. Ad esempio, se il programma è realizzato per la collaborazione di gruppo, gli sviluppatori potrebbero discutere della necessità di un'interfaccia di gruppo che renda facile per molte persone utilizzare il programma contemporaneamente. Gli sviluppatori discutono solo delle funzionalità necessarie, senza discutere su come crearle.
Quando gli sviluppatori sanno quali funzionalità sono necessarie, iniziano a discutere i modi per completarle. In questa fase del modello a spirale, gli sviluppatori discuteranno diverse pratiche di programmazione e metodi per completare l'attività. Mentre ci possono essere molti modi per aggiungere le funzionalità, gli sviluppatori spesso sceglieranno quello che è più veloce da realizzare ed elaborare. Anche la sicurezza può essere un problema, perché gli sviluppatori non vogliono che il programma si blocchi durante l'uso.
Dopo aver selezionato un metodo, gli sviluppatori inizieranno quindi a programmare le funzionalità. Questa programmazione andrà secondo il metodo selezionato nella seconda fase e non verrà modificata se non si verificano problemi importanti. A differenza delle altre due parti del modello a spirale, qui si discute molto poco.
Al termine delle funzionalità discusse, il cliente verrà contattato per provare il software nelle sue condizioni attuali. Il software raramente sarà completo a questo punto, e questo passaggio è più per testare le funzionalità programmate che per affermarlo. Se il software non è realizzato per un cliente specifico, è possibile che vengano chiamati potenziali clienti per provare il programma. Indipendentemente dal fatto che il cliente accetti o rifiuti le funzionalità, il modello a spirale ritorna al primo passo, ovvero la pianificazione, in cui vengono discusse o negate le nuove funzionalità e le funzionalità vengono riparate. Ciò continuerà in sequenza fino a quando il software non sarà pronto per la distribuzione o completato secondo le specifiche del cliente.