Здесь есть неправильное представление: Agile не поощряет изменения требований проекта. Вместо этого он допускает изменения, не теряя работы и не жертвуя важными областями развития.
Есть четыре фундаментальных ограничения для любого инженерного проекта; объем, стоимость, время и качество. Водопад предполагает, что они будут статичными. Это неверное предположение; один или несколько из них ВСЕГДА меняются. Ползучесть области, урезанные бюджеты и другие «неизвестные неизвестные» ВСЕГДА вмешиваются в проект, изменяя ограничения. Водопад не предвидит этого, поэтому, когда это происходит, проект меняется нежелательным образом; важные функции, которые еще не были добавлены, исчезают, или выполняются быстро, или нужно отодвигать релиз, или стоить надувные шары, поскольку премьер-министр подбрасывает деньги новым разработчикам, чтобы они помогли все сделать правильно.
Agile, напротив, позволяет ограничениям изменяться и фактически ожидает этого. Он делает это, выполняя работу небольшими, полезными кусками, в соответствии с приоритетами владельца, и, таким образом, куски в идеале сразу же полезны для владельца проекта. Таким образом, уменьшается воздействие неизвестного, не составляя больших планов в сроки, когда неизвестные велики. Если временная шкала меняется, команды могут быть добавлены, или менее важные функции «исключены», и система, которую команда уже построила, остается неизменной.
Это также обеспечивает более точную оценку времени и затрат, необходимых для производства данного объема с требуемым качеством. Люди, как известно, плохо оценивают большую работу; для того, чтобы сделать это правильно, требуется МНОГО опыта и МНОГО предварительных расчетов. В отличие от этого, люди, как правило, хорошо судят о том, что они могут сделать за день, неделю или две. Это быстро дает устойчивое состояние, в котором вы можете с достаточной точностью экстраполировать время и затраты на работу, оставшуюся для выполнения, исходя из вашего исторического темпа.
Что касается определения конечных точек, вы правы; Agile проект МОЖЕТ продолжаться вечно. Однако, то же самое можно сказать и о традиционном SLDC; клиент часто возвращается с большим количеством денег и списком пожеланий обновлений. Разница в том, что нет четкой границы между «анализом», «дизайном», «разработкой» и «обслуживанием» при рассмотрении проекта в целом; все это происходит по кирпичику, спринт за спринтом. Если в какой-то момент владелец хочет назвать проект «выполнено», он может, и у него будет общая сумма «кирпичей», за которые он заплатил, в сплошной «стене»; он может быть не таким высоким или простираться так далеко, как планировалось изначально, но он прочно закреплен, выполняет свою работу и может быть добавлен позднее с минимальным сносом.