Здравствуйте, Careeristka!
Не больничный, не отпуска, отговорки вроде "закопался в решении", "думал сделать так, чтобы при доработке не надо было все переделывать", работаю над очень крутым решением, поэтому долго".
А как у Вас происходит контроль сроков? В какой момент времени менеджер проекта узнаёт, что разработчик не успевает справиться с задачей?
У нас это происходит так:
1. Перед началом production'а фичи разработчик прорабатывает технический дизайн фичи, который оформляется документально.
2. Разработанный дизайн ревьюится ведущим программистом, который вносит свои замечания, а разработчик - на основе этих замечаний - вносит изменения. После чего дизайн считается принятым.
3. Параллельно разработчик разбивает фичу на подзадачи, каждая из которых не может быть меньше 4-х и больше 24-х часов.
4. Эти задачи и их оценка также ревьюятся ведущим программистом, после чего вносятся изменения в задачи и их оценку, и далее - принимаются.
5. Затем задачи вносятся в систему контроля задач, и разработчик приступает к их выполнению.
6. Приступая к работе над задачей, разработчик ставит её в статус In Progress.
7. В конце каждого дня он обязан проапдейтить эстимейт по задаче. В ситуации, когда всё нормально, часы уменьшаются с запланированной скоростью.
8. Если задача пробуксовывает, то это сразу же становится видно менеджеру проекта, т.к. он собирает статистику каждый вечер после того, как все разработчики проапдейтят информацию по текущим задачам.
9. Далее менеджер пытается выяснить, в чём заключается причина пробуксовки. Если она носит организационный характер, то менеджер обязан помочь в её решении. Если причина - неучтённый технический риск, то он заносится в регистр рисков, и далее мониторится. Кроме того, происходит переоценка сроков. Если причина носит какой-то технический характер (например, разработчик не сталкивался с подобного рода задачами, и не знает, как её решить), то подключается ведущий программист, который помогает разработчику.