El modelo en espiral es un proceso evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. En el modelo espiral, el software se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o un prototipo. Durante las últimas iteraciones, se producen versiones cada vez más completas del sistema diseñado.
Modelo en espiral contiene seis regiones de tareas las cuales son:
- Comunicación con el cliente: Las tareas requeridas para establecer comunicación entre el desarrollador y el cliente.
- Planificación: Las tareas requeridas para definir recursos, el tiempo y otra información relacionadas con el proyecto.
- Análisis de riesgos: Las tareas requeridas para evaluar riesgos técnicos y de gestión.
- Ingeniería: Las tareas requeridas para construir una o más representaciones de la aplicación.
- Construcción y acción: Las tareas requeridas para construir, probar, instalar y proporcionar soporte al usuario.
- Evaluación del cliente: Las tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software creadas durante la etapa de ingeniería e implementada durante la etapa de instalación.