Desarrollo en espiral

Artículo

¿Qué es el desarrollo en Espiral?

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:

Imagen desarrollo en Espiral

Ilustración 1. Modelo en Espiral. Fuente Wikipedia

Os ofrecemos aquí, una explicación más detallada de qué actividades se abordan en cada una de las fases 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:

  • El proyecto es grande.
  • Se quiere que las liberaciones de software sean frecuentes.
  • Aplica la creación de un prototipo.
  • Es primordial un control de riesgos y costos.
  • En proyectos catalogados de riesgo medio-alto y alto.
  • Los requisitos son poco claros y complejos.
  • Hay un alto grado de cambios y estos pueden aparecer en cualquier momento.
  • El compromiso de proyecto a largo plazo está comprometido, bien sea por razones económicas u otras.

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:

  • La funcionalidad adicional o los cambios se pueden hacer en una etapa posterior.
  • La estimación del coste se hace fácil, ya que la construcción del prototipo se hace en pequeños fragmentos.
  • El desarrollo continuo o repetido ayuda en la gestión de riesgos.
  • El desarrollo es rápido y las características se añaden de forma sistemática.
  • Siempre hay espacio para atender los comentarios de los clientes.

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:

  • Riesgo de no cumplir con la planificación o el presupuesto.
  • Funciona mejor para proyectos grandes, aunque en estos también requiera de una estricta evaluación de riesgos.
  • Para su buen funcionamiento, el protocolo del modelo en espiral debe ser seguido estrictamente.
  • Se genera más documentación al tener fases intermedias.
  • No es aconsejable para proyectos pequeños, la ratio coste beneficio no es rentable.

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.

Conoce a nuestro experto

Julio Roche

Julio Roche es Specialist Director del área de System Development&Integration, en la práctica de DxD de Deloitte. Profesional con más de 25 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, lo que le ha llevado a estar involucrado en procesos de implantación de metodologías ágiles desempeñando todos los roles que estas enumeran. Ha sido Agile Coach&Trainer, Scrum Master, Product Owner y parte del Development Team.