Pull to refresh
0
Rating

Реальная оценка или почему наступают дедлайны?

«ООО «Рус Визардс»» corporate blog Website development *Programming *
Translation
Original author: Anders Abel
image

Как опытный менеджер проектов, я часто сталкивался с заявленными программистами сроками выполнения задачи, умножал их на Пи и брал следующий по счету порядок. Так 1 день превращался в 3.14 недель. Я познал на собственной шкуре, что программисты — никудышные оценщики.

Для пущей точности я сделал таблицу, которая помогает перевести программистские оценки в приближенные к реальности.

Оценка
Рассуждения программиста Что забыл программист Действительная оценка
30 секунд Там нужно поправить совсем немножечко кода, я знаю где это и что нужно сделать Время на включение компьютера, загрузку среды, открытие нужного проекта, тесты, проекты, билды, документацию... 1 час
5 минут Это небольшая проблемка, сейчас я погуглю и быстренько всё исправлю Крайне редко удается найти то что нужно с первого раза, но даже если оно нашлось, то его нужно еще и допилить напильником, как минимум. Добавьте сюда билды, тесты, проекты… ну как положено. 2 часа
1 час Я знаю как это сделать, просто нужно сесть и написать, это займет немного времени. Одного часа не хватит, чтобы справиться с «вдруг откуда не возьмись» появившимися проблемами, а они, к сожалению, всегда появляются 2 часа
4 часа Нужно немного покодить, я примерно себе представляю что делать, нужно заюзать модуль Wizzabanga, или… не помню точно… ну из нашего фрэймворка, я только доки почитаю.
Это, возможно, одна из самых точных оценок. Скорее всего задача мала, а на непредвиденные трудности всё же заложено немного времени.
4 часа
8 часов Сначала мне будет нужно рефакторить класс Balunga, потом я заюзаю Wizzabanga и в конце добавлю пару полей на гуи.
В системе множество зависимостей от класса Balunga, рефакторинг затронет около 40 файлов. Те поля, что появились на GUI должны быть отражены в базе и админке. Программист упустил много шагов при оценке.
12-16 часов
2 дня Тут придется потрудиться, я создам табличку в базе, а потом добавлю логику работы с ней.
Конечно же найдутся мелочи, да и не только мелочи, которые не были учтены программистом. Скорее всего всплывут большие куски необходимого для реализации функционала, и сто процентов — программист это не учел.
5 дней
1 неделя Ох… это просто ОГРОМНЫЙ таск!
Я такого никогда не делал, но я не говорю, что я не справлюсь. Думаю недели будет достаточно, но, к сожалению, я не могу дать более точную оценку.
Задача слишком велика, чтобы быть полностью понятой большинству программистов. Она должна быть отправлена обратно архитектору, чтобы он разбил её на подзадачи и дал правильные наставления в реализации. На архитектора возлагается важная участь, он должен упростить таск и дать программистам несколько маленьких и понятных заданий.
2-20 дней


Оценивать — сложно.

Каждый программист делает оценку отчасти правильной, но практически всегда забывает о накладных расходах (отладка, тесты т.п.). Превышение сроков означает то, что задача слишком велика и её нужно было разбивать на подзадачи.

Для джуниоров «правильная часть» оценки может просто не существовать. Они будут давать оценку практически наугад, потому что очень многие вещи, в свете отсутствия опыта, кажутся нетривиальными. Опытные разработчики должны давать точные оценки в диапазоне от 0.5 до 24 часов. То, что не укладывается в 24 часа следует разбивать на части. Это должно происходить в голове разработчика, а потом эти части должны складываться.

Важно понимать, что опыт программирования и оценческий опыт — это разные вещи. Хороший программист, который ни разу ничего не оценивал — не даст качественную оценку с первого раза. Нужно так же понимать, что не сравнивая реальное затраченное время с первоначальной оценкой, вы ничему не научитесь.

В итоге, каждый программист должен использовать свой опыт для дачи оценки. Чтобы достичь хорошего уровня просто оценивайте каждое, даже небольшое задание, которое вы делаете. После того как задание выполнено, просто сравните время выполнения с той оценкой, которую вы сделали. Это должно развить в вас две вещи: учёт и понимание всех мелочей задачи и точность оценки.
Tags: estimationоценкиошибки
Hubs: «ООО «Рус Визардс»» corporate blog Website development Programming
Total votes 138: ↑127 and ↓11 +116
Comments 108
Comments Comments 108

Information

Founded
Location
Россия
Website
ruswizards.com
Employees
51–100 employees
Registered