MODELO ESPIRAL EVOLUTIVO
El modelo incorpora un nuevo elemento en el desarrollo de software
como es el “análisis de riesgos” y define cuatro actividades principales
representadas por los cuatro cuadrantes de la figura:
• Planificación -> Determina objetivos, alternativas y restricciones
• Análisis de riesgo -> Evalúa alternativas, identifica y resuelve riesgos.
• Ingeniería -> Desarrollo y verificación del producto del siguiente nivel.
• Evaluación del cliente -> Valoración de los resultados y planificación de la siguiente fase.
Con cada iteración alrededor de la espiral (comenzando en el centro y
siguiendo hacia el exterior), se van construyendo sucesivas versiones
del software, cada vez más completas. Durante la primera vuelta de la
espiral, en el primer cuadrante (superior izquierdo) se determinan
objetivos, alternativas y restricciones; y en el segundo cuadrante
(superior derecho) se analizan e identifican los riesgos (¿se dispone de
personal?, ¿está preparado?, ¿existe mercado para el producto?, etc.).
Si el análisis de los riesgos indica que existe incertidumbre en los
requisitos se puede desarrollar un prototipo para su valoración, y
también se pueden usar simulaciones y otros modelos para definir más el
problema y refinar los requisitos.
En el cuadrante tercero (inferior derecho) se incorporan
incrementalmente las etapas del ciclo de vida tradicional en cada ciclo
de la espiral.
En el cuarto cuadrante (inferior izquierdo) el cliente evalúa el
trabajo de ingeniería de esa espiral y sugiere modificaciones. Basándose
en los comentarios del cliente, se produce la siguiente fase de
planificación y de análisis de riesgos. En cada bucle alrededor de la
espiral, al finalizar el análisis de riesgo, se debe tomar la decisión
de seguir adelante o no con el proyecto. Si se sigue avanzando, cada
vuelta alrededor de la espiral conduce más hacia fuera, hacia un modelo
más completo del sistema, y al final al propio sistema operacional. Cada
vuelta requiere más desarrollo de ingeniería de software, y el número
de actividades del tercer cuadrante aumenta al alejarse del centro de la
espiral.
El paradigma del modelo en espiral es actualmente el enfoque más
realista en la ingeniería del software tradicional para sistemas
grandes, ya que utiliza un enfoque evolutivo que permite al ingeniero y
al cliente entender y reaccionar a los riesgos que se detectan en cada
espiral. Utiliza la creación de prototipos como un mecanismo de
reducción del riesgo y mantiene el enfoque del ciclo de vida clásico,
pero incorporándolo dentro de un proceso iterativo que refleja de forma
más realista el mundo real. No se disponen de cifras comparativas de su
bondad con respecto a otros ciclos de vida, pero indudablemente sus
resultados parecen superiores ya que engloba a los ciclos clásicos y de
prototipos.