El modelo espiral es un modelo de desarrollo de software evolutivo e iterativo que combina las propiedades del modelo en cascada y la naturaleza iterativa de los prototipos. Se caracteriza por reducir gradualmente el riesgo a través de ciclos incrementales que definen e implementan el sistema mientras aseguran el compromiso del usuario. El modelo evalúa múltiples alternativas, riesgos y aprendizajes a lo largo de cada fase del desarrollo, planificación e implementación del sistema.