Программисты срывают сроки. Что делать, чтобы оценка была более точной?
Вы наверняка слышали о законе Мёрфи: «Если что-то может пойти не так, это обязательно случится». Иногда к фразе добавляют: «случится в самое неподходящее время». IT-проекты часто идут по этому закону.
Мнение автора может не совпадать с мнением редакции
Подрядчики нарушают сроки, релизы задерживаются, а обещания не выполняются. В итоге бизнес терпит убытки, потерю клиентов, недополучение прибыли и часто ухудшение репутации. За 25 лет в заказной разработке мы в SVK.Digital сталкивались с разными кейсами и понимаем, насколько сложно менять команду в середине проекта. Поэтому в статье расскажем, какие инструменты помогут спасти проект, если команда уже не вписывается в сроки, а выпускаться все же нужно. Но сначала разберемся, в чем вообще трудность с расчетами в IT.
Почему так сложно точно оценить сроки в IT-проекте?
К сожалению, срыв сроков для IT — норма. Почему так? Дело в том, что разработка, которая кажется набором технических задач, — на самом деле творческая деятельность. Задачи программистов больше похожи на изобретательство и науку, чем на работу за токарным станком.
Часто, чтобы решить задачу, приходится придумать, как именно это сделать и протестировать несколько неудачных решений. Сложно прогнозировать сроки работы в таких условиях. Особенно, если задача новая, а территория неизведанного — большая.
От чего зависит точность оценки IT проекта?
Но жить совсем без сроков невозможно: клиент хочет понимать, когда новый сайт или приложение будет доступно пользователям. Есть несколько критериев, которые влияют на точность оценки сроков проекта.
Степень новизны задачи для разработчиков. Если программисты решали подобную задачу, они смогут точнее предсказать сроки. Тут все просто: если вы когда-то собирали кровать, то примерно знаете, какие инструменты потребуются и сколько займет поиск нужных саморезов. А если нет, то ориентируетесь на инструкцию. Только вот она не учитывает, что у вас дома может не быть отвертки и за ней придется ехать в магазин.
Квалификация специалистов. Чем более опытные сотрудники работают над проектом, тем точнее их оценка. Грамотные специалисты видели много успехов и еще больше неудач. Это помогает им закладывать многие риски, влияющие на дедлайн. Главное тут — не переборщить с пессимизмом.
Объем работы. Если проект простой, оценка будет точнее. Например, дать сроки реализации одностраничного сайта проще, чем срок разработки ERP-системы с множеством интеграций в IT-инфраструктуру компании.
Как работать с этими факторами? Если в наличии один из них, то сроки, названные разработчиками, стоит умножать на два. Если сошлись все три фактора, задача займет в три раза больше времени, чем назвали разработчики.
Но все-таки, как сделать оценку проекта более точной, несмотря на «отягчающие обстоятельства»? У нас есть несколько приемов, которые помогут в этом и которые мы сами используем при оценке проектов.
Что делать, чтобы оценка была более точной: 7 инструментов
1. Синхронизация ожиданий
Важно убедиться, что разработчики будут делать именно то, что нужно. Также стоит договориться, при выполнении каких пунктов и вы, и команда исполнителей будете считать, что задача выполнена.
Почему это важно? Мы видели ситуации, когда команда 2 недели работала над задачей, а при сдаче работы оказалось: заказчик хотел другого. В итоге проект сдвигался на более поздний срок.
Какова цена ошибки? Например, если планировался проект на 8 недель, то из-за двух таких недопониманий вы потеряете 2 недели на выполнение не того и еще 2 недели на переделывание.
Итого: сроки увеличатся в 1,5 раза. Проект займет 12 недель вместо 8-ми. Выглядит неприятно.
Как определить, что вы с командой поняли друг друга? Иметь четкое и согласованное ТЗ. Например, мы составляем документ «Спецификация требований», где описаны цели, задачи, результаты и критерии достижения целей. А также основной набор требований и два состояния системы: «как есть сейчас» и «как будет».