Оценка времени «на проект»
Спустя 15 лет проектирования и программирования, я все еще ошибаюсь при оценке времени на производство, иногда в 4 раза. Это означает, что если я поклялся реализовать задачу за неделю, иногда случается так, что на нее уйдет целый месяц.
Потому даже если очень-очень постараться, и даже если откинуть любые намеки на оптимизм в оценке, и даже если заказчик – я сам, лажи избежать практически невозможно.
Но есть пара хитростей, нажитых эмпирическим путем.
Первое. Существующий опыт должен взять верх над любыми другими суждениями. Если задача подобного типа уже решалась и заняла в итоге месяц, а сейчас кажется, что недельки-две хватит, ведь опыта-то теперь побольше – смело пишем "месяц" и не сомневаемся.
Второе. Добавляем поверх 50% на коммуникацию с заказчиком. И еще 50% на непредвиденные подводные камни, которые обязательно обнаружатся по ходу дела. И еще 50% на внедрение.
Итог: для себя записываем 1 месяц, для заказчика озвучиваем 2.5 месяцев.
Результат: ожидания заказчика совпадают с реальностью, а если получилось быстрей – он будет только рад. Бонус: отваливаются заказчики, которым кажется, что задачу на месяц можно сварганить за день-два.
Посмотреть на статистику по тысячам проектов в разных индустриях можно в книге Facts and Fallacies of Software Engineering (Robert L. Glass).