Hoy en día, Waterfall no se utiliza con tanta frecuencia, pero sin ella, nadie hubiera inventado Agile. Te lo contamos para los gestores de proyectos y aquellos que quieran serlo.

¿Qué es Waterfall?

Waterfall es el modelo «Cascada» (en inglés, waterfall model), desarrollo de productos en cascada o lineal. Al igual que un flujo de agua, dirige a los equipos a resolver las tareas de forma secuencial y estrictamente según el plan inicial. El nombre apareció en 1970 en un artículo de Winston Walker Royce, director de Lockheed Software Technology Center, y la estructura se tomó del diagrama de Gantt.

Principios del modelo de desarrollo en cascada

  • Los documentos e instrucciones son importantes, todo debe registrarse.
  • La siguiente etapa de trabajo no comienza hasta que no haya terminado la anterior.
  • No se pueden omitir etapas.
  • Si los requisitos del producto cambian después del acuerdo, se vuelve a redactar el pliego de condiciones.
  • No se puede volver a la etapa anterior para cambiar algo.
  • No hay iteraciones, hay un proceso general de creación del producto.
  • Identificar y corregir errores solo en la etapa de prueba.
  • El cliente no participa en la creación del producto después de establecer el pliego de condiciones.

Cómo Funciona Waterfall

El desarrollo utilizando el modelo en cascada se realiza en cinco etapas estrictamente secuenciales.

Modelo de ciclo de vida del software en cascada
Modelo de ciclo de vida del software en cascada
  1. Análisis

El equipo recopila los requisitos para el producto futuro. Luego, redacta un pliego de condiciones técnico detallado, planifica el cronograma de trabajo y los posibles riesgos. Pasa a la siguiente etapa solo cuando todos los requisitos estén escritos y haya un plan. Y en el plan, instrucciones sobre qué hacer y cuándo.

  1. Diseño

El equipo crea un prototipo y prepara maquetas de diseño. Cuando estén listas, se conectan los desarrolladores.

  1. Desarrollo

En esta etapa, se escribe el código del producto de acuerdo con el plan, las maquetas y los requisitos. Ni un paso al costado, todo estrictamente según las especificaciones técnicas.

  1. Pruebas

El código está listo, comienzan las pruebas. Aquí pueden surgir problemas. Por ejemplo, el equipo descubre errores graves en el código y dedica mucho tiempo a corregirlos. Esta es la principal desventaja del modelo de desarrollo en cascada.

  1. Operación y soporte

El proyecto se entrega al cliente y se monitorea durante un tiempo predeterminado para que todo funcione.

Cómo Distinguir Waterfall de las Metodologías Ágiles

La metodología clásica Waterfall es trabajar según un pliego de condiciones escrito y acordado de antemano. La flexibilidad no es bienvenida aquí. Esta es la principal diferencia entre el modelo en cascada y Agile.

Ciclo de vida del producto en Agile y Waterfall
Ciclo de vida del producto en Agile y Waterfall

Waterfall se diferencia de Agile en los principios de trabajo, de los que hablamos anteriormente.

12 principios de Agile

  1. Lo principal es un buen producto y un cliente satisfecho.
  2. Disponibilidad para cambios en cualquier momento.
  3. Mostrar la parte completamente funcional del producto con la mayor frecuencia posible.
  4. Reuniones constantes del equipo y el cliente para intercambiar información.
  5. El cliente y los desarrolladores deben trabajar juntos como un solo equipo.
  6. Es importante confiar en las personas en lo que hacen.
  7. Tener un producto funcional es progreso.
  8. Los procesos flexibles son un desarrollo continuo.
  9. La atención a la calidad contribuye a la flexibilidad.
  10. La simplicidad del proceso de desarrollo elimina el trabajo innecesario.
  11. Un equipo autoorganizado trabaja mejor.
  12. Búsqueda constante de mayor eficiencia.
Comparación de valores de Agile y Waterfall
Comparación de valores de Agile y Waterfall

Estos principios surgieron del manifiesto ágil.

Manifiesto para el desarrollo ágil de software

  • Las personas son más importantes que las herramientas.
  • La calidad del producto es más importante que la documentación.
  • La interacción con el cliente es más importante que el contrato.
  • La disposición al cambio es más importante que el plan establecido.

Si también se hubiera escrito un manifiesto para Waterfall, se vería así:

Manifiesto del modelo de desarrollo de software en cascada

  • Sigue las reglas.
  • Sin especificaciones técnicas, no hay producto.
  • Cuanto más detalladas sean las especificaciones técnicas, mejor será el producto.
  • Asegúrate de que no haya cambios.

En qué se Diferencia Waterfall de Scrum

El marco Scrum es parte de Agile, por lo que también se diferencia del modelo de desarrollo en cascada. En esta tabla, hemos recopilado sus principales diferencias.

Waterfall
el modelo en cascada
Scrum
el modelo iterativo
Todos los requisitos se conocen al principio y no cambianLos requisitos pueden variar a lo largo del proyecto
Extenso y detallado c.c.Backlog
Pruebas al finalPruebas después de cada iteración
InflexibleFlexible
El producto terminado al finalParte del producto funcional después de la primera iteración
El cliente no ve el resultado intermedioEl cliente ve y puede influir en el resultado intermedio

Cuándo Utilizar el Modelo Waterfall

Los inconvenientes mencionados no impiden aplicar con éxito la metodología de desarrollo «Cascada» si:

  • El cliente sabe y entiende claramente lo que quiere conseguir. Si ha pensado de antemano el concepto, sabe cómo debe ser el resultado y no tiene previsto realizar cambios.
  • Al cliente le conviene que el contratista gestione todo el proyecto. El cliente no tiene intención de participar en el desarrollo, controlar y proporcionar comentarios a los ejecutores, sino que quiere ver el resultado de inmediato.
  • El cliente ha determinado de antemano los plazos y sabe qué resultado habrá en cada fase del desarrollo.
  • El equipo sabe de antemano qué herramientas y enfoques utilizarán sus miembros, y dispone de soluciones estándar sobre las que trabajarán en el producto.

Además, el modelo en cascada será una buena opción si el equipo trabaja en un producto especialmente complejo, cuyo proceso de creación requiere una secuencia clara y grandes presupuestos.

Si se necesita flexibilidad para realizar cambios en el producto, una interacción constante con el cliente y la posibilidad de ver el progreso en cada fase del desarrollo, es preferible utilizar la metodología Agile.

Conclusión

Waterfall es una metodología en la que todo está pensado y registrado desde el principio, y esto tiene sus ventajas. Hay proyectos para los que es adecuada, como aquellos en los que todos los requisitos se conocen de antemano y no pueden cambiar durante el trabajo y donde no hay riesgo de error.

En el entorno digital, esto ocurre con poca frecuencia, por lo que los equipos añaden prácticas flexibles al modelo en cascada: por ejemplo, verifican que el producto cumpla con los requisitos después de cada etapa de trabajo, no al final.

Categorizado en:

Fundamentos,