El modelo en espiral es una mezcla del enfoque lineal y el iterativo, diseñado para manejar proyectos donde el coste de un fallo representa un riesgo significativo. Su principal ventaja es la gestión de riesgos, un aspecto que otros modelos no abordan.
Fallos en el análisis de riesgos podría influir negativamente a todo el proyecto.
La duración de la ejecución no es concreta.
En cada ciclo se pasa por dichas fases bien definidas, como en el modelo de cascada, pero con capacidad de evolucionar su complejidad con cada ciclo. Por tanto, se trata de un modelo evolutivo que, conforme avancen los ciclos, aumentará el tiempo de ejecución, así como el volumen de código fuente desarrollado y la complejidad de la gestión de riesgos y de la planificación.
Ventajas
El desarrollo es iterativo y se pueden incorporar funcionalidades progresivamente.
Los factores de riesgo son reducidos.
Las fases por las que pasa cada ciclo de la espiral son:
Evaluación. Antes de proceder a realizar otra vuelta en la espiral, se debe prestar atención a lo que sucedió en la vuelta anterior. Se debe analizar en detalle si los riesgos detectados anteriormente ya tuvieron solución. Básicamente, esta fase servirá para determinar el avance del proyecto y dar pistas de hacia dónde debe enfocarse la próxima iteración.
Implementación. Se desarrolla y valida el software según el alcance acordado, el cual está íntimamente relacionado y condicionado con el análisis de riesgos anterior.
Análisis de Riesgo. Se evalúa todo aquello que pueda afectar al proyecto según el estado en que se encuentre y su grado de avance. Para ello, se diseñarán los prototipos que deberán ser validados en el ciclo.
Planificación. Se determinan los objetivos y el alcance del ciclo que comienza, tras un necesario ejercicio de investigación. Con cada iteración, se irá incrementando el tamaño de software entregado y la funcionalidad cubierta.
En concreto, los proyectos ejecutados con el modelo en espiral empiezan siendo pequeños, investigando los mayores riesgos que se pueden tolerar, para pasar a agrandarse poco a poco, en base a elementos clave sobre los que se construyen las siguientes fases de la espiral.
El modelo en espiral es una combinación entre el modelo lineal o de cascada y el modelo iterativo o basado en prototipos que habíamos mencionado anteriormente. Se utiliza con éxito en proyectos donde el coste de un fallo es un gran riesgo, de ahí que su principal aportación sea considerar la gestión de esos riesgos, algo que en los modelos anteriores ni siquiera se menciona.