Курс Технический менеджер продуктов · автор Stanislav Belyaev
EN RU

Скорость Code Review

6 исходящих · 9 входящих · 15 всего связей

Карта Детали
МАСШТАБ КОМАНДЫ
Code Review УСИЛЕНО В РАСПРЕДЕЛЁННЫХ КОМАНДАХ

Скорость Code Review

Время прохождения code review — от открытия PR до финального аппрува. Долгое ревью блокирует мерж, увеличивает lead time и демотивирует автора, который теряет контекст к моменту получения замечаний. Хорошая практика — первая реакция ревьюера в течение нескольких часов, а не дней.

Время от открытия PR до финального аппрува. Google: <4 часов; индустрия: 15–24 часа.

КОНТЕКСТ МОНОРЕПО

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

КОНТЕКСТ РАСПРЕДЕЛЁННЫХ КОМАНД

КРИТИЧЕСКИ УСИЛИВАЕТСЯ: Главное препятствие для распределённых команд. Каждый раунд фидбека добавляет 12–24 часа. PR, который в офисе обсуждается за час, в распределённой среде превращается в трёхдневную переписку. Координация нескольких ревьюеров в разных зонах может занять неделю.

Влияние масштаба
👤 Один / Пара (1–3)
0.1
👥 Команда (4–15)
0.5
🏢 Отдел (15–100)
0.9
🏛️ Организация (100+)
1

Пропускная способность ревьюеров насыщается при масштабировании.

6
Влияет на
9
Зависит от

→ Влияет на

Высокий КритическийРАСП
Время доставки (Lead Time)

Часто самая длинная стадия.

Индустрия: 15–24 часа; Google: <4 часа
Meta, Code Climate, Cubic, Plandek
Распределённые: Каждый раунд ревью добавляет 12-24ч через границы TZ. Два раунда фидбека превращают слияние в тот же день в 3-дневный марафон.
Переключение контекста

Задержка ревью → переключение на другую задачу → 23+ мин на возврат.

23 мин 15 сек восстановления
Gloria Mark (UC Irvine), Cubic
Средний ВысокийРАСП
Размер PR

Медленное ревью → меньше и крупнее PR, чтобы сократить число раундов.

Поведенческая адаптация
Cubic, Code Climate, FullScale
Распределённые: Разработчики понимают, что каждая отправка PR стоит целый день задержки, поэтому группируют больше изменений, чтобы минимизировать раунды.
Удовлетворённость разработчиков

Работа сделана, но заблокирована — глубоко фрустрирует.

Meta: медленный P75 → недовольство
Meta Engineering, Cubic, jonnyzzz.com
Средний КритическийМОНОРАСП
Доля неудачных деплоев (CFR)

Давление пропустить тщательное ревью → формальное одобрение.

PR, ожидающие 3+ дня: менее тщательные
PropelCode, Cubic, ITProToday
Монорепо: Межкомандные PR в монорепозиториях часто требуют одобрения нескольких CODEOWNERS, добавляя задержку и давление на формальное одобрение.
Распределённые: Многодневные циклы ревью создают давление на формальное одобрение. Ревьюеры в других TZ могут не иметь полного контекста недавних изменений.
PR в неделю

Каждый дополнительный час задержки ревью напрямую снижает недельный throughput PR. 24h review → разработчики батчат изменения → меньше PR.

Линейная зависимость
Axify, Code Climate, Haystack
Распределённые: Кросс-TZ задержка ревью (12-24h) — доминирующий bottleneck. Распределенные команды закрывают на 50-70% меньше PR, чем колокированные, исключительно из-за задержек ревью.

← Зависит от

Размер PR

+100 строк → +25 мин ревью. ~50-строчные PR сливаются на 40% быстрее.

Прямое измерение
PropelCode (50K+ PRs analyzed), Adadot, Graphite
Распределённые: Большие PR + разрыв TZ = многодневные циклы ревью. Каждый уточняющий вопрос добавляет 12-24ч.
Сложность кода

Ревьюеры должны сначала построить ментальную модель.

∝ сложность понимания
Code review research
Средний КритическийРАСП
Ясность владения кодом

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

CODEOWNERS + автоматическое назначение
arXiv study (222 repos), Aviator, GitHub
Распределённые: Маршрутизация владения с учетом TZ критична: автоназначение ревьюеров в TZ автора или следующей активной TZ минимизирует латентность цикла обратной связи.
Радиус поражения (Blast Radius)

Изменения, затрагивающие много команд, требуют ревью от многих CODEOWNERS. Каждый ревьюер добавляет латентность.

Требование множественных одобрений
SmartBear Code Review Study, Google Engineering Practices
Качество асинхронной связи

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

Исчерпывающие PR одобряются на 60%+ быстрее
DORA 2024, industry analysis
Покрытие ревью по зонам

Назначенные ревьюеры в каждом часовом поясе сокращают латентность ревью с 12-24 часов до 2-4 часов.

Снижает worst-case с 24 часов до 4 часов
Multiple industry sources
Окно пересечения (Overlap)

Окна пересечения позволяют обсуждать PR в реальном времени.

Синхронное ревью в окне пересечения
Industry research and case studies
Уровень принятия AI-тулинга

+91% рост времени ревью при высоком внедрении AI (90%+).

+91% при 90% внедрении
Faros AI Research (10,000+ developers, 1,255 teams) - Already Validated
Уровень доверия к AI

Низкое доверие = больше оверхеда на верификацию.

Оверхед верификации
METR Study & Academic Research
Карта метрик — Stanislav Belyaev · Анализ — Anthropic Claude Opus 4.6 · Все данные проверены человеком