El modelo de desarrollo en Espiral es una combinación entre el modelo waterfall y un modelo por iteraciones.
El proceso pasa por distintas etapas, desde la de conceptualización, siguiendo el desarrollo, luego una fase de mejoras, para finalizar con el mantenimiento.
Dentro de cada etapa, tendremos una serie de fases que transcurren desde la planificación, pasando por el análisis de riesgos, el desarrollo y finalizando en la evaluación de lo realizado. Se incorpora también una fase de enlace entre etapas, para facilitar la transición entre las mismas.
En definitiva, el equipo de desarrollo en este modelo de desarrollo en espiral comienza con un pequeño conjunto de requisitos y pasa por cada fase de desarrollo para ese conjunto de requisitos. El equipo de desarrollo agrega la funcionalidad para el requerimiento adicional en espirales cada vez mayores, hasta que la aplicación está lista para la fase de producción.
Aquí tenéis una representación gráfica del modelo:
Planificación
Incluye la estimación del coste, el calendario y los recursos para la iteración.
Implica también la comprensión de los requisitos del sistema para la comunicación continua entre el analista de requerimientos y el cliente.
Análisis del riesgo
La identificación de los riesgos potenciales se realiza mientras se planifica y finaliza la estrategia de mitigación de riesgos.
Ingeniería
Incluye la codificación, pruebas y el despliegue del software.
Evaluación
Evaluación del software por parte del cliente.
Además, incluye la identificación y el seguimiento de riesgos tales como los retrasos en los plazos y los sobrecostes.
¿Cuándo deberías usar el desarrollo en Espiral?
El uso del método en espiral, como cualquier otra aproximación al desarrollo de software, tiene escenarios en los que se devuelve mejor. Luego, cada caso puede tener sus excepciones, cada organización por su propia estructura puede beneficiar el rendimiento de unas sobre otras, así que esto debéis tomarlo como un escenario generalista, pero que debe ser estudiado en profundidad caso por caso.
Aparentemente los beneficios del uso del modelo en espiral son más destacados en un entorno donde:
Ventajas del modelo en Espiral
A groso modo, las ventajas que se pueden observar en el uso de un modelo de desarrollo en espiral, son las siguientes:
Desventajas del modelo en Espiral
En la parte negativa, podemos decir que el modelo en Espiral nos presenta los siguientes retos a los que tendremos que hacer frente si nos decimos a emplear esta aproximación en nuestros proyectos:
Conclusión
El modelo en Espiral no cabe duda que cabe dentro de las metodologías o modelos ágiles, con lo que es otra posible aproximación cuando estamos pensando agilizar nuestra organización o nuestros proyectos.
Es un sistema que viene usándose desde hace muchos años de manera satisfactoria en la entrega de proyectos, por lo que es un candidato sólido que debe ser tenido en cuenta.
Otras metodologías o sistemas iterativos como Scrum, que han crecido enormemente en popularidad en estos últimos años, han relegado al olvido a otros sistemas que pueden ser tan efectivos como estos, pero la moda manda.
Profundizaremos más en el método en espiral y en el futuro lo compararemos con Scrum, para ver en que difieren, si se pueden acoplar entre ellos y si es una alternativa viable al uso de nuestra metodología ágil favorita.
Julio Roche es Director del área de System Development&Integration, en la práctica de Consultoría Tecnológica de Deloitte. Profesional con más de 30 años de experiencia en el mundo del desarrollo de soluciones tecnológicas, su labor se encuentra actualmente focalizada en el terreno de la movilidad y la transformación digital, donde lidera el grupo de capacidades de Movilidad dentro de Consultoria. En este grupo se encuentran las capacidades de Desarrollos de Movilidad, Contact Centre Transformation, Asistentes Digitales y Realidad Digital. Es además un referente a nivel nacional dentro del mundo de la Agilidad, habiendo participado en procesos de Transformación Ágil de grandes compañías y organizaciones.