El modelo en espiral es una filosofía de diseño de software que, en lugar de ser un proceso lineal, es un proceso de cuatro pasos que se repite continuamente hasta que el software está terminado. En el primer paso del modelo en espiral, los desarrolladores discuten los objetivos. Después de esto, los desarrolladores encuentran métodos para completar los objetivos de la manera más rápida y segura. Cuando los desarrolladores saben lo que están haciendo, realizan la programación real para poner funciones en el software. Cuando finaliza este proceso, se muestra al cliente el software para que acepte o rechace los cambios.
La planificación es el primer paso de un modelo en espiral y comienza antes de realizar cualquier programación. En este punto, los desarrolladores discuten las características que deben agregarse al software. Por ejemplo, si el programa está diseñado para la colaboración en grupo, los desarrolladores pueden discutir la necesidad de una interfaz de grupo que facilite a muchas personas el uso simultáneo del programa. Los desarrolladores solo discuten las características que se necesitan, sin discutir cómo crearlas.
Cuando los desarrolladores saben qué funciones se necesitan, comienzan a discutir formas de completarlas. En esta etapa del modelo en espiral, los desarrolladores discutirán diferentes prácticas de programación y métodos para completar la tarea. Si bien puede haber muchas formas de agregar las funciones, los desarrolladores a menudo elegirán la que sea más rápida de crear y procesar. La seguridad también puede ser un problema, porque los desarrolladores no quieren que el programa se bloquee durante su uso.
Después de seleccionar un método, los desarrolladores comenzarán a programar las funciones. Esta programación irá de acuerdo con el método seleccionado en la segunda fase y no se cambiará a menos que ocurran problemas importantes. A diferencia de las otras dos partes del modelo en espiral, aquí hay muy poca discusión.
Una vez finalizadas las funciones comentadas, se contactará al cliente para que pruebe el software en su estado actual. El software rara vez estará completo en este punto, y este paso es más para probar las funciones programadas que para afirmar que está hecho. Si el software no está hecho para un cliente específico, entonces se puede llamar a los clientes potenciales para que prueben el programa. Independientemente de si el cliente acepta o rechaza las funciones, el modelo en espiral vuelve al primer paso, la planificación, donde se discuten o niegan las nuevas funciones y se reparan las funciones. Esto continuará en secuencia hasta que el software esté listo para su distribución o se complete según las especificaciones del cliente.