¿El método de la cascada es el problema?
Uno de los métodos más utilizados en la gestión de proyectos de software, the waterfall method, es bien conocido por los profesionales del sector. Seguro que habréis oído la frase: “Cuando esté completamente definido lo que hay que hacer, comenzaré a trabajar en ello”. Esta es la sentencia que más se escucha, sobre todo, cuando se pregunta por los plazos de entrega, lo que es totalmente lógico, nadie se puede comprometer a entregar nada en una fecha si no sabe exactamente lo que tiene que hacer.
Aunque es un método muy popular, se cuestiona su uso por defecto en todos los proyectos de software. Su utilización se recomienda cuando los requisitos que ha de cumplir el producto son inmutables, están perfectamente especificados y son comprendidos por todo el equipo, en pocas palabras, en proyectos simples y de poca duración.
¿Cuáles son los mayores problemas que nos puede ocasionar el uso de este método en proyectos complejos? La siguiente imagen lo ejemplifica a la perfección:

Imagen cedida por @germanfrassa
El problema no está en el método sino en el hecho de que cada proyecto tiene sus particularidades y son éstas las que deben llevar a la elección del método y no al revés. No se trata de elegir el mejor método posible y aplicarlo siempre en todos nuestros proyectos sino de saber elegir cuál nos interesa más en cada proyecto.
Buscando vídeos ilustrativos sobre los diferentes métodos encontré éste sobre el modelo de la cascada, es un poco largo pero ¡merece la pena!
¿Qué metodología soléis utilizar? ¿Y en base a qué criterios?