Как вы считаете время необходимое программисту для решения задачи?
Вобще есть формулы по расчетам сроков, но насколько они эффективны - большой вопрос. Если интересно - погугли на тему "Широкополосный дельфийский метод", "PERT"
У нас обычно практикуется 2 метода: разработчик указывает колличество часов, за сколько он сделает доработку - например от 4 до 8, руководитель пишет менеджеру 6-10.
Еще один метод - менеджер сказал - мы это сделаем за 3 дня, может сделать разработчик это или нет - его трудности. Обычно успеваем, но после этого код становится грязным, сопровождать потом не очень хорошо, программисты крайне недовольны работой руководства и менеджеров. 
Если для реализации необходимо изучение новых технологий, библиотек - это уже не указание сроков, а так, гадание. От месяца до трех, например. 
От того, кто указал срок, зависит и понятие готовности задачи. Если срок указал программист - это разработка + внутреннее тестирование, если менеджер - срок запуска доработки.
Оценку по времени должен давать тот, кто эту задачу будет делать. 
Причем на момент оценки он должен более-менее представлять, как он будет делать эту задачу.
В противном случае это не оценка, а гадание на кофейной гуще.