В IT часто исполнители работают как ФОП, т.е. заключают договор на предоставление услуг с работодателем. Конкретно договор с заказчиком строить полностью на времени разработки - не совсем корректно, так как заказчик (если это не outstaff) не может влиять на flow процесса.
Смета должна формироваться на ТЗ, а
не на предположительных человека часах. Во многих компаниях с flow на базе scrum не используется понятие "время", вместо это используют "абстрактных попугаев".
как учитывается время
Учет времени обычно происходит в bug трекере, но если вы будете рассчитывать зп разработчиков на основе этих данных - они (данные) будут теми, которые нужно, а не настоящими.
насколько глубоко расписываются времязатраты по каждому этапу
На отдельную итерацию согласовывается стек задач и оговариваются сроки и приоритеты. На основе проделанной работы формируется акт приема-сдачи работ с отчетом о проделанной работе.
выглядят смешно при такой сумме сделки или всё же имеет место быть?
Да без проблем, вычитывайте из своей зп))