Вариант 1: опросить 10 опытных разработчиков и взять среднее (или не среднее, а, например, то время в которое с 95% вероятностью уложитесь).
Вариант 2: найти задачу-аналог и прировнять к ней. Возможно, умножив на некий коэффициент, если это уместно. Например, если вы делали ПО для производства бетона месяц, то можно ожидать, что для другого бетонного завода сделаете тоже примерно за месяц. Но если в другом заводе технологических операций в 2 раза больше, то, вероятно понадобится 1,5-2 месяца.
Вариант 3. Разделяй не более понятные подзадачи. Тяжело оценить, сколько займёт весь проект. Но оценить его составляющие бывает не так трудно. Главное ещё понять, какие из них делаются только последовательно, а какие можно делать параллельно.
Вариант 4. Опыт рулит. Опытный управленец после первого знакомства с проектом и заказчиком может сказать "да мы тут только ТЗ месяц согласовывать будем, потом месяц делать, потом месяц переделывать под его хотелки, которые он забудет указать".