El modelo en espiral es un modelo de desarrollo de software evolutivo e iterativo que combina la construcción de prototipos con aspectos sistemáticos. Consta de varias fases cíclicas que incluyen la comunicación con el cliente, la planificación, el análisis de riesgos, la ingeniería y la construcción. El modelo permite adaptarse a lo largo del ciclo de vida del software y mejorarlo mediante iteraciones sucesivas.