Чтобы понять причины большой популярности devops-практик в производственных компаниях, рассмотрим их важность с разных точек зрения. В понимании команд и организаций devops-практики влияют на жизни и рабочие структуры как отдельных сотрудников, так и отрасли в целом. Изучение различных культур компаний открывает перед нами возможности для взаимодействия с непохожими друг на друга людьми. Также мы получаем возможность увидеть взаимосвязь devops-практик и новых философских концепций, которым только предстоит появиться на свет.
Рассказывая и слушая истории из личного опыта, люди укрепляют чувство своей принадлежности к сообществу, ощущают себя более комфортно благодаря общим ценностям группы, а также обретают дополнительное понимание происходящих событий. Будучи членами группы, мы совершенствуем навыки общения благодаря общей системе обозначения, уменьшаем количество конфликтных ситуаций благодаря наличию общего понимания, а также усиливаем сплоченность благодаря общим ценностям и пониманию реальности.
Явные и неявные истории
Люди всегда любили использовать истории в качестве средства общения, но это не единственный способ рассказать о нашей жизни и культуре.
Явные истории излагают события в непосредственной повествовательной форме. Это самые распространенные виды историй, постоянно используемые в качестве примеров. Они рассказываются осознанно и преднамеренно.
Неявные истории предоставляют информацию о культуре, историях и деятельности. Они не рассказываются непосредственно.
Говоря о своем опыте работы с devops, мы зачастую даже не подозреваем, что рассказываем неявные истории. Рассмотрим следующие примеры.
Предложение кандидату присоединиться к команде
На собеседовании интервьюер часто неосознанно делится информацией о ценностях компании. Упоминание о необходимости работать в выходные дни служит сигналом, который говорит кандидату о том, что в этой компании нарушен баланс работы и личной жизни. Кроме того, этот факт может свидетельствовать об энтузиазме сотрудников, работающих над общим продуктом.
Публикации в блоге
Исходя из характера информации, содержащейся в публикациях, и уровня их написания потенциальный сотрудник может узнать о ценностях компании и об ожидаемом уровне знаний.
Презентации на отраслевых конференциях
Уровень и роль сотрудников, представляющих компанию на отраслевых конференциях, говорят о степени доверии и прозрачности внутри организации. Тот факт, что компанию представляют линейные сотрудники, может свидетельствовать о недостаточном уровне престижности конференции.
ЭЛИС ГОЛДФАС, ИНЖЕНЕР ПО ОБЕСПЕЧЕНИЮ НАДЕЖНОСТИ САЙТОВ, КОМПАНИЯ NEW RELIC
Для меня devops-практики заключались в интеграции и взаимодействии разработчиков и инженеров эксплуатации для создания надежного программного обеспечения и платформ. DevOps подразумевает автоматизацию, тестирование и грамотное управление инцидентами.
Тем не менее devops может быть чем-то большим, целой культурой. Команды должны научиться понимать друг друга, и только после этого приступать к совместному решению задач. По сути, devops-культура функционирует настолько очевидно, что сначала я даже и не осознавала, что являюсь практикующим специалистом в этой области. Разумеется, нужно общаться с другими командами. Разумеется, инциденты не должны сопровождаться огульными обвинениями. Разумеется, нужны разносторонние таланты. И еще очень много ситуаций, когда слово «разумеется» вполне уместно.
Мне повезло работать в компании, которая с энтузиазмом внедряет ценности devops в повседневные рабочие процессы, не прибегая к громким словам и презентациям. Мы практикуем разбор инцидентов без поиска виноватых, назначаем инженеров по надежности в команды разработки и по возможности обеспечиваем прозрачность. Например, наша инженерная организация управляется с помощью централизованной базы данных процессов, вклад в которую может сделать любой инженер. Все изменения в процессах отображаются в ежемесячных рассылках.
Я знаю, что могу обсудить свой текущий проект с любым инженером из моей организации и найду людей, которые мне сочувствуют и готовы помочь при выполнении проекта. Поскольку каждая команда разработчиков участвует в дежурствах, мы все говорим практически на одном языке и поддерживаем успехи и неудачи друг друга. По сути, мы стремимся к приобретению универсальных навыков, когда разработчики могут устранять неполадки в Linux, а инженеры по надежности – создавать системные инструменты и веб-приложения.
Конечно, это не идеальное решение. Когда кто-то звонит вам в 3 часа ночи из-за ошибки в чужом коде, вам хочется послать его куда подальше. Но наличие официальных процессов гарантирует, что никто не будет обижен в порыве чувств. При наличии культуры, в которой интерес поддерживается дисциплиной, люди остаются в команде надолго. Ценность сбалансированных команд состоит в создании возможностей для выявления и реализации молодых талантов.
Если все вышесказанное и есть суть devops, то все сотрудники должны действовать в подобном ключе.
Одно дело – обсуждать, как что-то работает в теории, и совсем другое – реализовать это на практике. Любой сотрудник, внесший изменение в программный продукт, в определенный момент говорит себе (или коллегам): «В теории оно должно работать». При этом он будет не уверен, как внесенное изменение проявит себя в производственной среде.
У всех нас есть свое видение мира и представление о том, как все должно работать. Независимо от того, осознаем мы это или нет (а чаще всего не осознаем), эти модели управляют нашими мыслями и поведением в повседневной жизни. Все это называется используемой теорией, или, другими словами, все это способы проявления на практике теорий или моделей мышления. Тем не менее на вопросы о нашем видении мира или о предположительном поведении в той или иной ситуации мы зачастую даем другие ответы. Наше предположительное или желаемое поведение, так называемые проповедуемые теории, не всегда совпадает с нашими фактическими действиями.
Как правило, люди не ставят целью обмануть себя, когда проповедуемые теории отличаются от используемых теорий. Человеку свойственно верить в то, что его действия лучше и более позитивны. Но когда он сталкивается с чем-то, что происходит на самом деле, результаты его действий будут гораздо хуже, чем в теории. И если в теории менеджер позволяет своим подчиненным самостоятельно выбирать способы разрешения конфликтной ситуации, на практике он контролирует каждый их шаг на бессознательном уровне.
Практика на основе примеров из реальной жизни
На страницах этой книги приводятся примеры из реальной жизни, демонстрирующие практическое применение разнообразных теорий в процессе внедрения devops. Одно дело рассказывать о безупречной среде и совсем другое – создать эту среду в реальности.
Посещая конференции или знакомясь с публикациями в блогах, обращайте внимание на то, как другие организации внедряют devops, и сравнивайте со своей компанией. В процессе сравнения может оказаться, что культуры других организаций ушли далеко вперед. Тем не менее не стоит из-за этого расстраиваться, ведь проповедуемые ими теории могут существенно отличаться от используемых теорий.
Многих раздражает, когда одни и те же люди или представители организаций рассказывают о том, что они делают, или когда другие говорят о них как об «авторитетах отрасли». В этой ситуации остается только порадоваться за них, но реалии таковы, что многое из этого просто не будет работать в вашей организации. Процесс внедрения изменений может протекать сложнее в организациях со специфическими проблемами.
В культуру организации можно внести гораздо больше изменений, чем могут представить себе сотрудники этой организации. Разные компании и отрасли выдвигают различные требования и ограничения, поэтому не каждое желаемое изменение возможно внедрить. Если, например, необходимо поддержать совместимость со стандартом безопасности PCI, есть определенные изменения процесса, касающиеся таких аспектов, как серверы, обрабатывающие данные банковских карт, которые невозможно применить. Также есть ограничения, которым нужно следовать для поддержания совместимости. Тем не менее для большинства организаций это не исключает возможности получения значимых результатов в других областях деятельности.
Учимся на историях
Холизм – это теория о том, что части целого находятся во взаимодействии и что целое больше, чем сумма его частей. Эта теория применима и к четырем принципам эффективных devops-практик: эффективность внедрения и продвижения devops-практик зависит от взаимодействия этих четырех принципов.
Благодаря историям можно узнать следующие моменты:
• причину выбора тех или иных инструментов или технологий;
• способы взаимодействия людей друг с другом и использования разных инструментов для достижения поставленных целей;
• каким образом инструменты помогли (или не помогли) достичь целей, поставленных в реальности;
• каким образом команды и организации работали над разными проблемами;
• какие методы были наиболее действенными, и, что более важно, причины неэффективности методов.
В следующей главе рассматриваются различные формы знаний и обучения, которые применяются в командах, группах или организациях, а также изменения, способствующие достижению близости и обучению.
Установление связи с историями
Помимо изучения взаимодействия между разными частями организации, важно еще разобраться, как мы связаны между собой как практикующие специалисты и как обычные люди. Нельзя отделять вопросы, связанные с программным обеспечением или технологиями, от их разработчиков и пользователей. Программные продукты создаются людьми и для людей, поэтому акцентирование внимания на технических аспектах и одновременное игнорирование межличностных отношений свидетельствуют о недальновидности.