В середине 2024 года была представлена обновленная модель
DORA Core Model, подготовленная исследовательской командой
DORA при поддержке сообщества
DORA Community. Первоначальная версия модели была описана в книге
Accelerate известными экспертами Gene Kim, Jez Humble и Nicole Forsgren. Сегодня развитие модели продолжается силами сообщества и командой DORA, которая входит в Google Cloud. Наш эксперт,
Игорь Курочкин, принимал активное участие в
разработке и обсуждении новой модели.
Модель включает три основные категории:
1.
Capabilities. Включает 18 инженерных практик, сгруппированных в три блока:
- Fast Flow. Практики, которые позволяют стабильно и быстро поставлять высококачественное программное обеспечение;
- Fast Feedback. Практики, обеспечивающие получение быстрой обратной связи на всех этапах жизненного цикла разработки;
- Climate for Learning. Практики и характеристики, поддерживающие непрерывное обучение и обмен знаниями.
2.
Performance. Категория включает 8 метрик, разделенных на два блока. Ключевые метрики (
Four key metrics) используются для измерения поставки (
Software Delivery) и SLOs метрики для измерения надежности (
Reliability);
3.
Outcomes. Объединяет 6 результативных показателей, которые влияют на всю организацию.
Полный перечень практик в категории
Capabilities:
- Code Maintainability. Наличие систем и инструментов, упрощающих изменение кода, повторное использование и обновление зависимостей;
- Empowering teams to choose tools. Возможность команд самостоятельно выбирать инструменты, необходимые для эффективной работы;
- Documentation quality. Качество документации, включая правила обновления, наличие ответственных и интеграцию работы с документацией в процесс разработки;
- Generative culture. Культура высокого уровня доверия и сотрудничества, характеризующаяся качественным обменом информацией и открытостью новым решениям;
- Continuous delivery. Внедрение практик, обеспечивающих быструю поставку: непрерывная интеграция, Trunk-based development, контроль версий и непрерывное тестирование;
- Deployment automation. Автоматизация развертывания изменений;
- Loosely coupled teams. Командные и архитектурные структуры, позволяющие командам работать независимо;
- Version control. Использование систем контроля версий для всех артефактов;
- Database change management. Управление изменениями баз данных через контроль версий и прозрачные процессы согласования;
- Flexible infrastructure. Наличие облачных характеристик в инфраструктуре: самообслуживание, управление ресурсами, масштабируемость;
- Streamlining change approval. Оптимизация процессов согласования изменений и отказ от избыточных проверок;
- Working in small batches. Декомпозиция работы на малые и быстро тестируемые единицы;
- Continuous integration. Ежедневная интеграция кода с быстрым обнаружением и исправлением ошибок;
- Reliability engineering. Проектирование и эксплуатация систем, устойчивых к сбоям;
- Test automation. Автоматизация тестирования на всех этапах разработки;
- Monitoring and observability. Инструменты для понимания состояния систем и анализа их поведения;
- Pervasive security. Интеграция мер безопасности во все этапы жизненного цикла разработки;
- Test data management. Обеспечение доступности, достаточности и управляемости тестовых данных.
Полный список метрик в
Performance:
- Change lead time. Время от коммита до развертывания в продакшен;
- Deployment frequency. Частота развертываний изменений;
- Change fail percentage. Доля развертываний, приводящих к сбоям;
- Failed deployment recovery time. Время восстановления после неуспешного развертывания.
- Measurement coverage. Наличие SLI для всех критически важных сервисов;
- Measurement focus. Ориентация SLI на реальный пользовательский опыт;
- Target optimization. Корректность выбора SLO с учетом потребностей пользователей и возможностей организации;
- Target compliance. Степень соблюдения установленных SLO.
Полный список результатов в
Outcomes:
- Commercial performance. Прибыльность, доля рынка, количество клиентов и объем услуг;
- Non-commercial performance. Операционная эффективность, удовлетворенность клиентов, качество услуг и достижение миссии организации;
- Job satisfaction. Удовлетворенность сотрудников своей работой;
- Productivity. Способность команд эффективно работать, экспериментировать и улучшать пользовательский опыт;
- Reduced burnout. Снижение физического и эмоционального истощения сотрудников;
- Reduced rework. Снижение незапланированной реактивной работы.
Модель
DORA Core Model версии 2.1.0 представлена на схеме ниже: