Если кто-то хочет установить крайний срок, тогда это нормально, и конечный срок может быть установлен, но он должен понимать, что если конечный срок установлен, то область действия должна оставаться гибкой.
ТЛ; др
В идеальном мире у нас не было бы сроков и просто доставить вещи, когда они будут готовы. Однако реальность такова, что люди, которые платят за вещи, обычно хотят знать, когда они закончат. Гибкие методологии действительно признают это, но также признают, что не все может быть связано.
Это гарантирует, что вы можете сохранить качество доставки на уровне, который подходит для продукта. Если вы определите сроки и объем (и бюджет), то все будет спешно, и вы окажетесь в старом мире водопадов с безумным временем затишья в конце проекта. Увеличение бюджета обычно не является ответом, потому что добавление большего количества разработчиков и тестировщиков не решает проблему быстрее. Это хорошо известное мнение (и я согласен с ним по опыту), что чем больше людей вы добавляете (каждый со своими недостатками), тем больше времени требуется.
Теперь, как правило (если они действительно не понимают Agile-методы), человеку, платящему за программное обеспечение, не нравится, когда ему говорят, мы можем уложиться в ваш срок, но мы не можем делать все, что вы захотите. Это может быть сделано путем приоритезации функций, составляющих программное обеспечение. Ваше обсуждение расстановки приоритетов может выглядеть так:
Команда разработчиков (D): «Пожалуйста, вы можете расставить приоритеты для тех функций, которые вы хотите предоставить, в первую очередь для наиболее важных?»
Заказчик (C): «Все является приоритетом 1 - я хочу, чтобы все они были выполнены к концу следующего месяца».
Д . : «Это может быть возможно, но это может быть невозможно, если требования изменятся или мы обнаружим проблемы, которые не ожидали в процессе разработки».
C: "Ну что, если я дам тебе больше денег?"
Д: « Вздох ... даже с большим количеством ресурсов им понадобится один месяц, чтобы начать работу; так что, если вы не уверены, как расставить приоритеты для функций, просто скажите нам, какие из них вы хотите сделать первыми».
C: "Хорошо, я хочу большую кнопку, но сделаю ее действительно большой, а потом ... и т. Д."
Теперь вы можете начать работу с функциями в приоритетном порядке. Кроме того, с вашей командой полезно смотреть вперед на те элементы, которые находятся ниже в порядке приоритетов, и делать некоторые предварительные оценки, зная, что вы можете изменить их, когда перейдете к разработке, когда у вас будет больше информации. Это может быть использовано для переопределения или создания вашей дорожной карты, если у вас ее еще нет. Это тогда формирует основу вашего плана выпуска. Дорожная карта может быть обсуждена с клиентом, который признает, что область действия может измениться, но у вас есть заказ на доставку.
Одним из больших преимуществ Agile является то, что он признает, что все меняется по мере того, как вы проходите разработку, и вы приспосабливаетесь к ней. Вопреки более традиционным подходам, этот принцип в сочетании с регулярными результатами спринтов и постоянным общением с клиентом означает, что вы, естественно, вынуждены быть более прозрачными в отношении прогресса, и это хорошо.
Иногда клиенту не нравится, что он не получит то, что хочет, к определенной дате, НО он поймет, почему и что он получит, будет хорошего качества. И через 6 месяцев после того, как функции будут доставлены, клиент не будет беспокоиться или помнить, что вы доставили его к определенной дате, он будет помнить качество продукта, который он все еще использует.