Насчет составления ТЗ - все таки вопрос спорный. Иногда проще и быстрее создать проект чем его описывать. Основные пункты для подстраховки прописаны в договоре. Если клиент начинает "выделываться" показываю договор, где прописаны минимальные требования к CMS, дизайну и кроссбраузерности.