Статьи
Обучающие материалы
Интерактивные руководства
Показатели DORA: как измерить успех Open DevOps
Программа DevOps Research and Assessment (DORA) предоставляет стандартный набор показателей DevOps для оценки производительности и зрелости процессов. Эти показатели позволяют проанализировать скорость реакции DevOps на изменения, среднее время развертывания кода, частоту итераций и сбои.
В данном руководстве рассматривается четыре показателя DORA и их важность, а также приводятся варианты использования Open DevOps для измерения производительности команд.
Что такое DORA?
Изначально DORA — это команда Google Cloud, которая специализировалась на оценке производительности DevOps с помощью стандартного набора показателей. Их целью было повышение производительности, скорости и эффективности совместной работы. Команды DevOps по всему миру используют эти показатели как инструмент для непрерывного совершенствования, помогающий ставить цели в зависимости от текущей производительности и оценивать прогресс в их достижении.
DevOps служит ключом к бесперебойной работе бизнес-ПО и процессов, позволяя конечным пользователям сосредоточиться на своих задачах. Показатели DORA помогают командам DevOps:
- Реалистично оценивать ответные действия
- Качественнее планировать работу
- Определять области, нуждающиеся в улучшении
-
Формировать согласованные решения по вложениям в технические и кадровые ресурсы
Что такое показатели DORA?
Показатели DORA для команд DevOps сводятся к четырем основным величинам.
- Частота развертывания
- Время от приема до развертывания кода
- Частота сбоев при развертывании
- Время восстановления обслуживания после сбоя или отказа
Давайте обсудим, почему именно эти показатели столь важны для команд DevOps, как их измерить и что могут сделать команды, чтобы работать эффективнее.
Частота развертывания
Как правило, чтобы уменьшить число изменений и рисков в каждом цикле, команды DevOps развертывают ПО часто и небольшими порциями. Чем чаще происходит развертывание, тем раньше команды могут получить обратную связь и тем быстрее они могут проводить итерации.
Частота развертывания — это среднее количество завершенных развертываний кода в день в той или иной среде. Это показатель общей эффективности DevOps, поскольку он измеряет скорость работы команды разработчиков, ее возможности и уровень автоматизации.
Увеличить частоту развертывания можно за счет сокращения объема работы или размера каждого развертываемого пакета.
Время внесения изменений
Время внесения изменений характеризует среднюю скорость поставки кода командой DevOps — от коммита до развертывания. Этот показатель позволяет проанализировать загрузку команды, сложность кода и общую способность DevOps реагировать на изменения в среде.
По нему компании могут количественно оценить скорость доставки кода клиенту или бизнесу. Например, у высококвалифицированных команд среднее время внесения изменений может составлять 2–4 часа, а у других может растягиваться до недели.
Сократить время внесения изменений можно благодаря уменьшению объема развертывания, улучшению проверок кода и повышению автоматизации.
См. решение
Инструменты для высококлассной команды DevOps
Связанные материалы
Важность структуры команды в DevOps
Частота сбоев при внесении изменений
Частота сбоев при внесении изменений — это процент развертываний, приводящих к сбоям в рабочей среде. Измерять автоматизацию и возможности DevOps с помощью частоты развертывания и времени внесения изменений полезно, но только если эти развертывания успешны. Частота сбоев при внесении изменений — своего рода противовес для частоты и скорости развертывания.
Измерить этот показатель не всегда легко, так как баги в рабочей среде возникают во многих случаях. Особенно это касается развертывания критических релизов по обратной связи. Понимание уровня серьезности и частоты этих ошибок помогает командам DevOps установить оптимальный баланс между скоростью и стабильностью.
Сократить частоту сбоев при внесении изменений можно за счет уменьшения объема незавершенной работы при развертывании и повышения автоматизации.
Время восстановления обслуживания
Если в рабочей среде что-то пошло не так, то здесь на первый план выходит время реагирования. Независимо от причины — будь то внешняя угроза безопасности или баг, из-за которого остановился стандартный процесс — команды DevOps должны незамедлительно отреагировать следующими мерами.
- Исправления багов
- Новый код
Обновления
Время восстановления обслуживания или среднее время восстановления — это среднее время между обнаружением и решением проблемы в рабочей среде.
Если у команды есть план реагирования, то ряд проблем можно устранить заблаговременно, что в конечном итоге сокращает время восстановления обслуживания.
Почему важны показатели DORA
Чтобы понять, что такое DevOps, примите во внимание, что исторически команды разработки и эксплуатации не только никак не пересекались между собой, но даже не имели представления о работе друг друга. Методика DevOps, получившая сейчас широкое распространение, фактически объединила эти направления в одно.
Одним из преимуществ DevOps стало сотрудничество разнопрофильных команд, которое повышает качество решений и ускоряет их поставку.
DORA использует эти показатели для определения и оценки производительности команды. По каждому показателю командам присваивается уровень (низкий, средний, высокий и элитный). Например, чтобы получить элитный уровень по частоте сбоев при внесении изменений, команда должна стабильно поддерживать этот показатель в районе 0–15 %, а элитный уровень по времени восстановления подразумевает решение проблем в течение часа. Суммарный рейтинг команды по всем показателям определяет ее общий рейтинг.
Сравнение вашей команды с коллегами по отрасли очень полезно и помогает определить, над чем ей нужно работать. Показатели DORA служат основой для постановки целей и оценки прогресса.
Как начать использовать показатели DORA
При внедрении показателей DORA следует совокупно анализировать все четыре величины. Например, стабильно высокая частота развертывания при стабильно же высокой частоте сбоев не будет иметь особого смысла.
Возможно, в этом случае потребуется уделить больше внимания автоматизации и проверке кода. Аналогично, сама по себе низкая частота сбоев при внесении изменений может выглядеть неплохо, но если при этом время внесения изменений слишком велико, то, возможно, стоит разбить работу на более мелкие фрагменты.
Для начала создайте конвейер DevOps, который будет считывать источники данных в контексте изменений, инцидентов и развертываний.
- Извлекайте данные с момента его создания.
- Сортируйте их по таблицам изменений, развертываний и инцидентов.
- Рассчитывайте производительность на основе показателей.
Open DevOps предоставляет командам инструменты для разработки, развертывания и эксплуатации программного обеспечения. Jira Software поддерживает Open DevOps — лучший инструмент для Agile-команд. Благодаря интеграции с ведущими поставщиками и приложениями Marketplace команды могут собрать пакет инструментов DevOps для любых задач.
Показатели DORA и управление потоком ценности
Управление потоком ценности — это практика частой поставки клиентам высококачественных релизов ПО. Если клиент признает ценность поставляемых изменений, то управление потоком ценности считается успешным.
Показатели DORA играют важную роль в управлении потоком ценности, так как позволяют измерить базовый уровень следующих величин.
- Частота развертывания
- Время внесения изменений
- Частота сбоев
-
Время восстановления обслуживания
В сочетании с обратной связью от клиентов показатели DORA помогают командам DevOps определить, над чем нужно работать и как выгодно представить свои продукты среди конкурентов.
Использование показателей DORA для успеха Open DevOps
Когда команды только начинают осваивать DevOps, показатели DORA сослужат им отличную службу на пути к успеху. Open DevOps помогает отслеживать показатели DORA для оценки состояния DevOps.
Благодаря встроенным интеграциям Open DevOps команды могут собрать пакет инструментов для разработки ПО от начала до конца и внедрить показатели DORA для оценки успеха. Вот список ведущих инструментов DevOps.
- Jira Software — самый популярный вариант для планирования и отслеживания работы среди Agile-команд разработчиков ПО.
- Bitbucket позволяет командам разработчиков хранить и отслеживать код, а также управлять изменениями.
- Confluence предоставляет инструменты для управления знаниями и совместной работы, позволяющие собирать, анализировать информацию и обмениваться ею.
-
Jira Service Management дает командам DevOps возможность отслеживать инциденты, управлять ими и собирать важнейшие показатели DORA.
Open DevOps поможет оптимизировать процесс поставки ПО и настроить вашу команду на успех: в нем есть все необходимое для быстрого начала разработки и эксплуатации.
Показатели DORA: часто задаваемые вопросы
Какие проблемы обычно возникают при использовании показателей DORA?
При внедрении показателей DORA заранее задайте правильный настрой среди участников команды. Некоторых людей могут пугать сбор данных и раскрытие сведений о производительности. Чтобы этого не произошло, предложите всем поучаствовать в следующем:
- Сбор данных
- Генерация идей
-
Постановка целей
Спрашивайте, что достижимо, а что пока выходит за рамки возможностей.
Совместно анализируйте и обсуждайте результаты. Хотя мнение по поводу какой-либо конкретной области (например, автоматизации) найдется у каждого участника, специалисты в этой области помогут прийти к согласию и наладить взаимодействие.
Как показатели DORA в Open DevOps помогут компании постоянно совершенствоваться?
Показатели DORA помогают командам установить оптимальный баланс между скоростью и качеством. Вашей целью может быть статус элитной команды DevOps по DORA, но начнете вы со своего уровня и постепенно придете к этой цели.
Когда люди понимают, что достичь амбициозной долгосрочной цели можно путем коротких постепенных улучшений, то команда не утратит мотивации к непрерывному совершенствованию.
Разбивайте цели на конкретные и достижимые показатели для определенных областей DevOps — например, уменьшение времени восстановления на 25 % при достижении частоты сбоев при внесении изменений 10 % или меньше. Это позволяет ставить значимые цели, отталкиваясь от текущих возможностей команды.
Как показатели DORA согласуются с принципами Open DevOps?
Измерить результативность DevOps может быть нелегко, особенно в сложных проектах. DORA предоставляет надежные показатели, помогающие командам оценить свою эффективность в определенном контексте.
Задача DevOps — объединить разработку и эксплуатацию для повышения производительности и расширения возможностей. Показатели DORA согласуются с этими ценностями и обеспечивают полную прозрачность. Команды, у которых есть возможность отслеживать непрерывное улучшение, сохраняют мотивацию и концентрацию.
Поделитесь этой статьей
Следующая тема
Рекомендуемые статьи
Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.