Нам давали задание с указанием, например, какая кнопка где должна располагаться и что должна делать, но официально мы не знали что должна делать сама форма. А та информация, которая была неофициальной, была и неточной (и неполной). Мы всё делали. После этого, нашу работу смотрели, и приходили к выводу, что там как-то мало всего и чего-нибудь ещё докидывали. Дело не в фичевании: просто те, кто давал задание, не всё до конца понимали. Докидывание производилось беспорядочно и в разное время (не обязательно мысль о том, что сделанного недостаточно, приходила сразу). Но поскольку мы не знали общий фронт работы, то места для последующих вставок не могли предугадать: наш код шёл одним потоком. И, по-хорошему, после каждого нового серьёзного добавления требовалось бы переписать всё заново. Но, понятное дело, нам на это времени не давалось. И мы делали сумасшедшие вставки, которые отладить толком нельзя было. Баги, в основном, нам присылали пользователи, поскольку об адекватном тестировании нельзя было и говорить: проверять должен тестировщик ручками, комбинаций огромное количество (навскидку - больше ста) , интерфейс отзывается не сразу (поэтому акт тестирования очень утомлял и мог сильно снижать качество тестирования). А виноватыми почему-то всегда оказывались мы.