Неправильная оценка задачи

Наверное каждый из нас задавался вопросом "почему человек делает неправильную оценку задачи", и конечно нужно разобраться, как нам правильно давать оценку. 

Чарльз Портман, руководитель Северного отделения системного программирования фирмы ICL в Манчестере, обнаружил, что его коллективы программистов не укладывались в график почти наполовину - каждая задача занимала в два раза больше времени, чем ей отводилось по плану, несмотря на то, что оценки были очень тщательны (их делали опытные люди, которые определили затраты в человеко-часах для нескольких сотен подзадач с помощью схем PERT). Когда выявилось отставание от графика, Портман попросил своих сотрудников вести подробные ежедневные записи расхода времени. Эти записи показали, что ошибочная оценка полностью объясняется тем фактом, что коллективы тратили только 50% рабочего времени собственно на программирование и отладку. Остальное время уходило на побочные, но срочные дела, совещания, на работу с бумагами, общественные дела, болезни, личные нужды, а также терялось из-за простоев машины. В неопубликованном исследовании 1964 года, которое провел E. F. Bardain, показано, что программисты продуктивно используют 27% рабочего времени. (Процитировано в: Mayer D. B., Stalnaker A. W. Selection and evaluation of computer personnel // Proc. 23d ACM Conf., 1968. P. 66.).

Итог, люди просто забывают/не учитывают ряд задач. Чтобы понять является ли данное исследование верным, я составил список дел из которых у меня состоит день.

Деятельность разработчика

ПунктНаименованиеМоя средняя оценка (итого 8 часов)%
1Изучение бизнес-логики45 минут 
2Изучение текущего кода бизнес-логики45 минут 
3Изучение новых технологий и библиотек (иногда)  
4Разработка нового кода1 час: 50% от того, что я обычно называю программированием 
5Рефакторинг (иногда, в следствии переписывания старого кода)30 минут: 25% от того, что я обычно называю программированием 
6Тестирование30 минут: 25% от того, что я обычно называю программированием 
7Документирование (иногда, например: wiki)  
8Коммуникации внутри команды1 час 
9Ревью2 часа 
10Логирование времени15 минут 
11Срочные багфиксы (иногда)  
12Участие в совещаниях (иногда)30 минут 
13Решение инфраструктурных проблем (иногда, например сетевые проблемы, установка обновлений ПО, внеплановые перезагрузки ПО)30 минут 
14Деплой (некоторые из нас)  
15Чтение почты и ответы на письма15 минут 

Деятельность тимлида

ПунктНаименованиеМоя средняя оценка (итого 8 часов)%
1Изучение бизнес-логики новых задач1 час 
2Изучение текущей бизнес-логики чтобы правильно выполнить новые задачи1 час 
3Изучение новых технологий и библиотек (иногда)  
4Пишу код1 час 
7Документирование (иногда, например: wiki)30 минут 
8Консультирование др. разработчиков1 час 30 минут 
9Ревью2 часа 
10Отслеживание деятельности команды (кто что делает, просмотр списанного времени)30 минут 
11Срочные багфиксы (иногда)  
12Коммуникации внутри компании (иногда, например совещания)  
13Решение инфраструктурных проблем (иногда, например сетевые проблемы, установка обновлений ПО, внеплановые перезагрузки ПО)  
14Деплой30 минут 

Ребята, есть что добавить? Интересно, сколько времени в среднем в день, вы тратите по каждому из пунктов?


23.08.2018 09:18

Комментарии

Комментариев пока нет.


Copyrights © 2007 - 2026 YaPro.Ru