Это вопрос личного выбора и предпочтений клиента, кто то называет сумму заранее с запасом, беря на себя риски оценки, кто то разбивает на итерации и называет стоимость по частям.
Но важно понимать, клиент почти всегда приходит без четкого ТЗ, в таком случае его надо написать. Как вы собрались разрабатывать не зная, что именно вам нужно реализовать? Всегда стремитесь максимально подробно выявить требования клиента, до начала разработки, что бы в будущем издержки связанные с изменениями требований не легли на ваши плечи. Если клиент не знает, чего хочет, лучше предложите ему варианты, чем ожидайте, что к нему придет понимание в процессе.