DORA/Accelerate

DORA/Accelerate

Объективные метрики для оценки качества команды разработчиков

Выведены DORA (DevOps Research and Assessment) в 2014 г. на основе данных 9200 компаний из 110 стран. В 40 % компаний — участников исследования было более 500 сотрудников, у 70 % компаний имелось более сотни серверов.

Исследование проводится ежегодно, на их результаты в своих выкладках прямо ссылается Google.

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

В последние годы введена и пятая метрика — «надёжность», т. е. операционная эффективность программного обеспечения, с которым работает команда.

В отчёте по итогам 2022 года DORA отказалась от деления команд на худшие, средние, хорошие и элитные. С этого года основой для классификации является этап жизненного цикла сервиса: начало, поток, замедление и угасание.

1. Пропускная способность: Частота поставок кода

Насколько часто происходят релизы.

Начало. От раза в неделю до раза в месяц

Поток. Несколько раз в день — по запросу

Замедление. От раза в неделю до раза в месяц

Угасание. От раза в неделю до раза в месяц

2. Пропускная способность: Время на разворачивание изменений

Сколько времени проходит между коммитом кода и моментом, когда код успешно выходит на прод

Начало. Более 6 месяцев

Поток. Менее часа

Замедление. От дня до недели

Угасание. От 1 до 6 месяцев

3. Стабильность: Время на восстановление после сбоев

Сколько времени проходит между сбоем и восстановлением работоспособности сервиса

Начало. От дня до недели

Поток. Менее часа

Замедление. Менее дня

Угасание. От 1 до 6 месяцев

4. Стабильность: Отношение ошибок к общему числу изменений

В скольких случаях внесённые изменения приводят к тому, что сервис «падает» полностью или частично и требует восстановления.

Начало. 31–45%

Поток. 0–15%

Замедление. 0–15%

Угасание. 46–60%

5. Качество кода: Надёжность

Выполняет ли код поставленные перед ним задачи

Начало. Код не всегда отвечает потребностям заказчика

Поток. Как правило, код отвечает потребностям заказчика

Замедление. Как правило, код отвечает потребностям заказчика

Угасание. Как правило, код отвечает потребностям заказчика

На что обратить внимание?

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

Как улучшить метрики в активно развивающемся сервисе?

  • Придерживаться практики «always releasable state» — ваш код всегда должен быть готов к релизу.
  • Использовать системы версионирования для кода и для всех артефактов, позволяющих быстро развернуть систему где угодно для отладки и разбора проблем.
  • Настроить автоматизированное тестирование.
  • Настроить сбор обратной связи от системы через логирование и мониторинг с проактивными событиями.
  • Ввести правила маркировки изменений.

Время на разработку и восстановление будет страдать, если у вас есть code review архитектором и в целом если feature branch существует больше пары часов.

Don’t branch — важнейший принцип!

Отчёт DORA – 2022

Другие статьи

Смотреть все

Полное использование Git

Читать

Сервисная карта

Читать

Зачем разработчику внедрять стандарты в разработке?

Читать

Ваша заявка отправлена успешно

Отправить снова

Базовый курс управления и построения IT-контура компании. Поток 05.09.23

Контакты

С вами свяжется модератор курса Алексей Клоков