Я чувствую твою боль....
Плохая новость: в зависимости от того, с какими именно клиентами вы имеете дело, это может быть обычным делом.
Общая общая проблема заключается в том, что клиенты не знают, чего хотят . Как правило, они знают, чего хотят достичь, с точки зрения бизнес-цели, но они часто не представляют, как это должно выглядеть с точки зрения программного решения. Так что во многих случаях вы окажетесь в этом итеративном цикле, когда проект отскакивает назад и вперед в пять раз дольше, чем была первоначальная оценка, потому что клиент постоянно меняет свое мнение и хочет, чтобы решение было переделано и перестроено. И да, нет ничего необычного в том, что конечный результат превращается во что-то совершенно иное, чем первоначальная цель.
У меня был грандиозный пример этого, произошедший пару лет назад - проект, который первоначально занимал 10 недель, чтобы код превратился в 15-месячный повторный анализ. В этом случае это было главным образом потому, что разные менеджеры и отделы в компании-клиенте хотели разных вещей, поэтому они продолжали отправлять работу обратно, чтобы ее настраивали и перестраивали (наше программное обеспечение основано на подписке, и это был основной клиент, поэтому не было никакой финансовой шкуры от нашей спины - просто большое техническое раздражение действительно).
В общем, мой совет таков:
Если такова ваша конкретная отрасль и эти клиенты (это большой ЕСЛИ), то просто привыкните к этому. Думайте об этом как о Agile, ориентированной на обслуживание работе (таков мой нынешний концерт, более или менее). :)
Если это не так, как нужно, и вы обвиняете себя в длинных поворотах, то поговорите со своими боссами. Объясните им, что существуют проблемы со связью и что спецификации, которые вы получаете от клиентов, недостаточно ясны для реализации желаемого решения. Вы не хотите оказаться в ситуации, когда вас обвиняют в том, что вы не дали клиентам то, что они хотят, если вы не получаете всю необходимую информацию, чтобы дать им то, что они хотят.