Короткий ответ
Нужно пересмотреть процесс так, чтобы глубина и формальность ревью соответствовали реальному риску изменения (критичный путь оплаты против мелкой правки текста), распределить нагрузку шире одного human bottleneck и дополнить ревью автоматическими проверками там, где это возможно.
Как это работает подробнее
При росте команды фиксированное правило «один ревьюер на всё» перестаёт масштабироваться: количество PR растёт линейно с числом разработчиков, а пропускная способность ревью — не обязательно. Решение обычно сочетает несколько механизмов: назначение ревьюеров по владению кодом (CODEOWNERS) вместо случайного выбора, автоматизацию рутинных проверок (линтеры, статический анализ, security-сканеры) до ревью человеком, и дифференциацию строгости ревью по риску (двойное ревью для платежей, одно для внутренних инструментов).
Пример кода
# Пример дифференцированной политики ревью по зонам кода (CODEOWNERS + правила CI)
paths:
payments/**:
required_reviewers: 2
required_checks: [unit-tests, security-scan, manual-qa-signoff]
internal-tools/**:
required_reviewers: 1
required_checks: [unit-tests, lint]
# Линтер и статический анализ выполняются автоматически до назначения ревьюера,
# снимая с человека рутинные замечания о стиле.Что использовать на практике
- Практика. Важно явно определить SLA на ревью (например, первый отклик в течение рабочего дня) и сделать его видимым в метриках команды, иначе процесс будет деградировать незаметно. Для крупных PR полезно поощрять разбиение на более мелкие логические части — это снижает когнитивную нагрузку на ревьюера и ускоряет сам процесс, а не только формально фиксировать SLA.
Подводные камни
- Риски. Частая ошибка — оставить процесс неизменным по мере роста команды, из-за чего ревью превращается в формальность («апрув не глядя», лишь бы не блокировать коллегу) — риск регрессий растёт незаметно. Другая ошибка — резко ужесточить процесс для всех изменений одинаково (например, требовать двух ревьюеров и ручное тестирование для любой правки), что замедляет даже безопасные мелкие изменения и снижает мотивацию команды.