Управление персоналом

Почему программисты ошибаются в оценке сроков?

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

Всем известно, что сроки, названные программистами, нужно умножать на два. Ушлые проджект-менеджеры ещё добавляют — «и брать значение следующего порядка». Т.е. при оценке программистом требующегося времени в один час, в план пишем два дня. Но для заказчиков (как внешних, так и внутренних) такая ситуация выглядит, как минимум, странной — получается, что наши почти гениальные разработчики, способные решать сложнейшие задачи, не в состоянии сложить два и два, и составить даже простого плана. Как же такое получается?

Давайте разберёмся, почему программисты ошибаются в оценке сроков.

Время чистое и время грязное

Когда программист оценивает задачу, он обычно мыслит категориями «чистого» времени. «Можно сделать, если заниматься этим пять часов подряд, без перекуров и перерыва на обед». В реальности «чистого» времени почти никогда не бывает (люди должны переключаться, питаться, ходить в туалет и пр.), а если программист работает в коллективе, то не бывает вообще никогда. При этом объём «грязи» может достигать совершенно невообразимых размеров, если коллектив дружный, а программист участвует в нескольких задачах одновременно. Тогда перерывы на «быстрое общение у кофемашины» органично переплетаются с отвлечениями на внезапные «Коля, срочно, на пять минут, исправь тут по-быстромууууу!», и время идёт, а основная задача все не закрывается.

Производительность

Отдельным пунктом идёт вопрос производительности. При оценке программисты обычно исходят из классного самочувствия, высокой работоспособности, и не делают скидок на неожиданное «что-то сегодня калган не варит» и «да, понедельник день тяжёлый...». Но из реальности эти явления никуда не деваются, и ВНЕЗАПНО на типовую задачу уходит в два раза больше времени, чем обычно.

Исследования Это, наверное, самое страшное для сроков дело. Выглядит оно так: программист оценивает задачу в три часа, напряжённо работает и заканчивает только через восемь. На вопрос «Почему?!» объясняет, что в процессе возникло альтернативное и очень многообещающее решение, и на его рассмотрение ушла куча времени. Но, к сожалению, это решение не подошло, в итоге делать пришлось так, как планировалось изначально.

Что тут можно сказать? Исследование вариантов — не только зло, но и добро. Несмотря на всю непредсказуемость этого процесса, он может давать очень интересные, и даже прорывные решения. Но может и не давать, конечно.

Частным случаем исследования является «курение мануалов». Выделяем это в самостоятельный пункт, так как при изучении документации разработчик часто открывает для себя много нового и интересного; неожиданно выясняется, что последние обновления позволяют делать так, как раньше делать было нельзя, поэтому по-хорошему стоит всё вообще переписать заново. И, в особо тяжёлых случаях, процесс переписывания заново начинается без предварительного согласования, со всеми вытекающими.

Сложные системы

Обязательно стоит упомянуть специфику планирования работ в сложных системах. Тут оценка часто расходится с реальностью именно из-за сложных взаимосвязей элементов системы. Например, ставится простая задача — изменить порядок сортировки элементов в определённом разделе. В системе есть для этого штатный инструмент, и программист оценивает работу как очень простую. Всех делов — приоритеты расставить, на пять минут работы. Но, войдя в раздел, он обнаруживает, что все элементы там связаны с другими разделами и порядок их сортировки определяется не их приоритетами, а большим количеством свойств в других разделах. И чтобы решить эту «простую» задачу, нужно переписать половину логики системы.

Исправление ошибок

Заказчик обычно полагает, что хороший программист — это программист, который не делает ошибок. Со своей стороны и программисты часто не планируют времени на исправление ошибок, ведь это же автоматом означало бы и «планирование ошибок». А кто ж заранее планирует, что он будет косячить? Однако пока код пишут люди, ошибки неизбежны. От простых опечаток, до сложных случаев неполной совместимости новых решений со старыми. И чем сложнее система, тем изощрённее могут быть возникающие ошибки. А значит и время на их исправление вполне может превышать время, потраченное на, собственно, разработку.

Составные и нетиповые задачи

Планировать время на выполнение составных или нетиповых задач достаточно просто. Можно называть любой срок и точно знать, что он наверняка будет ошибочен, в ту или иную сторону.

С нетиповыми задачами всё понятно: если подобная задача не ещё выполнялась, и с какой стороны к ней подойти — пока неясно, то программистская оценка будет зависеть только от его уровня самоуверенности. Считающий себя гением скажет, что сделает за пару дней (в его представлении это предельный срок для самых сложных задач), человек неуверенный на ту же задачу попросит недельки три, «чтоб с запасом». При этом без предварительного детального изучения оба не планируют, а гадают, и реальный срок может оказаться абсолютно любым.

Более-менее точная оценка может быть дана после предварительного исследования задачи, которое само по себе требует времени. Т.е. при возникновении задач новых, «не имеющих аналогов», нужно не требовать от программиста быстрой и точной оценки сроков, а ставить предварительную задачу «провести оценку».

Составные задачи (состоящие из некоторого числа связанных подзадач) тоже часто путают программистов — с каждой из подзадач могут быть связаны любые варианты потери времени из приведённых выше (или все сразу), поэтому в сумме расхождение реального срока с прогнозом может достигать космических масштабов.

Более-менее приблизить оценку составной задачи к реальности можно, только если оценить отдельно каждую из подзадач, а итоговое время рассчитывать уже как их сумму, с соответствующими «добавками» как на каждую задачу, так и на их итоговое сопряжение.

Оценка под давлением

Наш список причин некорректной оценки времени будет неполным без упоминания такого замечательного явления как «Клиентское давление». Это ситуация, когда заказчик (внутренний или внешний) так или иначе влияет на оценку. Например, даёт понять, что хочет услышать оптимистичное «Завтра будет готово!», ну или что-то типа этого.

В этой ситуации у программиста бывает два варианта действий. Первый — проявлять упорство и отстаивать более адекватную оценку. Второй — сознательно назвать срок меньше требующегося, рассудив, что проще потом объяснить, почему не успеваешь, чем сейчас долго бодаться, расстраивая клиента и заставляя его усомниться в профессионализме исполнителя. То есть, в этом случае неверная оценка даётся не из-за ошибки, а сознательно, под влиянием клиентских ожиданий.

Итого

Резюмируем.

Первое: программистская оценка без применения специальных «поправочных коэффициентов» действительно может оказаться очень неточной.

Второе: в этом нет злого умысла или свидетельств «тайм-неполноценности» — обычные особенности человеческой психологии, а программисты, всё-таки, тоже люди.

Третье: таки да, к первоначальной программистской оценке времени нужно относиться сдержанно, не считая её высеченным в граните обязательством. Эту оценку можно внести в план, чтобы получить повод потом покапать программисту на мозги (если вас интересуют такие развлечения), но на самом деле ориентироваться на больший срок.

Начать дискуссию

3-НДФЛ

Налоговики не будут штрафовать, если просрочка 3-НДФЛ произошла из-за технических ограничений

Штрафовать за просрочку из-за технических сбоев инспекторы не будут. Инспекторы разъяснили, что делать, если неквалифицированная электронная подпись (НЭП) для подачи декларации 3-НДФЛ не сгенерировалась.

Курсы повышения
квалификации

20
Официальное удостоверение с занесением в госреестр Рособрнадзора

Финансовые мошенники могут первое время реально выплачивать доход

В Москве сотрудники полиции задержали подозреваемого в многомиллионном мошенничестве под предлогом инвестирования.

Маркетинг

На майских праздниках хотят запретить продажу алкоголя

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

1
Лучшие спикеры, новый каждый день
Отпуска

Сотрудники имеют право уйти в отпуск за свой счет без согласия работодателя

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

Налоговой системе грозит модернизация: Минфин пообещал «донастройку» налогов. ⚡«Ночной бухгалтер» № 1672

Антон Силуанов сообщил, что в стране назрела необходимость налоговой «донастройки» и конкретные предложения по ней Минфин будет обсуждать с бизнесом в середине мая этого года. Интересно, бухгалтеров на обсуждение позовут?

Иллюстрация: Вера Ревина / Клерк.ру

Минфин: Россия занимает 3-е место по майнингу

Министерство финансов ожидает, что Госдума примет законопроекты, которые разрешат применять криптовалюту для расчетов по внешнеэкономическим контрактам.

Опытом делятся эксперты-практики, без воды

Предпринимателя вызывают на опрос в полицию. Тактика успешного прохождения и защиты

Все изложенное в данной статье можно использовать и при вызове для дачи пояснений в рамках доследственной проверки, проводимой в отношении предпринимателя.

Клиенты провели более 2,5 млрд операций через СБП

Пользователи Системы быстрых платежей оплатили 700 млн покупок на общую сумму 1,2 трлн рублей.

Через сервис поиска попутчиков можно никуда не уехать и остаться без денег

В Алтайском крае осудят участников группы, похитивших почти 1 млн рублей у 53 клиентов сервиса поиска попутчиков.

Какие распространенные страхи кандидатов перед собеседованием нерациональны

Собеседование является неотъемлемой частью процесса поиска работы, и многие кандидаты испытывают страх перед ним. Однако, некоторые из этих страхов являются нерациональными и необоснованными. В этой статье предлагаю рассмотреть несколько распространенных страхов кандидатов и расскажу, как их преодолеть.

Иллюстрация: создано с помощью ИИ OpenAI © Вера Ревина/Клерк.ру
Бесплатно с Больничные

Как ИП в 2024 году оформить право на пособия по больничным

В общем случае ни ИП, ни самозанятые права на оплату больничных не имеют. Но ИП могут оформить добровольное страхование в СФР. Самозанятые – тоже, но только если они ИП на НПД.

Как ИП в 2024 году оформить право на пособия по больничным
Бесплатно с Самозанятые

Обязательные и необязательные документы в работе с самозанятыми. Мини-курс

Какие обязательные и необязательные документы оформить при сотрудничестве с самозанятыми, рассказываем в мини-курсе.

Обязательные и необязательные документы в работе с самозанятыми. Мини-курс
Миникурсы, текстовые и видеоинструкции для бухгалтеров

⚡️ Итоги дня: в поезде появился спа-вагон, в Дагестане начали выращивать голубику, а собака родила зеленого щенка

Подготовили обзор главных событий дня — 25 апреля 2024 года. Все самое интересное, что писали и обсуждали в сети, в одной подборке.

Вскрыта афера с получением вычетов за стоматологию

В Смоленской области направлено в суд уголовное дело о мошенничестве при получении социальных налоговых вычетов по НДФЛ за лечение.

Инвестиции

Как продать заблокированные активы

Появился механизм, который позволит инвесторам продать ценные бумаги, заблокированные из-за санкций. Рассказываем, как это будет происходить.

Иллюстрация: Вера Ревина/Клерк.ру

Аномальная нагрузка на электросеть помогла выявить майнинг криптовалюты

В Новосибирской области полицейские задержали подозреваемых в незаконном потреблении электроэнергии для майнинга криптовалюты.

Медосмотры офисных работников: для кого обязательны, как проводить, ответственность

Многих работодателей интересует вопрос: обязательно ли проводить для своих офисных сотрудников медицинские осмотры? Какие риски с этим связаны и как все организовать, рассмотрим в статье.

Иллюстрация: freepik/freepik

Как правильно и выгодно «продать» себя на собеседовании

Советы по трудоустройству дают, как правило, HR или психологи. Но не менее полезной информацией обладают эксперты с солидным опытом в сфере продаж. Как сделать так, чтобы потенциальный работодатель из всех кандидатов выбрал именно вас, а какой компании стоит точно отказать рассказала Гульнара Гумарова, коммерческий директор Wazzup.

Как правильно и выгодно «продать» себя на собеседовании

💪 Известен размер вычета НДФЛ за сдачу норм ГТО. Подготовиться к сдаче норм может выйти и дороже, считает эксперт

Налоговый вычет по НДФЛ можно будет получить за сдачу норм ГТО.

Интересные материалы

«Мегамаркет» начал продавать автомобили LADA

При оформлении заказа с покупателем свяжется менеджер «СберАвто», чтобы уточнить технические моменты и варианты доставки.