Работать исключительно по Waterfall мы не могли. Что-то всегда идет не так, как задумано, и это нужно учитывать при разработке ПО. Вначале сложно учесть все, и это правда для любого проекта.
С другой стороны, иметь общую структуру и план разрабатываемого решения в качестве артефактов на старте лучше, чем двигаться в условиях неопределенности. Так мы можем видеть функциональность целиком и сразу планировать построение контента внутри системы. Это полезно даже с условием возможных изменений по ходу разработки.
Классический Waterfall не предполагает участия клиента в разработке после выдачи ТЗ. Взять скоуп задач и уйти на условные полгода, чтобы в итоге выдать готовое решение, мы не можем. По ходу работы нужно презентовать реализуемую функциональность клиенту хотя бы для того, чтобы сверяться с его ожиданиями.
Wagile? Вы серьезно?