Впервые о метриках DevOps Research & Assessment (DORA) мир разработки узнал в 2018 г., когда вышла книга «Ускоряйся! Наука DevOps: Как создавать и масштабировать высокопроизводительные цифровые организации». Они стали популярными в качестве способа измерения качества создания софта, однако не все команды применяют эти метрики правильно, что приводит к плачевным результатам. Брайан Финстер, заслуженный инженер и архитектор потока создания ценности Defense Unicorns, рассматривает на портале TechBeacon, почему это происходит, и дает советы, как исправить ситуацию.

Метрики DORA могут быть обоюдоострыми

В упомянутой выше книге Николь, Джин и Джез Хамбл собрали и обобщили особенности перехода на непрерывный поток доставки ценности, включая модели поведения и культуру, и дали рекомендации, что и почему нужно измерять. Всего можно выделить четыре ключевых показателя, на которые ориентируются высокоэффективные организации: частота развертывания, затрачиваемое время, процент неудачных изменений и среднее время отладки.

Постепенно модернизацией доставки ПО занялось все больше организаций, и метрики DORA стали индикатором прогресса их усилий. Однако здесь все не так уж просто. Метрики кажутся очень простыми: «Давайте измерим, отобразим данные и все узнаем». Но когда они применяются к чему-либо, связанному с людьми, они становятся сложными и требуют постоянного внимания и корректировки для предотвращения неблагоприятных побочных эффектов. С их распространением связано появление антипаттернов.

Когда цель метрик DORA понимается неправильно, могут возникнуть серьезные проблемы. Мы все чаще видим, как они используются совместно с системой целеполагания OKR, чтобы улучшить сами метрики DORA. Но улучшение метрик никогда не должно быть целью. Закон Гудхарта гласит: «Когда мера измерения становится целью, она перестает быть хорошей мерой». Высокоэффективные организации стали такими потому, что сосредоточились не на метрических целях, а на клиенте и на том, как более эффективно, результативно и стабильно предоставлять ценность.

С этим связана идея использования метрик DORA для сравнения эффективности доставки командами. У каждой команды свой контекст — у них разные продукты, среды и проблемы. Вы можете отслеживать прогресс в работе команды и, если у вас генеративная культура, демонстрировать его другим командам, чтобы те могли сравнить его со своим, но ранжирование команд будет иметь негативное влияние на ценность для клиентов и бизнеса. Если цель метрик — управление производительностью, а не отслеживание здоровья всей системы доставки, то они толкают нас на путь превращения в фабрику функций.

Другой распространенной проблемой является рост применения метрик, которые отображают цифры на дашборде, но не дают очевидной подсказки о том, какие действия следует предпринять. «Мы 436 раз провели развертывание!». Хорошо, но насколько велика организация? 436 раз — это за неделю, день или год? Это число растет или сокращается? Какие действия нужно предпринять, чтобы улучшить ситуацию? Что еще более важно: как быстро мы получаем обратную связь о том, какую ценность мы на самом деле предоставляем?

Проблема, которую действительно нужно решить

Можно ли ограничиться только четырьмя метриками? Их больше, но для измерения результатов экспериментов по улучшению лучше всего ориентироваться на четыре самые важные, но при этом иметь в виду, что они имеют смысл только в контексте всего остального. «Непрерывная доставка повышает производительность и само качество доставки, а также помогает улучшить культуру, уменьшить выгорание и сократить количество проблем при внедрении», — утверждают авторы книги.

Поэтому вам нужно найти ответ на вопрос: что нужно улучшить, чтобы ваше ПО всегда находилось в состоянии, пригодном для выпуска, при этом постоянно изменяясь? Чтобы сделать это, начните с непрерывной интеграции (CI). Это деятельность по интеграции протестированного, пригодного к выпуску кода в основную ветку с большой частотой, по крайней мере, один раз в день. Это основное правило, которое позволяет выявить ограничения во всей организации и самый простой и точный инструмент для отслеживания целей по улучшению. Как долго существуют отдельные ветки? Как часто вносятся изменения в основную ветку? Как быстро вы можете выявить дефекты?

Далее вам необходимо улучшить поток доставки, чтобы повысить свою способность соответствовать ожиданиям клиентов. Сколько дел у вас находится в процессе выполнения? Как вы можете сократить их количество, чтобы «перестать начинать и начать заканчивать»? Каково общее время от запроса до доставки? Составьте карту потока создания ценности, чтобы найти и устранить ограничения. Вы должны сосредоточиться на результатах для клиентов, иначе все ваши усилия не будут иметь значения. Довольны ли ваши пользователи? Есть ли у вас стабильный, доступный и безопасный продукт, на который они могут положиться? Используются ли новые функции, или их следует убрать?

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

Ответы на эти вопросы зависят от наличия правильной культуры и правильно организованной работы. Не будет лишним провести опрос, чтобы понять насколько культура компании соответствует организационным критериям, выработанным социологом Роном Вестрамом. Он позволит получить представление о проблемах, которые могут препятствовать достижению положительных результатов. Наличие культуры доверия и общей миссии обучения и совершенствования является основополагающим фактором.

Вам также необходимо найти способы измерения стресса в коллективе. Порекомендовали бы люди свою команду (или организацию), чтобы к ней присоединились другие? Сколько сверхурочных часов тратится на такие вещи, как поддержка или внедрение новых изменений? Эти детали вызывают выгорание и текучесть кадров. Какие сигналы вы можете отслеживать, чтобы улучшить показатели? DORA рекомендует отслеживать более 14 измеримых показателей здоровья организации и доставки. Все они важны для понимания сложных взаимодействий людей, процессов и продуктов, необходимых для непрерывного предоставления ценности конечному пользователю.