На самом деле часто, очень часто, исполнителю достается такое ТЗ, что лучше его бы и правда не было. Типичные ошибки:
1 ТЗ содержит противоречивые требования, либо требования которые ведут к неявному противоречию.
2 ТЗ требует конкретные способы и/или технологии реализации логики, не совместимые, или плохо совместимые с логикой.
Обычно эти пункты присутствуют вместе и взаимно дополняют и обогащают друг-друга. Вот последний пример, правда в нем только пункт два:
Клиент захотел систему поддержки пользователей. Система должна принимать жалобы от пользователей на сайте, далее передавать их в 1С и со стороны 1С с ними должны работать менеджеры. В платформе на которой сделан сайт, есть уже модуль технической поддержки, хоть и примитивненнький, но от него много-то и не надо - форму для приема заявок и бэкенд для учета заявок в БД. Однако клиенту этого показалось мало и он нашел модуль стороннего разработчика который добавлял инструменты работы менеджера с жалобами на сайте без доступа в админку, чат с клиентом, отчеты по жалобам. Этот модуль согласовали в длинной череде инстанций, включили в ТЗ и выкатили нам.
Наша задача свелась к написанию обмена данных с 1С и выпиливанию инструментов менеджера, чата и отчетов т.е. ВСЕГО функционала модуля, кроме формы заявки, которая уже была реализована штатным функционалом, а здесь только повторялась и работала чуть хуже. Ну еще у этого модуля был свой бэкенд, поэтому пришлось писать обмен по недокументированному бэкенду.
Я потом составлял отчет и прикинул в процессе, что в целом клиент переплатил примерно в 6 раз, за то, чтобы задача была реализована так как он хочет, а не так как надо было.
И такое ТЗ даже не каждое второе. И вот он нахрен не надо.