Составлять ТЗ должен заказчик.
А вот это как? Заказчик очень редко знает, чего он в действительности хочет. У него есть смутные ощещения а написать ТЗ может только проджект-манагер по ТЗ составляется смета, и вот эта смета и выставляется заказчику. Причем чем детальнее ТЗ разбито тем большую цену можно заломить.