Согласен с densilvio и aquarius.
Техническое задание, по своей сути это документ описывающий разработчику что и как должно работать в готовой системе. По правильному под ТЗ должен отводиться отдельный этап в разработке.
Это достаточно объемная работа, которая должна отдельно оплачиваться, как дизайн, интеграция или кодинг.
Ведь хорошее ТЗ учитывает спицифику бизнес процессов заказчика, описывает все необходимые и возможные варианты поведения системы, в нем должны быть прописаны пользовательские интерфейсы.
В идеале ТЗ вообще должно создаваться третьей компанией, причем так, чтобы заказчик обратился к выбранному разработчику и у того не возникло вопросов.
Ну а на практике студии пишут ТЗ сами для себя. И как следствие это не полноценный документ, а так…