Это уже из области software engineering, разные агильные и не агильные методы. Возмем на примеру Scrum'a или XP с их стори картами, planning poker. Пример:
- Есть крупная задача. Разбиваете на стори карты, к примеру юзер вводит свои данные и нажимает на кнопку регистрация, что в дальнейшем так же разбивается на таски, какие тут видно? Юзер вводит свои данные? Какие данные? - Имя фамилию адресс телефон. Нажимая на кнопку что происходит? Данные берутся или записываются в дб, из этого пункта можно сделать еще такс как "подлючение к базе данных". И конце концов когда эти кусочки колбасы наимельчайше порезаны на маленькие части. Идет распределение времени для каждого из них (кстати могут и сразу определять время для всей юзер стори). Определяют как Story Points, где 1 = полный раб. день(тоже может вариироваться). И вот сидит команда и распределяет время для этих задач, к примеру я говорю, что для подключения дб(сейчас очень абстрактно!!) надо 0.5CP, Вася говорит 1CP, а Петя говорит 0.1CP в итоге получается, что 3 человека из команды не сходятся во мнении. Тогда каждый из них начинает рассказывать всем свою точку зрения, почему он так считает, почему именно 0.5 или 1 или 0.1 все выслушивают - и голосуют еще раз на базе того, что они услышали, до тех пор пока время не совпадет или хотябы приблизительно.
После чего каждая юзер стори имеет свой общий вес времени. Все они складываются. И вот пожалуста, прошел анализ времени(в скраме он правда делается для 2-4 недель(1 спринта)). Но на практике многие ошибаются в расчетах поэтому и делают каждый раз по месяцу, тем самым увеличивая точность этих предсказаний.
А все и сразу посчитать очень трудно и не точно будет. Если заказчик адекватный, а по идее он должен быть адекватным раз речь идет о большом проекте, то обьясните ему на более понятных ему примерах(на пальцах), что так дела не делаются, а если и делаются, то вас "нае**а*т".