Одним из прокси-показателей качества процессов команды, а иногда и всей организации, является «боль» от деплоев. Авторы книги «Accelerate» в ходе своего исследования выявили значимую связь между практиками поставки ПО и производительностью IT-команд.
Это не значит, что любой болезненный релиз автоматически доказывает слабую культуру. Но регулярные проблемы с поставкой часто указывают на системные ограничения: слабую обратную связь, ручные операции, накопленный технический долг и привычку «исправлять» людей вместо процессов. В итоге запускается нисходящая спираль, в которой ситуация лишь усугубляется.
Слабая поставка — кошмарная работа
Мне несколько раз доводилось работать в организациях с плохо выстроенными процессами поставки, и каждый раз это был путь через страдания. Сборки релиза занимали колоссальное время, на этапе тестирования всплывали неожиданные баги, сами релизы «падали» в процессе выкатки, а после деплоя еще несколько дней с прода прилетали инциденты, которые приходилось экстренно чинить.
Как руководителю, мне постоянно приходилось сражаться на двух фронтах. С одной стороны, я пытался изменить и оптимизировать ситуацию с релизами, а с другой — поддерживал команду, находившуюся в постоянном напряжении и унынии. Хуже всего было то, что ни у кого не хватало ресурса на качественные улучшения: текущие проблемы пожирали всё время и силы без остатка.
Локальные улучшения удавалось внедрять, а где-то я даже смог продавить значительные изменения всего цикла поставки, но цена за это была крайне высока.
Как DevOps влияет на процессы
Тем не менее, работа над процессами даже в запущенных случаях довольно быстро приносит плоды. Выстраивание грамотного пайплайна поставки может быть длительным, но сама возможность влиять на ситуацию и видеть прогресс отлично поддерживает мотивацию людей.
Нисходящую спираль можно развернуть. Но для этого нужно:
- перестать винить людей и дать им возможность учиться на ошибках;
- узнавать у сотрудников, что именно мешает им достигать целей, и помогать устранять эти препятствия;
- создать среду для экспериментов и непрерывного обучения;
- поддерживать инициативы и давать качественную обратную связь;
- системно работать над автоматизацией и повышением качества разработки.
Вот почему методология DevOps неразрывно связана с культурой: она не только про технологии, но и про людей. Хотя со стороны кажется, что меняются лишь технические аспекты, на деле эти трансформации затрагивают «культурный код» компании. Если команда стремится работать в комфортной среде и создавать качественный продукт, это неизбежно отразится и на процессах, и на результате.