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

Delivery Index: как измерить скорость разработки без строк кода

· 8 мин. чтения
Artur Pan
CTO & Co-Founder at PanDev

Фред Брукс предупреждал в Мифическом человеко-месяце (1975), что измерять продуктивность программистов объёмом кода — ловушка: больше кода не значит больше ценности. Пятьдесят лет спустя некоторые организации всё ещё приравнивают написанные строки к выполненной работе. Фреймворк SPACE (Forsgren et al., 2021) прямо предостерегает от одномерных метрик активности — и всё же потребность, которую они адресуют, реальна: как понять, что ваша инженерная команда доставляет результат?

Ответ — не очередная vanity-метрика. Это составной сигнал, который мы называем Delivery Index.

Почему строки кода не работают

Строки кода (LoC) как метрика продуктивности критиковались десятилетиями, и не зря. Начнём с очевидных проблем:

СценарийСтроки кодаРеальная ценность
Разработчик рефакторит 3 000 строк в 800−2 200Высокая — проще, быстрее, меньше багов
Джуниор копирует ответ со Stack Overflow+500Низкая — без тестов, плохо интегрировано
Сениор проектирует чистый API+120Очень высокая — даёт возможность работать 5 другим разработчикам
Разработчик добавляет логирование повсюду+2 000Низкая — шум, влияние на производительность

LoC наказывает хорошую инженерию. Сениор, потративший неделю на элегантное решение в 200 строк, выглядит «менее продуктивным», чем джуниор, написавший 2 000 строк спагетти-кода. Метрика вознаграждает многословность, а не ценность.

Но более глубокая проблема — искажение стимулов

Когда вы измеряете LoC, разработчики пишут больше кода. Они копипастят вместо абстракции. Избегают рефакторинга, потому что он снижает их «баллы». Добавляют ненужную сложность. Метрика не просто не измеряет продуктивность — она активно ухудшает вашу кодовую базу.

Биллу Гейтсу приписывают слова: «Измерять продуктивность софта строками кода — всё равно что измерять прогресс самолёта его весом». Сказал ли он это на самом деле — спорно. Правда ли это — нет.

Что на самом деле нужно VP of Engineering

Когда VP of Engineering спрашивает «мы доставляем?», он задаёт сразу несколько вопросов:

  1. Разработчики активно работают над правильными задачами? (Активность)
  2. Задачи и фичи действительно завершаются? (Пропускная способность)
  3. Темп устойчив и стабилен? (Стабильность)
  4. Оценки улучшаются со временем? (Предсказуемость)

Ни одна метрика не отвечает на все четыре вопроса. Именно поэтому мы создали Delivery Index как составную метрику, учитывающую множество сигналов.

Как работает Delivery Index

Delivery Index в PanDev Metrics рассчитывается на основе нескольких взвешенных компонентов:

КомпонентЧто измеряетПочему важен
Activity TimeЧасы активного кодирования в IDEПоказывает вложенные усилия — разработчик действительно кодит?
Focus TimeУстойчивые непрерывные сессииКачество усилий — фрагментированная vs. глубокая работа
Task velocityЗадачи, завершённые за периодСигнал результата — дела движутся?
Consistency scoreРазброс в ежедневной/еженедельной выработкеУстойчивость — стабильный темп vs. цикл бум-спад
Planning accuracy deltaОценочные vs. фактические сроки выполненияПредсказуемость — команда может надёжно прогнозировать?

Delivery Index даёт нормализованный балл, учитывающий реалии разработки ПО: некоторые недели — интенсивное кодирование, другие — архитектура и планирование. Здоровый Delivery Index не требует максимального кодирования каждый день — он требует стабильной, предсказуемой поставки.

Математика простым языком

Думайте о Delivery Index как о кредитном рейтинге. Ни один фактор не определяет его единолично. Разработчик, кодящий 4 часа в день, но никогда не завершающий задачи, имеет посредственный Delivery Index. Разработчик, кодящий 1 час в день, но стабильно выпускающий фичи в срок, получает высокий балл. Метрика вознаграждает завершённую работу, поставленную предсказуемо, а не сырую активность.

Что показывают наши данные о скорости

Анализируя данные B2B-инженерных команд, использующих PanDev Metrics, мы видим чёткие паттерны здоровой поставки — паттерны, которые согласуются с выводами McKinsey (2023) о том, что разработчики тратят лишь 25–30% времени на написание кода:

Время кодирования — не то узкое место, которое вы думаете

Медианный разработчик в нашем датасете кодит 78 минут в день. Среднее — 111 минут. Это значит, что «типичный» разработчик проводит примерно 1,5 часа в активном кодировании.

Диапазон времени кодирования% разработчиковСр. Delivery Index
< 30 мин/день12%Низкий — часто заблокирован или на слишком многих митингах
30–60 мин/день21%Средний — типично для senior-ролей с обязанностями по ревью
60–120 мин/день32%Высокий — оптимальная зона для большинства IC-ролей
120–180 мин/день9%Высокий — сильные индивидуальные контрибьюторы
180+ мин/день27%Разный — иногда высокая скорость, иногда сигнал выгорания

Оптимальная зона — 60–120 минут кодирования в день с высоким Delivery Index. Разработчики в этом диапазоне кодят эффективно, завершают задачи в срок и поддерживают устойчивый темп. Превышение 180 минут в день не коррелирует стабильно с лучшей поставкой — в некоторых случаях это сигнал метания или переделок.

IDE и скорость

Наши данные показывают интересные паттерны по трём доминирующим IDE:

IDEПользователиВсего часовСр. часов/пользователь
VS Code1003 05730,6
IntelliJ IDEA262 22985,7
Cursor241 21350,5

Пользователи IntelliJ показывают больше средних часов на пользователя — вероятно потому, что Java (наш язык №1 с 2 107 часами) преимущественно разрабатывается в IntelliJ, а Java-проекты требуют больше набора из-за многословности языка. Именно поэтому LoC не работает: Java-разработчик, написавший 200 строк, сделал меньше «работы», чем Python-разработчик, написавший 50 строк эквивалентной логики.

Пять антипаттернов, убивающих поставку

Когда Delivery Index падает по всей команде, обычно причина — один из этих паттернов:

1. Смертельная спираль оценок

Команда систематически недооценивает задачи → срывает дедлайны → менеджеры добавляют буфер → оценки становятся бессмысленно большими → Planning Accuracy падает → никто не доверяет дорожной карте.

Сигнал Delivery Index: Компонент Planning Accuracy падает ниже 50%, Task velocity остаётся на месте или снижается.

2. Налог на митинги

Разработчик с 4 часами митингов имеет, в лучшем случае, 4 часа фрагментированного времени. С учётом накладных расходов на переключение контекста это даёт примерно 45 минут реального Focus Time.

Сигнал Delivery Index: Activity Time падает, а количество назначенных задач остаётся прежним. Разработчик «занят», но не кодит.

3. Зависимость от героя

Один сениор-разработчик — бутылочное горлышко для всех код-ревью, архитектурных решений и сессий отладки. Его Delivery Index может выглядеть нормально, но агрегированный показатель команды падает, потому что все ждут его.

Сигнал Delivery Index: Один разработчик показывает высокий Activity Time с низким Task velocity (помогает другим, а не выпускает свою работу). Delivery Index на уровне команды снижается несмотря на индивидуальные усилия.

4. Тихий убийца — расползание скоупа

Задачи растут после оценки. «Фича на 2 дня» превращается в «эпик на 2 недели» через накопленные изменения. Работа выполняется, но не соответствует плану.

Сигнал Delivery Index: Task velocity резко падает, а время кодирования остаётся прежним или растёт. Разработчики усердно работают над задачами, которые никогда не закрываются.

5. Лавина технического долга

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

Сигнал Delivery Index: Высокий Activity Time, высокий Focus Time, низкий Task velocity. Разработчики кодят интенсивно, но прогресс минимален — явный признак трения с кодовой базой.

Как внедрить Delivery Index в вашей организации

Шаг 1: Установите базовую линию (Неделя 1–2)

Разверните отслеживание IDE по всей команде. PanDev Metrics поддерживает VS Code, все IDE JetBrains, Cursor, Visual Studio и другие. Дайте данным накопиться хотя бы за два полных спринта, прежде чем делать выводы.

Шаг 2: Определите паттерны, а не выбросы (Неделя 3–4)

Сначала смотрите на тренды на уровне команды:

На что обращать вниманиеЗдоровый сигналТревожный сигнал
Распределение ежедневного времени кодированияМедиана 60–120 минБимодальное (< 30 или > 240)
Стабильность день ото дняНизкий разбросЦиклы бум-спад
Тренд завершения задачСтабильный или улучшающийсяСнижение неделя за неделей
Точность оценокВ пределах ±30%Стабильно ошибка в 2x+

Шаг 3: Устраните системные проблемы (Месяц 2)

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

Шаг 4: Отслеживайте улучшения (Постоянно)

Delivery Index должен расти по мере устранения трения. Если нет — вы решаете не те проблемы.

Delivery Index vs. DORA Metrics

DORA Metrics (Deployment Frequency, Lead Time, Change Failure Rate, Mean Time to Recovery) измеряют конвейер поставки. Delivery Index измеряет процесс разработки, который питает этот конвейер.

ИзмерениеDORADelivery Index
Что измеряетЗдоровье CI/CD-конвейераРабочие паттерны разработчиков и команды
ГранулярностьУровень команды/сервисаИндивидуальный + командный уровень
Опережающий/запаздывающийВ основном запаздывающий (измеряет результат)Опережающий (измеряет условия для результата)
Источник данныхGit, CI/CD-системыАктивность IDE, управление задачами
Лучше всего дляЗрелости DevOpsУправления инженерами

Они дополняют друг друга. DORA говорит, как быстро ваш конвейер доставляет. Delivery Index говорит, насколько эффективно ваша команда разрабатывает. Плохой Delivery Index в конечном счёте проявится в ухудшении DORA Metrics — но к тому моменту вы уже потеряете недели.

Что сказать совету директоров

VP of Engineering часто нужно переводить инженерные метрики на язык бизнеса. Вот как Delivery Index соотносится с бизнес-результатами:

  • Высокий Delivery Index + высокая Planning Accuracy → «Мы доставляем то, что обещали, когда обещали.»
  • Высокий Delivery Index + низкая Planning Accuracy → «Мы доставляем хорошо, но наши оценки нуждаются в доработке. Даты дорожной карты имеют неопределённость.»
  • Низкий Delivery Index + высокая активность → «Команда работает усердно, но есть структурные блокеры — технический долг, зависимости или процессные накладные расходы.»
  • Низкий Delivery Index + низкая активность → «У нас проблема со штатом, вовлечённостью или инструментами.»

Ценность Delivery Index — не в самом числе, а в диалоге, который он делает возможным. Вместо «мы продуктивны?» вы можете спросить «что блокирует поставку?» — и иметь данные для ответа.


На основе агрегированных данных PanDev Metrics Cloud (апрель 2026), тысяч часов активности IDE в B2B-инженерных командах. Все данные анонимизированы и агрегированы. Ссылки: SPACE framework (Forsgren et al., ACM Queue, 2021); Fred Brooks, "The Mythical Man-Month" (1975); отчёт McKinsey о продуктивности разработчиков (2023).

Хотите увидеть Delivery Index вашей команды? PanDev Metrics рассчитывает его автоматически на основе данных IDE и задач — без ручного отслеживания, табелей и догадок.

Попробуйте сами — бесплатно

Подключите IDE-плагин за 2 минуты и увидьте свои реальные метрики. Без карты, без обязательств.

Попробовать бесплатно