Перейти к основному содержимому

Оценка трудозатрат

Руководителю Аналитику Техническому писателю
Теория данных (раздел 3)

Миграции и оценка объёма данных — Пакетная работа, Основы БД. Проверка на стенде — SQL для тестировщика. Карта — о разделе.


Оценка в IT — это прогноз, а не обещание с точностью до часа. От неё зависят сроки релиза, бюджет Fixed Price и доверие заказчика. Здесь — человеко-часы, story points, риски "оптимистичных" оценок и методы (Planning Poker, три точки, COCOMO).

Метрики активности ≠ результат. KPI должны отражать ценность, а не количество сообщений в чате.


Что такое трудозатраты

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

Трудозатраты не отражают календарное время, а именно суммарное время, затраченное человеком или командой на выполнение работы. Например, задача может занять 16 человеко-часов, но быть выполнена за два дня одним разработчиком (8 часов в день) или за один день двумя разработчиками одновременно.


Человеко-часы и человеко-дни

Человеко-час — это условная единица измерения трудозатрат, равная одному часу работы одного человека. Аналогично, человеко-день — это один рабочий день одного сотрудника, обычно принимаемый за 8 часов.

Эти единицы позволяют:

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

Пример: если три разработчика работают над задачей по 4 часа каждый, то общие трудозатраты составят 12 человеко-часов.


Выработка, переработка и недоработка

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

Переработка — ситуация, когда сотрудник работает сверх установленного графика. Это может быть связано с высокой нагрузкой, сжатыми сроками или неэффективным планированием. Длительная переработка приводит к выгоранию и снижению качества работы.

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

Эффективное управление проектом стремится к балансу: достаточная выработка без систематической переработки и минимизация недоработки.

Переработка и культ труда

Переработка — работа сверх договорённого графика. Бывает эпизодической (релиз, инцидент, согласованный crunch с датой конца) и хронической (норма "сидеть до победы"). Хроническая форма — признак культа труда: важнее занятость, чем результат и здоровье.

ТипПризнакиДействия руководителя
Эпизодическая1–2 недели, ясная причина, отгул или оплатаЗафиксировать дату возврата к норме
ХроническаяМесяцы по 10+ часов, стыд за уход вовремяПересмотр scope, найм, отказ от KPI "онлайн"
СкрытаяВ табеле 8 ч, но вечерние пинги и "доделай дома"Явные границы, async-first, см. удалёнку

Knowledge workers — специалисты умственного труда (разработка, аналитика, тестирование). Исследования нагрузки показывают:

  • после 50–55 часов в неделю прирост полезного результата часто останавливается;
  • растёт число дефектов и конфликтов;
  • глубокая работа (код, архитектура) у большинства укладывается в 4–6 часов фокуса в день.

Тейлоризм в IT — когда velocity, закрытые тикеты и дашборды активности превращаются в давление "работай больше", а не "делай лучше". См. закон Гудхарта и культ труда.

Один "герой" на on-call

Если проект держится на одном инженере, который не уходит с дежурства и доделывает ночами — это риск для поставки, а не повод для похвалы. Нужны ротация, документация и реалистичный backlog.

Как отличить полезную выработку от активности?

Полезная выработка — это результат, который приближает проект к цели. Активность без результата (например, бесконечные правки без прогресса) не является выработкой.


KPI, продуктивность и трудовая дисциплина

KPI (Key Performance Indicators) — ключевые показатели эффективности, которые помогают оценить, насколько сотрудник или команда достигают целей. В IT KPI могут включать:

  • количество закрытых задач в спринте;
  • процент успешных развёртываний;
  • время реакции на инциденты;
  • качество кода (по данным статического анализа).

Продуктивность — отношение объёма полезной работы к затраченному времени. Высокая продуктивность означает, что сотрудник решает больше задач за тот же промежуток времени.

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

Важно: KPI должны быть ориентированы на результат, а не на "присутствие" или "количество нажатий клавиш". Иначе система мотивации становится контрпродуктивной.

Совет

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


Риски при оценке трудозатрат

Оценка трудозатрат сопряжена с рядом рисков:

  • Оптимизм разработчика: желание угодить заказчику или руководству приводит к занижению оценок.
  • Неполное понимание требований: если требования расплывчаты, оценка будет неточной.
  • Игнорирование внешних зависимостей — интеграции, согласования, задержки от других команд.
  • Отсутствие учёта технического долга: работа с устаревшим кодом требует больше времени.
  • Изменение контекста — новые технологии, смена инструментов, уход сотрудников.
  • Психологическое давление: "а почему у вас так долго?" — часто приводит к заведомо нереалистичным оценкам.

Эти риски делают точную оценку невозможной. Поэтому применяются методы, учитывающие неопределённость.


Формула расчёта стоимости проекта

Основная формула для расчёта стоимости проекта:

Стоимость = Человеко-часы × Стоимость одного часа работы

Где:

  • Человеко-часы — суммарные трудозатраты на проект;
  • Стоимость одного часа работы — ставка специалиста, включающая зарплату, налоги, накладные расходы, маржу компании.

Пример:
Проект оценён в 200 человеко-часов.
Средняя ставка разработчика — 2000 рублей/час.
Стоимость проекта = 200 × 2000 = 400 000 рублей.

Формула проста, но её точность полностью зависит от качества оценки человеко-часов.


Как оценивают трудозатраты

Оценка трудозатрат — это прогноз, основанный на опыте, аналогиях и экспертных суждениях. Существует несколько подходов:


Planning Poker

Planning Poker — игровой метод оценки в Agile-командах. Участники получают карты с числами (обычно по шкале Фибоначчи — 1, 2, 3, 5, 8, 13…). Каждый независимо выбирает оценку для задачи. Если мнения сильно расходятся, обсуждают причины и повторяют раунд. Цель — достичь консенсуса.

Преимущества:

  • вовлекает всю команду;
  • выявляет скрытые риски;
  • снижает влияние авторитета.

Function Points (функциональные точки)

Function Points — метод оценки на основе функциональности, видимой пользователю. Подсчитываются:

  • входные данные;
  • выходные данные;
  • запросы;
  • файлы;
  • интерфейсы.

Каждый элемент получает вес, затем применяется корректирующий коэффициент (сложность, производительность и т.д.). Результат — количество функциональных точек, которое переводится в человеко-часы по историческим данным.

Метод объективен, но требует опыта и стандартизации.


COCOMO (Constructive Cost Model)

COCOMO — параметрическая модель оценки, разработанная Барри Бомом. Она учитывает:

  • размер проекта (в строках кода);
  • тип проекта (органический, полуразделённый, встроенный);
  • факторы стоимости (опыт команды, сложность ПО, ограничения времени и т.д.).

COCOMO даёт формулы для расчёта усилий, времени и численности команды. Современная версия COCOMO II (режимы Application Composition, Early Design, Post-Architecture; scale factors и effort multipliers) разобрана подробно с примером расчёта в разделе Экономика производства ПО.

Когда применять

COCOMO уместен на старте контракта и при крупных change request.

Внутри спринта по-прежнему работают story points и velocity из этой же статьи.


Методы оценки

Метод трёх точек

Этот метод учитывает неопределённость через три оценки:

  • Оптимистичная (O) — минимально возможное время;
  • Пессимистичная (P) — максимальное время при неблагоприятных условиях;
  • Наиболее вероятная (M) — реалистичная оценка.

Формула:
Ожидаемое время = (O + 4M + P) / 6

Пример:
O = 10 ч, M = 16 ч, P = 28 ч
Ожидаемое = (10 + 64 + 28) / 6 = 17 часов.

Метод даёт более надёжную оценку, чем одно число. В сетевом планировании конструирования ту же формулу используют в PERT вместе с критическим путём — см. Планирование конструирования.


Метод Дельфи

Метод Дельфи — итеративный процесс экспертной оценки. Группа экспертов анонимно даёт оценки, затем получает сводку результатов и аргументы коллег. После обсуждения (без личной идентификации) они дают новые оценки. Процесс повторяется, пока не будет достигнута сходимость.

Преимущества:

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

Анализ функциональных точек

Уже упомянут выше, но стоит подчеркнуть — этот метод фокусируется на том, что система делает, а не как она это делает. Это делает его независимым от технологий и языков программирования.


Метод "Помодоро"

Помодоро — личная техника фокуса (~25 минут), а не метод оценки проекта. Её можно использовать, чтобы калибровать себя на мелких задачах, но не подменяйте ею Planning Poker или оценку в человеко-часах для контракта.


Разбор — метод трёх точек

Задача: "Интеграция с внешним API оплаты".

ОценкаЧасыСмысл
O (оптимистичная)10Документация и sandbox в порядке
M (наиболее вероятная)16Типичный кейс команды
P (пессимистичная)28Легаси, смена контракта API

E = (O + 4M + P) / 6 = (10 + 64 + 28) / 6 ≈ 17 часов


Пример Planning Poker

УчастникStory pointsПосле обсуждения
Dev A5
Dev B13Нет sandbox
QA8
Консенсус8 + spike 2 на проверку sandbox

Факторы, влияющие на оценку

Точность оценки зависит от множества факторов:

  • Опыт сотрудников: новичок потратит больше времени, чем эксперт.
  • Знакомство с предметной областью: работа в финансах требует времени на изучение терминов и правил.
  • Качество требований: чёткие, проверяемые требования упрощают оценку.
  • Инструменты и окружение — автоматизация сборки, CI/CD, хороший IDE ускоряют работу.
  • Сложность проекта — интеграции, безопасность, масштабируемость увеличивают трудозатраты.
  • Мотивация и вовлечённость: заинтересованный сотрудник работает эффективнее.
  • Стабильность команды: частая ротация снижает скорость.
  • Технический долг: работа с "легаси" требует дополнительных усилий.

Профессиональная оценка всегда учитывает эти факторы явно или неявно.


Как повышать точность оценки

Оценка становится устойчивее, когда команда работает по единому шаблону:

  1. Формулирует границы задачи и критерии "готово".
  2. Отдельно оценивает реализацию, тестирование и интеграцию.
  3. Явно добавляет резерв на риски и внешние зависимости.
  4. Фиксирует допущения в задаче или спецификации.
  5. Пересматривает оценку при изменении требований.

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


Где чаще всего теряется время

Даже при качественной оценке сроки "съедают" типовые факторы:

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

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