Как меня учили во времена оны, для составления грамотного техзадания на ПО разработчик должен сесть рядом с пользователем и день-другой посмотреть, как всё происходит на самом деле (а не в голове заказчика). После этого разработчик выставляет свои предложения и, совместно с заказчиком и пользователями, доводит их до грамотного техзадания.
Если Вы не знаете, как работают пользователи, то ничего путного предложить им не сможете.