Modelos

Waterfall

Classic sequential / waterfall model (software development)

¿Qué es?

El proceso secuencial o en cascada (waterfall, en inglés) describe las etapas que se han de llevar a cabo y las tareas que realizar de manera secuencial, una tras la otra. Toma su nombre del hecho de que considera que el progreso fluye constantemente hacia abajo, como en una cascada.

El proceso en cascada tiene su origen en empresas industriales, principalmente manufactureras, donde la optimización de la producción en serie es importante. Se trata de un proceso que a lo largo del tiempo ha sido muy utilizado en el desarrollo de software a pesar de los problemas que presenta, tanto para corregir errores como para adecuar el producto a los usuarios.

Modelo

Este es, quizá, el proceso más simple, puesto que se define un conjunto de actividades que llevar a cabo de manera secuencial donde el resultado de cada etapa constituye la entrada de la etapa siguiente.

No hay una metodología o modelo de proceso fijado para el proceso en cascada, pero normalmente incluye estas fases:

  • Requisitos (análisis y especificación de requisitos).
  • Diseño (diseño del sistema, diseño del programa).
  • Implementación (codificación).
  • Pruebas (evaluación verificación, testado).
  • Implantación (instalación y lanzamiento).
  • Mantenimiento y soporte.

Diagrama

Ventajas

El esquema de trabajo de un proceso en cascada puede resultar útil en proyectos con problemas pequeños y bien definidos y en un contexto no muy cambiante y que hace uso de tecnologías asentadas o estables. Parte de la asunción de que los requisitos son claros y completos, y validables en cada etapa, por lo que permite optimizar el trabajo que se debe realizar. Así, su objetivo es tener todo lo que hace falta antes de pasar a la siguiente etapa.

El enfoque fuertemente estructurado del modelo de proceso en cascada avanza de manera lineal a través de fases que son fácilmente comprensibles y explicables, y por lo tanto, es fácil de entender y de compartir en un equipo de trabajo.

Inconvenientes

El proceso secuencial presenta muchos inconvenientes. Por un lado, el hecho de establecer al inicio del proyecto los requisitos de usuario hace que este esté alejado del producto durante todo su proceso de diseño y desarrollo. Muchos problemas surgen porque no se establecieron adecuadamente las necesidades de los usuarios al inicio del proyecto y no ha habido más oportunidades para corregirlo a lo largo del proyecto.

Siguiendo un esquema secuencial, se hace difícil corregir errores u olvidos en las etapas avanzadas del proceso.

En definitiva, se trata de un proceso que no permite aprender de los errores, puesto que su esquema de trabajo no facilita realizar cambios.

Referencias

Waterfall model: https://en.wikipedia.org/wiki/Waterfall_model