Коэффициент отказов изменений (Change failure rate) — одна из 4 метрик в DORA, показывает процент изменений, которые привели к сбою или потребовали отката изменения

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

Считается метрика в "лоб"

Change Failure Rate = (Количество неудачных изменений / Общее количество изменений) × 100

Например, если за месяц ты сделал 20 деплоев, и 2 из них привели к инцидентам, твой Change Failure Rate = (2/20) × 100 = 10%.

Какое значение Change Failure Rate нормальное?

DORA описывает четыре уровня:

  • Elite performers: менее 5%
  • High performers: 5-15%
  • Medium performers: 15-45%
  • Low performers: более 45%

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

Как улучшить Коэффициент отказов изменений

Шаг 1: Настрой мониторинг и алертинг SLO/SLI

Зачастую быстрые откаты связаны с "очевидными проблемами": забыли что-то включить, забыли настроить и прочее. Чтобы это заметить, стоит описать и настроить мониторинг для SLO/SLI.

Для этого можно использовать инструменты:

  • Prometheus/VictoriaMetrics для мониторинга
  • AlertManager/Grafana для алертов
  • Свой task tracker для отслеживания инцидентов (но лучше специализированное решение)

Шаг 2: Используй стратегии деплоя

  • Feature flags — включай новые фичи постепенно, только спустя время после релиза включай
  • Canary deployments — деплой сначала на небольшой процент пользователей, ничего страшного, если релиз будет идти 30 минут+
  • Blue-green deployments — переключение между версиями без простоя
  • Rollback стратегии — разберись как откатывать релиз, какие конфиги менять, куда жать

Шаг 3: Начни улучшать тестирование

Вместе с командой начни внедрять многоуровневое тестирование:

  • Unit тесты для каждого (значимого) компонента
  • Integration тесты для взаимодействия модулей
  • E2E тесты и приемочное тестирование
  • Performance тесты для проверки производительности

Постепенно выстраивай Quality Gates, чтобы снижать вероятность появления сбоя на проде. Даже "примитивный" E2E тест (например, регистрация) может сэкономить много нервов.

Шаг 4: Проводи пост мортем

После каждого инцидента проводи post-mortem анализ:

  • Что пошло не так?
  • Как можно было предотвратить?
  • Какие процессы нужно улучшить?

Важно: Не забывай, что всё сразу сделать нельзя, выбирай что прямо сейчас наиболее важное.

FAQ

Как часто нужно измерять Change Failure Rate?

Проще делать расчет после каждого релиза. Выкатили, подождали день, обновили значение.

Как Change Failure Rate влияет на бизнес?

Высокий Change Failure Rate приводит к:

  • Потере доверия пользователей
  • Снижению производительности команды
  • Увеличению операционных расходов
  • Репутационным рискам