При создании этого материала были использованы данные отчета DORA Accelerate State of DevOps 2024
В конце октября 2024 DORA выпустила очередной отчет Accelerate State of DevOps — результаты масштабного ежегодного исследования об эффективности разработки. В этой статье команда KT.Team суммировала выводы исследователей DORA о том, как работают эффективные команды разработки. Здесь же вы найдете ключевые советы DORA: какие подходы внедрить, чтобы повысить результативность команды и оправдать ожидания бизнеса.
Статья будет полезна руководителям ИТ любого уровня — от проектных менеджеров до ИТ-директоров.
Методология DORA
DORA собирает данные с помощью ежегодно проводимого всемирного опроса профессионалов, работающих на технических и смежных должностях.
Опрос включает вопросы, касающиеся методов работы и достижений которые актуальны для всей организации и для людей, работающих в этой организации.
DORA использует методологию строгой статистической оценки методологию, чтобы понять взаимосвязи между этими факторами и как каждый из них способствует успеху команд и организаций.
В этом году исследователи DORA впервые дополнили опрос глубинными интервью с профессионалами, чтобы получить более глубокое понимание и обеспечить дополнительный контекст.
Ключевые метрики эффективности разработки ПО
Обязательная часть каждого отчета DORA — ключевые метрики производительности команды. С помощью этих показателей ведущие компании по всему миру оценивают эффективность процесса разработки и ищут точки роста для команд.
Больших сюрпризов в нынешнем отчете не было: четыре основные метрики DORA сохранила. Команды оценивались по времени развертывания, частоте деплоя, количеству обновлений с ошибками и времени восстановления после сбоев. Пятая же метрика — количество переработок кода — появилась в отчете впервые.
Время развертывания (Change lead time)
Показывает, сколько времени требуется, чтобы изменения в коде прошли весь путь от написания до выпуска в продакшн.
Почему это важно: чем короче этот путь, тем быстрее команда может реагировать на запросы бизнеса и изменения на рынке.
Самые сильные команды, согласно оценке DORA, могут вносить изменения меньше чем за один день, в то время как у слабых команд этот процесс может занимать от недели до полугода.
Частота деплоя (Deployment frequency)
Отражает то, как часто команда выпускает изменения в продакшн.
Почему это важно: высокая частота деплоя свидетельствует о гибкости команды и ее способности оперативно инициировать изменения и доводить их до релиза.
Лучшие команды выпускают обновления ежедневно или несколько раз в день, что позволяет им быстрее тестировать гипотезы и лучше адаптировать продукт под запросы бизнеса и пользователей.
Доля обновлений с ошибками (Change failure rate)
Указывает, какой процент изменений в коде приводит к сбоям или требует хотфиксов/откатов на предыдущие версии.
Почему это важно: метрика позволяет оценить качество процессов тестирования и код-ревью.
Чем меньше этот показатель, тем меньше команда тратит времени на дополнительную непредвиденную работу, что напрямую влияет как на настроение команды, так и на качество продукта.
Время восстановления после сбоя (Failed deployment recovery time)
Сколько времени требуется на устранение проблем после сбоя в продукте.
Почему это важно: быстрое восстановление показывает, насколько команда готова к работе в условиях непредвиденных проблем.
Лучшие команды справляются с восстановлением в максимально короткие сроки (меньше чем за час), из-за чего пользователи и бизнес страдают от сбоя намного меньше.
Количество переработок кода (Rework rate) *
Показывает, сколько изменений пришлось внести в код повторно из-за ошибок, которые проявились уже после релиза.
Почему это важно: исследования DORA подтверждают, что высокий уровень повторной работы тесно связан с высоким уровнем Change Failure Rate. Когда релиз оказывается неудачным, команда вынуждена вносить дополнительные изменения для устранения ошибок. Вместе с Change Failure Rate эта метрика отражает стабильность процессов разработки.
* Это новая для DORA метрика, которую пока что не применяли наравне с четырьмя основными. В будущем она, возможно, появится в докладах для оценки производительности.
Для анализа Rework rate исследователи спросили разработчиков: «Сколько раз за последние шесть месяцев вам приходилось делать развертывания для исправления багов, замеченных пользователями?» Полученные данные подтвердили гипотезу: метрики Rework rate и Change failure rate взаимосвязаны и вместе могут служить основой для оценки стабильности процессов разработки.
В итоге лучшие команды:
Внедряют обновления до 127 раз быстрее самых слабых команд;
Выпускают обновления в 8 раз чаще;
Восстанавливаются после сбоев в 182 раза быстрее;
В 2293 раза быстрее восстанавливают систему после падения.
Как использовать метрики DORA для оценки команды?
Оцените текущую ситуацию. Используйте для этого инструмент DORA Quick Check — это небольшой опрос, который поможет определить нынешнюю производительность команды.
Определите слабые места. Например, если команда восстанавливается после сбоя слишком долго, пересмотрите процессы реагирования на сбои. Основные компетенции команды, на которые стоит обратить внимание, можно найти здесь.
Как, по мнению экспертов DORA, повысить производительность команды?
DORA дает несколько практических советов, которые могут оказать положительное влияние на производительность команды.
Укрепляйте доверие к искусственному интеллекту
Искусственный интеллект помогает автоматизировать рутинные задачи в разработке ПО и повысить качество кода и документации. Впрочем, его потенциал сейчас раскрыт не полностью: во многом из-за недостатка доверия. Согласно отчету DORA, почти 40% разработчиков не доверяют решениям, которые предлагает ИИ — несмотря на то, что ИИ заметно увеличивает продуктивность разработчиков.
Как повысить доверие?
Обучение работе с ИИ. Покажите разработчикам, как ИИ-инструменты могут помочь им решать повседневные задачи быстрее и качественнее;
Демонстрация успешных кейсов. Поделитесь с командой примерами, в которых ИИ помог повысить продуктивность или сократить количество ошибок;
Прозрачность внедрения. Открыто рассказывайте, как и зачем используется ИИ в вашем процессе разработки, чтобы снизить опасения и сопротивление.
Если разработчики начнут доверять ИИ, они будут активнее использовать его, что в целом позитивно скажется на производительности. Более подробно об этом можно прочитать в моей предыдущей статье.
Будьте клиентоцентричными
Не секрет, что продукты, созданные командами, которые ориентируются на конечного пользователя, оказываются более качественными. В результате бизнес получает не только довольных пользователей, но и мотивированную команду, которая видит результат своей работы.
Как внедрить этот подход?
Собирайте обратную связь. Регулярные опросы и тестирования помогут понять, что важно для ваших пользователей;
Фокусируйтесь на том, что важно для пользователей. Выстраивайте приоритеты с учетом потребностей и болей клиентов, описанных через юзер-стори;
Показывайте команде отзывы пользователей. Разработчикам важно видеть, как их усилия влияют на пользовательский опыт.
Клиентоцентричность не только повышает качество продукта, но и помогает снизить выгорание сотрудников, так как они видят, как их работа приносит пользу.
Используйте трансформационное лидерство
Трансформационное лидерство позволяет вдохновлять команды, поддерживать их развитие и создавать благоприятную для инноваций среду. По данным DORA, такой стиль управления повышает продуктивность и качество продуктов, а также снижает уровень выгорания.
Основные принципы трансформационного лидерства
Четкое видение. У трансформационных лидеров есть четкое представление о том, куда движется команда и организация;
Вдохновляющая коммуникация. Лидеры создают позитивный настрой в команде, помогают сотрудникам видеть в переменах новые возможности;
Интеллектуальная стимуляция. Трансформационные лидеры побуждают команду искать свежие подходы к решению старых проблем и переосмыслить устоявшиеся подходы к работе;
Поддержка и забота. Такие лидеры учитывают чувства и потребности сотрудников. Они создают комфортную рабочую среду, где каждый чувствует себя важным и нужным;
Персональный подход. Лидеры ценят вклад каждого сотрудника, отмечают достижения членов команды, хвалят за успехи и замечают улучшения в их работе.
Лидеры, которые вдохновляют и поддерживают своих сотрудников, создают высокоэффективные команды, готовые к любым вызовам.
Поддерживайте стабильность приоритетов
Если приоритеты в вашей компании часто меняются, разработчики теряют продуктивность и накапливают стресс. В среде, где нет постоянных задач и целей, страдают даже самые сильные команды.
Как достичь стабильности?
Старайтесь не менять ключевые приоритеты. Не стоит совсем отказываться от изменений — бизнес-цели и продуктовые стратегии могут меняться. Важно сократить частоту пересмотра приоритетов, особенно для задач, которые уже в работе;
Защитите команды от хаоса. Если приоритеты все же приходится менять, постарайтесь минимизировать их влияние на задачи команды. Изменения не должны обрушиваться на разработчиков как снег на голову;
Сформулируйте четкие цели. Частые изменения создают у команды ощущение, что их работа не имеет никакого смысла. Ясные и понятные цели помогают избежать этого;
Регулярно пересматривайте процессы. Даже при стабильных приоритетах важно следить за тем, чтобы процессы замедляли разработку. Если команда начинает дольше работать над обновлениями, пересмотрите объемы задач или частоту релизов.
Стабильные приоритеты помогают команде сосредоточиться на выполнении задач, повышая ее продуктивность и снижая уровень выгорания.
Автоматизируйте инфраструктуру
Платформенная инженерия — это подход, при котором создаются внутренние инструменты для ускорения разработки. Согласно исследованию DORA, внедрение этого подхода позволяет также добиться более высокого уровня независимости разработчиков. Создание и поддержание работы платформ в проекте помогает автоматизировать процессы — например, создания тестовых окружений, выполнения тестов и развертывания приложений.
Как правильно внедрить этот подход?
Ориентируйтесь на потребности разработчиков. Создавайте инструменты, которые упрощают именно их работу;
Внедряйте обратную связь. Регулярно собирайте отзывы от пользователей платформы, чтобы улучшать ее;
Сделайте ставку на самодостаточность. Инструменты должны позволять разработчикам выполнять задачи без привлечения других специалистов.
По данным DORA, переход к платформам в проекте может повысить производительность на 8% и улучшить организационные показатели на 6%.
Используйте облачные решения, чтобы повысить гибкость
Облачные технологии делают инфраструктуру более гибкой и упрощают масштабирование.
DORA отмечает положительное влияние облачных решений на работу, но в то же время рекомендует подойти к этому совету с осторожностью. Важно понимать, что команда должна адаптировать свои процессы для использования ключевых возможностей облачных технологий: автоматизации, масштабируемости, доступности и эффективного управления ресурсами. Если этого не произойдет, переход в облако негативно скажется на производительности.
В таком случае команде будет лучше остаться на собственной инфраструктуре компании.
Работайте над основными метриками
Основные метрики из отчета DORA — это ориентир для измерения эффективности и инструмент, который поможет выявить проблемные места. Вот как можно улучшить показатели команды:
Анализируйте текущие показатели. Используйте DORA Quick Check, о котором мы писали выше, чтобы оценить уровень команды и увидеть точки роста.
Ставьте реалистичные цели. Работайте над улучшением одной-двух метрик за раз, не стоит пытаться сразу исправить все;
Регулярно измеряйте прогресс. Сравнивайте изменения с исходными данными и корректируйте подходы.
Читаете отчеты DORA? Пользуетесь их выводами и методиками? С чем согласны и не согласны? Делитесь в комментариях