Как оценивать время на задачи по разработке

За первый квартал мы улучшили КПД по оценке задач с 76 до 86%. Стремимся к 95%. В статье рассказываем, как закладываем время на задачи, — даже с которыми не сталкивались. Если нет времени читать, — в конце чек-лист для анализа задач.

Почему мы неправильно оцениваем задачи

Недостаточно опыта

Проблема джунов. Если не знаем, сколько времени закладывать и как решать задачу: 1) гуглим решение, 2) идем к тимлиду просить помощи. Но сначала гуглим.

Излишняя самоуверенность

Тоже часто у джунов. В этом случае рекомендуем:

  • Работать над осознанностью и адекватно оценивать свои силы и прошлый опыт.
  • Советоваться со старшими коллегами. Да, придется потеснить самолюбие.
  • Возложить на себя ответственность за действительно классный результат — сместить фокус на качество, а не на скорость.
  • Глубже погрузиться в задачу — возможно, катка не так уж и изи.

Заказчик меняет требования к задаче

Здесь важно фиксировать все изменения.

Например, изначально вы заложили 10 часов на задачу. В процессе требования менялись. Результат = 30 затраченных часов. Но никто не помнит, почему закладывали 10, а получилось 30.

Если все зафиксировать, то вопросов не возникнет. Или, как минимум, будет меньше.

Не учли подводные камни на проекте

Как это бывает: изучили задачу, какое-то время поработали над ней и понимаем — что-то не так все просто. В этом случае нужно сделать переоценку и аргументированно объяснить заказчику, почему процесс затягивается.

Важно: делать переоценку нужно в середине задачи, а не в конце. Иначе будет так: — Коллеги, ну что, вы проверили, корректно ли приходят данные из CRM-системы?— Извините, нужно еще время.

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

Мало времени на анализ

Этот пункт мы подробно разбираем ниже.

Как правильно оценивать задачи

1. Потратить достаточно времени на анализ

Анализ должен занимать 5—15% от общего времени на задачу. Например, если задача занимает 5 часов, на ее оценку нужно потратить не меньше 25 минут.

Не забываем учитывать время на самотестирование, отладку, релиз и возможные риски. Погрешность в оценке задачи должна быть не более 20%.

2. Максимально вникнуть в контекст задачи

Без этого невозможно правильно заложить время.

Если проект новый, обязательно прочитайте документацию — больше времени сэкономите в процессе. Заодно поищете подводные камни. Лучше узнать о них сейчас, чем потом.

Если ТЗ расплывчатое и непонятно, что надо делать, — идите к заказчику, старшему разработчику, тимлиду и задавайте вопросы, пока не поймете, что именно от вас нужно.

3. Декомпозировать

Если по предварительной оценке задача займет больше 10 часов, разбейте ее на подзадачи. Два условия:

  • Подзадача занимает не более 6 часов. Тут, как и в любом правиле, есть исключения, поэтому руководствуйтесь опытом и здравым смыслом.
  • У подзадачи есть финальный результат. Вспоминаем джедайские техники: «Формулировка задачи должна звучать как ответ на вопрос „что нужно сделать?“».

4. Описать, как будете решать задачу, учитывая возможные риски

Так сразу поймете, есть ли у вас решение. И проджекту полезно — сможет аргументировать клиенту, почему задача занимает 100 часов, а не 5, как он планировал.

Изображение

Как оценить задачу, с которой не сталкивался

  1. Поискать решение в интернете и внутренней базе знаний.
  2. Подключить старшего разработчика/тимлида или коллегу, у которого была такая задача.
  3. Проанализировать себя по «Светофору». Тут остановимся подробнее.

Метод «Светофор»

Авторская техника руководителя отдела разработки Ивана Шишкина. В том числе помогла повысить КПД по оценке на 8% — эффективность проверена нашими ребятами.

В чем суть: нужно оценить, на каком «свете» вы стоите. На красном, если:

  • раньше не сталкивались с подобной задачей;
  • не видите конечный результат;
  • не понимаете, что именно нужно делать.

На желтом, если:

  • уже сталкивались с похожей задачей;
  • не сталкивались, но видели решение на «Хабре»;
  • есть примерное, но не полное понимание, как делать задачу.

На зеленом, если:

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

Закрепим инфографикой.

Изображение

1, 2 и 3,5 — это коэффициенты. В зависимости от того, на каком вы «свете», умножьте первоначальную оценку задачи на соответствующий коэффициент. Пример:

  1. Упала задача, которую вы никогда не делали, не понимаете финальный результат и конкретные шаги решения = вы на красном.
  2. Погуглили решение.
  3. Идете к коллеге, который уже сталкивался с такой задачей, и спрашиваете, сколько у него это занимает времени. Он говорит: «Ну, где-то часа 4».
  4. Умножаете 4 на 3,5 = 14. Примерно столько часов вам потребуется, чтобы решить задачу.

Когда нужно делать переоценку

Когда поняли, что не укладываетесь в первичный срок и/или в процессе работы заказчик поменял требования. Здесь есть несколько условий.

  • Заранее предупредить менеджера, что нужно переоценить время — до того, как выработали больше 50% от первичной оценки.
  • Аргументировать, почему задача займет больше времени. Можно в таком формате: что уже сделано по задаче, что именно не учли в первичной оценке, с какими проблемами столкнулись в процессе, сколько еще времени необходимо для решения.

Чек-лист для анализа задач по разработке

  1. Выделять на анализ не менее 5% от времени, которое заложено на саму задачу.
  2. Максимально вникнуть в контекст задачи. Если условия непонятные, обсудить их заказчиком, старшим разработчиком/тимлидом.
  3. Изучить техническую документацию для новых проектов.
  4. Если неясно, как делать задачу, сначала поискать решение задачи в интернете/базе знаний.
  5. Если кажется, что задача займет больше 10 часов, разбить ее на подзадачи. Подзадача занимает не больше 6 часов (есть исключения).
  6. Описать подробные шаги, как решать задачу. У каждой подзадачи должен быть результат.
  7. Учитывать в оценке время на самотестирование, релиз и отладку.
Иван Шишкин
Руководитель отдела
Зелёный свет?

Разработка и развитие интернет-магазинов

Мы помогаем увеличивать выручку интернет-магазинов за счет быстрой и отлаженной аутсорс-разработки, рекламы и аналитики.

16

лет работы

150+

проектов

100%

команды
в штате

90%

клиентов с нами
дольше 3 лет

Начать проект