Согласен. Могу только добавить что гибкость в бюджетирование все-же нужна. Поэтому, кстати, многие аутсорсеры выехали. На Ramp-up и ramp-down
Гибкость сама по себе не есть самоцель. Это средство управления неопределенностью. Грубо говоря, гибкость означает асимптотический характер роста изменения кода. При таком характере роста можно позволить себе отложить принятие решения без существенного возрастания стоимости его реализации. А это позволяет вести разработку итеративно, и обрабатывать неопределенность опираясь на практический фидбэк от предыдущих итераций.
Целесообразность итеративной разработки определяется балансом между стоимостью BDUF в условиях неопределенности, и стоимостью адаптации кода. В некоторых проектах гибкость не нужна ввиду низкого уровня неопределенности, а значит, низкой стоимости BDUF.