Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Метрики процесса review
metrics_tracking

Метрики процесса review

Время до первого ответа, размер PR, доля переоткрытых, DORA; как метрику начинают накручивать. Метрики кода — в курсе Pro

Метрики процесса Code Review

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

#Результат урока

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

Метрики кода — сложность, связность, покрытие — в теме Метрики качества кода курса Pro. Здесь только про процесс.

#1. Правило: метрики команды, а не человека

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

Показательные примеры того, как накручиваются самые популярные метрики:

Метрика в оценке человекаЧто начинает происходить
Число комментариевПридирки к именам, nit вместо содержательных замечаний
Скорость ревьюLGTM через минуту
Число PRДробление одной задачи на восемь PR по десять строк
Строк кодаКопирование вместо переиспользования
Доля PR с замечаниямиФормальные замечания к каждому PR

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

Единственное исключение — распределение нагрузки: доля ревью на человека нужна именно персонально, потому что перекос вредит и команде, и самому человеку. Но и она используется как сигнал перегрузки, а не как показатель усердия.

Проверьте себя. Есть ли в вашей компании метрика ревью, попадающая в оценку сотрудника? Что будет, если её начать накручивать?

Частая ошибка. Показывать таблицу «кто сколько комментариев оставил». Через месяц команда научится её улучшать, не улучшая ревью.

#2. Четыре метрики, которых достаточно

Метрик вокруг ревью можно построить десятки. Реально решения принимаются по четырём.

Время до первого ответа. Медиана, в рабочих часах. Главная метрика скорости: именно ожидание первого отклика формирует ощущение «мой PR никому не нужен». Ориентир — до 4 часов.

Время повторного ответа. Отдельно от первого. Почти всегда хуже, и почти всегда его не измеряют. Причина: после правок PR уходит в конец очереди ревьюера. При трёх раундах именно эта метрика определяет общее время.

Число раундов. Сколько раз PR возвращался автору. Растёт при плохом описании PR, при непонятных требованиях, при разной калибровке у ревьюеров. Ориентир — до двух.

Медиана размера PR. В строках содержательных изменений. Это не метрика ревью, а его главный входной параметр: большинство проблем с качеством и скоростью — следствие размера.

Полезное дополнение — распределение замечаний по уровням. Больше половины nit означает, что ревьюеры уходят в мелочи; меньше десятой доли blocker при большом объёме комментариев — что ревью поверхностное. Здесь важно не оптимизировать пропорцию, а замечать её резкое изменение.

Проверьте себя. Измерьте эти четыре числа за последний месяц. Скорее всего, повторный ответ окажется медленнее первого.

Частая ошибка. Смотреть среднее вместо медианы. Один PR, забытый на три недели, сдвигает среднее так, что оно перестаёт что-либо описывать.

#3. Как читать метрики: только вместе

Отдельная метрика почти всегда допускает противоположные объяснения. Смысл появляется в сочетаниях.

Что видноВероятная причина
Ревью быстрое, замечаний мало, багов в проде многоФормальные одобрения; ревью не происходит
Ревью быстрое, замечаний много, раундов малоЗдоровый процесс
Ревью медленное, PR большиеПричина в размере, не в дисциплине ревьюеров
Ревью медленное, PR маленькиеПроблема с доступностью: нет назначения или перекос нагрузки
Раундов много, комментариев малоПлохое описание PR или размытые требования
Раундов много, много nitРазная калибровка; ревьюеры требуют разного
Первый ответ быстрый, повторный медленныйPR после правок теряется в очереди
Всё хорошо, но растут горячие исправленияРевью не ловит то, что попадает в прод; смотрите на тесты

Последняя строка — напоминание, что метрики процесса ничего не говорят о качестве найденного. Хороший процесс с бесполезными замечаниями выглядит идеально на любом дашборде.

Проверьте себя. Сопоставьте свои четыре метрики с этой таблицей. Какая строка описывает вашу команду?

Частая ошибка. Реагировать на одну метрику. Ускорение ревью при больших PR даёт формальные одобрения — то есть ухудшение под видом улучшения.

#4. DORA и место ревью в них

Четыре метрики DORA описывают поставку в целом, и ревью влияет на две из них напрямую.

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

Частота развёртывания ограничена размером PR: крупные изменения выкатываются реже по определению.

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

Практический вывод: если задача звучит как «ускорить поставку», посчитайте, какую долю времени от коммита до прода занимает ожидание ревью. Дальнейшие усилия имеет смысл прикладывать там, где эта доля наибольшая.

Проверьте себя. Какую долю времени от коммита до прода в вашей команде составляет ожидание ревью?

Частая ошибка. Улучшать частоту развёртывания, не уменьшая размер PR. Это верхняя граница, которую нельзя обойти.

#5. Что измерять не стоит

Строки кода в любом виде. Меньше строк обычно лучше — метрика указывает в неверную сторону.

Число PR на человека. Зависит от типа задач сильнее, чем от продуктивности.

Число найденных багов на ревьюера. Создаёт стимул находить формальные проблемы и портит отношения в команде.

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

Время, потраченное на ревью. Неизмеримо честно и провоцирует приписывать.

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

Проверьте себя. Примените эту проверку к каждой метрике на вашем дашборде.

Частая ошибка. Собирать всё, что умеет выгружать платформа. Дашборд с двадцатью графиками не читают, и решений по нему не принимают.

#6. Разбор: дашборд, по которому приняли неверное решение

Инженерный менеджер приносит квартальные цифры и предложение.

Квартал IV Квартал III Время до первого ответа 2.1 ч 6.4 ч ↓ хорошо Время до мержа 4.5 ч 31 ч ↓ хорошо Комментариев на PR 2.3 8.7 ↓ ??? PR с замечаниями 31 % 74 % ↓ ??? Раундов на PR 1.2 2.8 ↓ хорошо PR на разработчика/нед 11.4 4.2 ↑ хорошо Медиана размера PR 95 строк 310 строк ↓ хорошо Инцидентов на проде 14 5 ↑ ??? Горячих исправлений 23 8 ↑ ???

Предложение: «Процесс ревью значительно ускорился, шесть из семи метрик улучшились. Предлагаю закрепить практику и распространить на соседние команды. Рост инцидентов, вероятно, связан с увеличением объёма поставки».

Что видит опытный участник. Метрики ревью улучшились, а результат работы ухудшился почти втрое. Это классическая картина: процесс оптимизирован по показателям за счёт того, для чего он существует.

Читаем сочетания. Комментариев на PR упало с 8.7 до 2.3, доля PR с замечаниями — с 74 % до 31 %. То есть две трети PR теперь проходят без единого замечания. Одновременно время до первого ответа — 2.1 часа. Сочетание «быстро и без замечаний» при росте инцидентов означает одно: ревью перестало происходить, осталось одобрение.

PR на разработчика в неделю вырос с 4.2 до 11.4, а медиана размера упала с 310 до 95 строк. Само по себе уменьшение PR — то, к чему стремятся. Но втрое больше PR при том же составе команды и почти втрое меньший размер наводят на мысль о дроблении: одна задача разрезается на несколько PR, каждый из которых по отдельности не имеет смысла и потому не вызывает вопросов. Ревьюер видит «переименована переменная» и ставит одобрение, не понимая целого.

Раунды упали с 2.8 до 1.2 — что при осмысленном ревью почти невозможно. Обычно это следствие того, что замечаний нет.

И главное: рост инцидентов объяснён ростом объёма поставки, но объём в строках не изменился — изменилось только число PR. То есть поставляется столько же, а ломается втрое чаще.

Комментарии к предложению:

Вывод целиком · blocker Шесть метрик улучшились, а инциденты выросли втрое и горячие исправления — почти втрое. Это не «вероятно, связано с объёмом»: объём в строках не изменился, изменилось только число PR. Вывод «закрепить и распространить» преждевременен — сначала нужно понять, почему ревью перестало находить проблемы.

Комментариев 8.7 → 2.3, PR с замечаниями 74 % → 31 % · blocker Две трети PR проходят без единого замечания при времени ответа 2 часа. Это признак формальных одобрений, а не улучшения качества кода. Предлагаю выборочно перечитать 10 одобренных без замечаний PR из тех, что привели к инцидентам, — и посмотреть, было ли что находить.

PR/разработчик 4.2 → 11.4 при размере 310 → 95 · major Похоже на дробление задач на PR, которые по отдельности не имеют смысла. Разбивать PR полезно, когда каждая часть самодостаточна; если задача разрезана механически, ревьюер не видит целого и не может оценить решение. Стоит посмотреть, связаны ли PR, приведшие к инцидентам, в одну задачу.

Раунды 2.8 → 1.2 · major При содержательном ревью такое падение почти невозможно — это следствие отсутствия замечаний, а не улучшения качества входящего кода.

Инциденты 5 → 14 · major Это главная цифра на дашборде, и она единственная про результат. Остальные — про процесс. Предлагаю поменять порядок в отчёте: сначала результат, потом процесс.

Метрика, которой нет · question Не хватает доли изменений, приведших к инциденту, — она свяжет процесс с результатом. И среднего времени жизни бага: если ревью перестало ловить, багов станет находиться больше, но позже.

Чем закончилось. Перечитали 12 одобренных без замечаний PR, за которыми последовали инциденты. В девяти было что находить: в двух — отсутствие обработки ошибки, в трёх — неучтённый граничный случай, в одном — гонка. Все девять были частями раздробленных задач: ревьюер видел фрагмент и не мог оценить целое.

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

Изменения: цель по времени убрали из персональных показателей и оставили как командную; ввели правило «PR должен быть осмысленным сам по себе, дробление по слоям — да, механическое — нет»; на дашборд добавили долю изменений, приведших к инциденту, и поставили её первой строкой.

Через квартал: время до первого ответа 3.2 часа (чуть хуже), комментариев на PR 6.1, PR с замечаниями 62 %, инцидентов 6. Процессные метрики стали немного хуже, результат вернулся к норме.

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

#7. Внедрите у себя

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

#8. Чек-лист

УРОВЕНЬ метрики по команде, не по людям; исключение — распределение нагрузки ОЦЕНКА ни одна метрика ревью не входит в персональную оценку НАБОР четыре базовые: первый ответ, повторный, раунды, размер PR МЕДИАНА используется медиана, а не среднее ПОВТОР время повторного ответа измеряется отдельно от первого СОЧЕТАНИЯ метрики читаются вместе; по одной решения не принимаются РЕЗУЛЬТАТ на дашборде есть метрика результата, и она первая ПРОВЕРКА для каждой метрики продуман сценарий «улучшить любой ценой» ОБЪЁМ дашборд компактен; по каждому графику принимаются решения

#Что дальше

Процессные изменения, которые двигают эти метрики, — Процесс и workflow. Технические настройки, влияющие на скорость, — Инструменты и интеграции. Метрики самого кода — Метрики качества кода.


Ключевая мысль: дашборд без метрики результата всегда улучшается за счёт результата. Это не риск, а закономерность.

Далее: Remote и асинхронный review