Работодатели — как вы высчитываете сроки? И что делаете если не успели?
1. Опрашиваем сотрудников, на предмет времени, которое они затратят. Чем больше у человека опыта, и чем более понятное перед ним тех. задание, тем точнее будет оценка.
2. Далее прикидываем, какие задачи могут быть выполнены параллельно и вычитаем эти часы из общей суммы. 
3. Прикидываем когда сотрудники освободятся (обычно когда приходит новый заказ, в работе еще находятся парочка старых). Добавляем эти часы к сроку.
4. Накидываем сверху 20-30% времени, на непредвиденные обстоятельства.
5. Указываем в договоре пеню за день просрочки.
Всё, как то лучше защитится от несоблюдения сроков не выйдет. Разве что очень тщательно проверять своих людей и заранее отсеивать тех, кто постоянно не соблюдает сроки.
Ну а дальше на основе опыта делаем оценку исполнения.
Мы знаем, да и программист вполне знает сколько примерно времени займет.
Ну зависит от договора, что в нем написано то и дальше.