Доверие между командами разработки и эксплуатации
Есть довольно упрямый исторический раскол, который индустрия годами пытается преодолеть под флагом DevOps культуры, но который в реальной практике многих компаний продолжает существовать, просто в чуть более замаскированной, менее явной форме, чем прежде. Формально команды разработки и эксплуатации давно объединены под общим руководством, работают в общих инструментах и участвуют в общих ритуалах, но реальное, глубокое взаимное доверие между ними остается значительно более редким явлением, чем декларируют официальные презентации о корпоративной культуре. Разберемся, откуда берется этот исторический раскол, почему он оказывается настолько живучим, и что реально способно его преодолеть, помимо формального объединения под одной организационной вывеской. Корни этого раскола уходят значительно глубже простого организационного разделения на отдельные подразделения. Команда разработки традиционно оценивается и вознаграждается за скорость поставки новой функциональности, за способность быстро реализовать очередную бизнес-идею и вывести ее на рынок. Команда эксплуатации традиционно оценивается за стабильность и надежность уже работающей системы, за отсутствие серьезных инцидентов и простоев. Эти два набора стимулов, при поверхностном взгляде вполне совместимых друг с другом, на практике регулярно вступают в прямое, реальное противоречие в конкретный момент времени, когда разработка настаивает на срочном развертывании очередной, коммерчески важной функциональности, а эксплуатация справедливо указывает на реальные риски подобной спешки для стабильности уже работающей системы. Многолетнее, повторяющееся переживание подобного конфликта интересов и формирует ту самую взаимную настороженность, которая сохраняется значительно дольше, чем формальное объединение команд под общим организационным зонтиком. Практическое проявление этой настороженности значительно разнообразнее, чем прямой, открытый конфликт, и значительно чаще принимает форму молчаливого, взаимного недоверия, проявляющегося в повседневных, мелких деталях совместной работы. Инженер эксплуатации, годами наблюдавший, как разработчики регулярно недооценивают реальную сложность и реальные риски своих изменений, начинает интуитивно, заранее относиться к любому новому запросу от разработки с определенным скептицизмом, требуя избыточно детальных обоснований даже для вполне разумных, обоснованных изменений. Разработчик, годами сталкивавшийся с тем, что эксплуатация регулярно блокирует или существенно затягивает вполне обоснованные, коммерчески значимые изменения ссылкой на абстрактные, недостаточно конкретные риски, начинает интуитивно воспринимать эксплуатацию как источник бюрократических препятствий, а не как содержательного партнера, реально заинтересованного в общем успехе продукта. Первый и, пожалуй, самый фундаментальный шаг к реальному преодолению этого раскола состоит в честном, содержательном согласовании общих, разделяемых обеими сторонами метрик успеха, вместо продолжения раздельной оценки каждой стороны по собственным, зачастую противоречащим друг другу показателям. Компания, где команда разработки продолжает оцениваться исключительно по скорости поставки, а команда эксплуатации исключительно по отсутствию инцидентов, фактически институционально закладывает и постоянно воспроизводит тот самый структурный конфликт интересов, о котором шла речь выше. Значительно более здравый подход строится вокруг общих, разделяемых обеими сторонами метрик, вроде уже устоявшихся индустриальных показателей частоты развертываний, времени доставки изменений, доли проблемных изменений и среднего времени восстановления, о содержательной ценности которых для объективной оценки эффективности команды я подробно писал в отдельной статье, метрик, которые по своей самой природе требуют одновременно и скорости, и качества, устраняя искусственное, институциональное противопоставление этих двух ценностей друг другу.
· 05.08
Мой практический совет руководителям, которые честно признают у себя в компании подобный, все еще существующий раскол между командами разработки и эксплуатации, несмотря на формальное объединение этих команд под общим организационным зонтиком много лет назад. Начните с честного согласования общих, разделяемых метрик успеха, устраняющих искусственное институциональное противопоставление скорости и надежности, инвестируйте в реальную прозрачность процессов принятия решений на обеих сторонах, практикуйте совместную, а не разделенную ответственность за последствия принятых решений, обеспечивайте реальное, живое совместное участие в критичных моментах реагирования на инциденты, вовлекайте эксплуатацию на самом раннем этапе архитектурного проектирования, и открыто, публично признавайте реальную ценность перспективы коллег с другой стороны исторического разделения. Именно эта совокупность конкретных, практических действий, а не сам факт объединения под общим названием, и определяет, действительно ли ваши команды разработки и эксплуатации способны реально доверять друг другу, работая как единая, целостная команда с общими интересами, или продолжают существовать как два формально объединенных, но по-прежнему внутренне разделенных лагеря, годами повторяющих один и тот же, унаследованный из истории индустрии конфликт.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён