Глава 14. Масштабирование: критические точки
Эта глава посвящена способам выявления и преодоления трудностей, возникающих на основных этапах жизненного цикла организаций. На первый взгляд может показаться, что проще все свести к идее «корпоративных devops-практик», как обычно поступают многие, когда идет речь о методологиях devops, которые не используются в стартапах и небольших компаниях. Но это было бы слишком просто, хотя подобные devops-практики и включают некоторые специфичные для корпораций моменты, которые будут рассмотрены в настоящей главе. Гораздо лучше было бы описать процесс изменения компании с течением времени, будь то рост и развитие стартапа или разделение крупной организации на две отдельные компании. С помощью масштабирования описываются эволюция, рост и продвижение организации как единого объекта на всех этапах ее жизненного цикла.
Знакомство с масштабированием
Довольно сложно предугадать тот момент, когда в команде, отделе или организации необходимо внедрять те или иные изменения. Поскольку эти изменения порой неочевидны, весьма полезными будут некоторые советы по их внедрению.
Если мы рассматриваем прогресс в качестве составной части разнородного ландшафта, который либо способствует, либо мешает будущим начинаниям, это поможет нам планировать, выполнять и корректировать текущее состояние с учетом предварительно поставленных целей. Эти цели могут достигаться как постепенными, но управляемыми действиями, так и динамическими скачками. Опыт обычно подсказывает, когда и как следует менять направление прогресса, а также то, какие стратегии нужно применять в тех или иных средах.
В этой главе освещаются причины возникновения проблем, возникающих в процессе масштабирования организаций. Кроме того, вниманию читателя предлагается детальное рассмотрение взаимодействия между тремя рассмотренными ранее столпами эффективных devops-практик и различными разновидностями проблем, возникающих в процессе масштабирования. В продолжение темы предыдущих глав будут рассмотрены некоторые неправильные представления и общие вопросы, возникающие в процессе устранения проблем.
Рассмотрение корпоративных devops-практик
Не существует «корпоративных devops-практик», предусматривающих использование уникальных инструментов и методик, которые применялись бы исключительно в компаниях, в которых работает большое количество сотрудников. Также не существует единого определения успеха, позволяющего получить однозначный результат, к которому стремятся все компании и организации. Чтобы успешно внедрять изменения, нужно превратить организацию в удобный для применения и сбалансированный инструмент, обладающий необходимой степенью гибкости.
Как в крупных компаниях, так и в небольших организациях необходимым условием для выработки силы, баланса и оперативности является devops-пакт. Культура сотрудничества и близости способствует укреплению «слабых связей» и более оперативному распространению информации внутри компании. Крупные организации отличаются друг от друга способами применения принципов, а не самими принципами.
Многие полагают, что devops-практики могут применяться только в новых проектах, выполняемых в небольших стартапах, и непригодны в крупных компаниях или наследственных системах, которым присущи технические и культурные долги. Тем не менее в отчете 2015 State of DevOps Report (отчет о состоянии devops за 2015 год), подготовленном компанией Puppet Labs, утверждается, что это далеко не так (https://puppet.com/resources/white-paper/2015-state-devops-report).
Высокая производительность достигается за счет контролируемости и развертываемости.
Исследователи, подготовившие этот отчет, обнаружили, что культурные принципы devops могут применяться в любых организациях, независимо от их размеров. Кроме того, такие технические принципы, как процесс непрерывной доставки и улучшенного развертывания, применимы для любого хорошо разработанного и спроектированного проекта по разработке ПО, включая унаследованный программный код, который выполняется на мэйнфреймах. Абсолютно новый проект, основанный на использовании микросервисов, не может быть успешным по причине своей новизны и тех же микросервисов. Он должен быть тщательно спроектированным, проверяемым и легко развертываемым. Эти принципы применяются по отношению ко всем программным проектам, как старым, так и новым.
Стратегическое расширение или сокращение организаций с помощью devops
Успешные организации должны знать способы масштабирования в тех случаях, когда возникает необходимость расширения или сокращения. В зависимости от ситуации и исполнителей изменяются трактовки масштабирования. Таким образом, масштабирование является еще одним примером народной модели, поэтому для эффективного обсуждения этого процесса в организации следует уточнить вид масштабирования. Например, масштабирование может подразумевать следующее:
• расширение клиентской базы;
• увеличение прибыли;
• расширение проекта или команды с целью достижения соответствия определенным требованиям;
• поддержка или улучшение соотношения количества сотрудников и систем либо денежных затрат;
• более быстрый рост по сравнению с конкурентами.
Дополнительные сложности возникают из-за модификаторов, которые придают дополнительный вес терминам. Пример использования модификатора – словосочетание «крупномасштабные» системы. Насколько «крупными» считаются системы, если с помощью управляемых служб один инженер может быстро развернуть и свернуть сотни систем буквально за считанные минуты, а не за месяцы, как это было ранее? Если рассматривать эту проблему через призму быстро развивающейся доступности систем, то возникает вопрос о том, существует ли набор принципов, методов и технологий, применимых в определенном поднаборе организаций?
Ответ на этот вопрос отрицательный. В дополнение к практикам, рассмотренным в части IV, в 2015 году компания Etsy насчитывала около 800 сотрудников, 1,5 млн активных продавцов и 22,6 млн активных продавцов с годовым объемом продаж 1,93 млрд долларов. Как показывает другой пример, компания Target в 2015 году насчитывала около 347 тыс. сотрудников и имела 72 млрд долларов годового дохода. Несмотря на различия в размерах, обе компании адаптировали принципы и методы, основанные на текущих культурах. В результате были выбраны стратегии, которые являются оптимальными в современных условиях.
Соображения по выполнению масштабирования
Невозможно выработать единый механизм, который позволил бы решить все проблемы, особенно связанные с устранением человеческого фактора из систем. В реальном мире архитекторы разрабатывают проекты на основе своих знаний, опыта, интуиции и механического процесса. Проект здания зависит от ряда факторов, среди которых технические требования, особенности прилегающей территории, историческая обусловленность, а также влияние окружающей среды.
Дома возводятся на основе чертежей и 3D-моделирования. В основу внешнего и внутреннего проектов зданий архитекторы закладывают существующие культурные традиции и тенденции. Универсального проекта здания, который удовлетворял бы всем требованиям, не существует. То же самое касается и программных проектов и организаций.
Не следует судить о системах в целом на основании отдельных компонентов или своего опыта. Благодаря построению, управлению и использованию систем формируется большой и сложный набор откликов. В сложных системах не бывает простых линейных случаев отказа, для которых может быть идентифицирована единая первопричина. В процессе проектирования и масштабирования систем следует учитывать все факторы, а особенно их взаимодействие.
Например, в зависимости от используемого программного обеспечения и его конфигурации один и тот же сервер базы данных будет различным образом отвечать на 50 операций считывания одинаковых и разных данных. Если база данных является распределенной и находится на нескольких серверах, ее характеристики и поведение снова изменятся. Далеко не всегда поведение, наблюдавшееся в прошлом, влияет на поведение в будущем.
Благодаря опыту управления подобным сервером базы данных вы сможете более эффективно работать с другими людьми. Подобный опыт облегчает формирование и рост команд, а также способствует устранению пробелов в знаниях. Более того, сведение способов управления системами к простым повторяющимся действиям критическо важно для снижения общего уровня сложности. К тому же процесс упрощения сам по себе непрост. То, что работает в одной среде, может оказаться совершенно непригодным для другой среды.
Планирование масштабирования
Идентификация поведения системы и основных факторов, влияющих на ее работу, позволит сформировать набор приоритетных систем для текущей среды. Для начала следует сформулировать свои цели. Ставите ли вы своей задачей получение определенного опыта? Как вы будете реагировать на перебои в работе? Будете ли вы стремиться к восстановлению доверительных отношений после устранения бреши в системе безопасности?
В настоящее время благодаря специальному программному обеспечению можно освоить искусство дизайна. Более того, специалисты, добившиеся значительных достижений в этой сфере, могут получить звание архитектора. Различные истории, посвященные архитектуре программного обеспечения, ограничивают наше понимание ПО, мешая рассмотреть его с других позиций. Не бывает плохих монолитных программных структур, также некорректно сравнивать их с микросервисами. Благодаря изучению технологий, процессов и стратегий действий в конфликтных ситуациях гарантированно принимаются продуманные решения в пользу гибкости или негибкости в определенной среде. Принятие осознанных решений по поводу гибкого подхода, применяемого в организации, позволит более целенаправленно подготовиться к будущим изменениям. Лучшей подготовке также способствует прочный фундамент, которому присуща необходимая степень гибкости, а также возможность статического или динамического отклика в ответ на изменения.
Организационная структура
Процесс масштабирования упрощается в случае пересмотра способов организации команд. Небольшие многофункциональные команды, члены которых обладают определенными навыками (например, разработка внешнего и внутреннего интерфейса, дизайн, взаимодействие с пользователем и выполнение операций), применяемые для создания того или иного проекта, более успешны в продвижении своего продукта.
Несмотря на вышесказанное, монофункциональным командам также свойственны определенные преимущества. Среди них – более широкие возможности по обмену знаниями и узкая специализация внутри определенной команды или отдела. Если выявляется, что монофункциональные команды прекрасно взаимодействуют с остальными сотрудниками организации, не стоит их переформатировать ради самой идеи переорганизации. Важна не сама структура организации, а налаживание взаимодействия между командами с целью повышения общей эффективности организации в целом.
В иерархических организациях пресекаются на корню любые начинания, в результате чего сотрудники начинают чувствовать беспомощность. С другой стороны, в подобных организациях повышению эффективности способствует разница в расстановке сил и в статусе сотрудников. Если же в организации осуществляется массовая реорганизация, направленная на устранение иерархической структуры, это может привести к появлению определенных проблем. В таких организациях необходимо контролировать соблюдение баланса между пользой для организации в целом и ущербом для морального состояния сотрудников.
Местонахождение
Распределение организаций и команд в разных местах может привести к серьезным проблемам с эффективностью применения коммуникативных навыков компании в целом.
Если организация размещена в нескольких местах, очень быстро выявляется, что процессы общения и принятия решений (если таковые вообще наблюдаются) зависят от возможности личного общения с каждым сотрудником. Если в ближайшем будущем планируется масштабирование отдельно расположенных подразделений, следует убедиться в возможности письменного общения с каждым сотрудником.
С точки зрения логистики многочисленные местоположения порождают новые идеи, связанные с ИТ-технологиями и инфраструктурой. Если, например, у одного офиса или подразделения имеется доступ к какому-либо жизненно важному ресурсу (современные принтеры, служба поддержки, более скоростное подключение к Интернету и т. п.), сотрудники других офисов могут почувствовать себя людьми второго сорта. Подобная ситуация негативно сказывается как на моральном климате коллектива, так и на общей производительности. Поэтому следует удостовериться в том, что различная инфраструктура, применяемая в разных подразделениях, не будет мешать нормальной рабочей загрузке и схеме организации работ.
Глобальное понимание культурных аспектов и ожиданий клиентов также задает способы управления локальными службами поддержки. В условиях технологического прогресса и глобальной конкуренции компания должна правильно определить тот момент, когда нужно приложить максимум усилий, чтобы выделиться на фоне других компаний. Для выполнения этой задачи может понадобиться более разнообразное распределение рабочей силы.
Чтобы компания прошла определенный этап своего развития, нужно продумать порядок работы удаленных команд. Если этого не делать, скорость реагирования на изменения внутри организации будет падать. Все это может привести к дублированию усилий и уменьшению степени удовлетворения отдельных сотрудников и команд, поскольку сотрудники будут стремиться наладить контакты.
Командная гибкость
На данный момент было выполнено немало исследований оптимального размера команд. Небольшим командам обычно не хватает ресурсов для выполнения всех работ, особенно с учетом необходимого количества человеко-часов или знаний. В более крупных командах (9–10 человек), в которых выстраиваются определенные взаимоотношения и осуществляется взаимодействие между сотрудниками, труднее принимать своевременные и наиболее эффективные решения. Большие команды склонны к принятию групповых решений. Индивидуальные предложения зачастую отклоняются в интересах группы, что негативно сказывается на креативных способностях сотрудников и их умении решать проблемы.
Если размер группы ограничить количеством 5–7 человек, то прием на работу новых сотрудников приведет к созданию новых команд. Множество команд порождает большее количество менеджеров и руководителей. Менеджмент подразумевает изменение карьеры, но никак не продвижение вперед. Продвижение внутри организации способствует поддержанию культуры и карьерному росту сотрудников, заинтересованных в этом.
СЛИШКОМ МНОГО БЮРОКРАТИИ?
Одним из наиболее существенных недостатков крупных организаций является засилье бюрократии. Под бюрократией подразумеваются административные системы, которые управляют крупными организациями и характеризуются сложными, неэффективными и негибкими схемами. Эти факторы, особенно негибкость, препятствуют внедрению devops-практик в больших организациях. За последние годы проведено много исследований в области теорий управления, касающихся устранения избыточной бюрократии.
Некоторые организации нашли экстремальные способы борьбы с бюрократией (http://www.nytimes.com/2015/07/19/business/at-zappos-selling-shoes-and-a-vision.html). Например, компания Zappos выбрала для себя модель «холакраси» (holacracy). В рамках этой модели все решения принимаются самоорганизованными командами, а не посредством традиционных управленческих иерархий (https://www.fastcompany.com/3044417/zappos-ceo-tony-hsieh-adopt-holacracy-or-leave). После внедрения «холакраси» перед сотрудниками встал выбор – либо принять изменения, либо получить выходное пособие и уволиться.
Спустя два года после внедрения новой системы 18 % сотрудников компании Zappos были вынуждены покинуть компанию. Несколько компаний с аналогичной бюрократической структурой предложили своим сотрудникам уволиться, но пока неясно, помогло ли это устранить избыточную бюрократию.
Многие сотрудники компании Zappos отметили, что в условиях модели «холакраси» карьерное продвижение стало менее понятным и четким, а отсутствующую власть заменяют люди без управленческого образования или опыта. Отсутствие официальных управленческих структур не означает равноправие. Неравноправие будет существовать всегда, но только в скрытой форме.
Ненужная бюрократическая волокита решается и другими способами, отличными от «холакраси». Как говорил Макс Вебер, бюрократия возникла как следствие функционирования таких ранних административных систем, как монархии и диктатуры. В этих системах амбиции одного человека обеспечивали практически полный контроль над другими людьми, а в системе «сдерживания и противовесов» этих людей практически ничто не сдерживало. Вебер считал бюрократию самым эффективным и рациональным способом организации и управления человеческой деятельностью. Последние исследования о ценностно-ориентированном руководстве выявляют преимущества бюрократии без целого ряда бесполезных управленческих уровней, тормозящих работу.
Жизненный цикл организации
При изучении жизненного цикла организации воспользуемся следующими основными инструментами:
• внутреннее и внешнее давление;
• рост и спад организаций.
Жизненные циклы организаций отличаются большим разнообразием. Это стало возможным в результате постоянного появления новых бизнес-моделей и способов финансирования, которые предлагают компаниям возможности по изменению, росту и достижению успеха.
Внутреннее давление на фазе подъема принимает форму естественного роста организации. Чтобы выпускать больше продуктов, разрабатывать дополнительные средства, ускорять выполнение работ и обслуживать больше клиентов, нанимают новых сотрудников. Этот процесс может быть как упреждающим (в ожидании будущего роста), так и реактивным. В последнем случае прием на работу новых людей происходит только тогда, когда прежний персонал не справляется с работой.
На фазе спада внутреннее давление может возникать в тех случаях, когда руководство компании понимает, что дела идут не слишком хорошо, и принимает волюнтаристское решение в пользу сокращения или консолидации компании. Степень эффективности этого подхода оказывает большое влияние на перспективы компании в будущем.
Внешнее давление на фазе спада может возникать из-за национальной или глобальной экономики, изменений конкурентных преимуществ либо в силу других причин. В качестве таких причин может выступать приобретение товаров или наборов патентов, выпускаемых компанией, либо разделение организации на части, которые покупаются другими компаниями. И снова, от степени эффективности и скорости реагирования организации на подобные события зависит ее будущее и возможность восстановиться после спада.
Исключение проектов-вампиров и проектов-зомби
На протяжении всего жизненного цикла организации постоянно следует решать, продолжают ли текущие проекты приносить пользу организации. Независимо от стадии жизненного цикла (рост или спад) идентификация проектов-вампиров или проектов-зомби может помочь организации успешно пережить период изменений. Подобные проекты сдерживают рост организации или ускоряют спад. Так или иначе, период изменений в организации – прекрасное время для наведения порядка в доме.
Проекты-зомби – это проекты, которые отнимают время и ресурсы. О таких проектах знают многие, но далеко не каждый решается на закрытие подобных проектов. Это может быть связано с опасениями по поводу своей дальнейшей занятости или негативного влияния закрытия проектов на сотрудников.
Проекты-вампиры – это проекты, которые «высасывают» ресурсы и энергию из других проектов. Подобный проект довольно сложно распознать, а еще труднее от него отказаться, поскольку тем самым вы поставите под угрозу благополучие многих людей. Иногда подобные проекты возникают вследствие технического долга, а порой причина их появления связана с недостатком информации.
Если вы имеете дело с проектами-вампирами или проектами-зомби, начните с разговора со всеми заинтересованными лицами, чтобы получить лучшее представление о ситуации. Обычно это помогает в разрядке первоначальных эмоциональных реакций, которые приводят к затягиванию выполнения проекта. Как правило, люди хотят работать над значимыми проектами. Участие в «мертвых» проектах лишено смысла.
Отказаться от проектов-вампиров и проектов-зомби может быть невероятно сложно, поскольку существуют основные исполнители, которые, по сути, держат такой проект на плаву. Причем они могут даже не подозревать, насколько затратным подобный проект является для организации. Если такому проекту будет угрожать опасность, эти люди воспринимают подобную опасность как личную угрозу. Убедить такого человека отказаться от «драгоценного» проекта, в который он вложил много сил и времени, будет невероятно сложно, но в данном случае игра стоит свеч. Люди, участвующие в каком-либо проекте, – люди увлеченные. Не пытайтесь погасить эту страсть, лучше перенаправьте ее на проекты, выгодные вашей компании.
Влияние циклов выпуска ПО
Чтобы ускорить цикл выпуска ПО, организации отказываются от процессов в стиле водопада, требующих недель и месяцев на внесение изменений, в пользу меньших по масштабу более частых выпусков. Чем быстрее можно внести изменения, тем оперативнее могут реагировать команды на внутреннее и внешнее давление, например быстрее устранять ошибки и возникающие проблемы.
Обратите внимание, что в некоторых областях ускорение лишено особого смысла. Что же касается циклов выпуска ПО, то здесь нужно принимать во внимание следующие соображения.
• Насколько легко создавать выпуск программного обеспечения в целом?
• Насколько критичными являются выпуски ПО?
Несмотря на повсеместную распространенность Интернета в наши дни, далеко не каждая программа становится доступной сразу же после разработки либо имеет постоянно обновляющийся контент. Следует понять и оценить важность и степень сложности проектов и циклов выпуска, чтобы идентифицировать наиболее значимые выпуски. Различные проекты, выполняемые в организации, могут по-разному работать с различными выпусками ПО.
Выпуски мобильных приложений в большинстве случаев предназначены для соответствующих мобильных платформ, таких как Google Play, App Store от Apple или другие. Каждый магазин приложений и платформа имеют собственные правила, ограничения и график, поэтому, как правило, обновление приложений возможно не чаще одного раза в неделю. К тому же слишком частое обновление принесет больше хлопот, чем пользы, особенно если каждое обновление нужно регистрировать в окне приложения.
Встроенное программное обеспечение является наиболее сложным, а его разработка требует больших затрат времени. Например, зачастую весьма трудно обновить ПО, встроенное в автомобили. Это связано с тем, что в случае возникновения каких-либо проблем придется выполнять громоздкую, дорогую и неудобную процедуру возврата автомобиля производителю. Программное обеспечение, встраиваемое в такие устройства, как цифровые телевизоры или микроволновые печи, может быть не столь критичным с точки зрения безопасности, но его обновление может быть также проблематичным. Чем больше устройств могут подключаться к Интернету, чем проще обновлять встроенное ПО. Но в процессе подобного обновления могут возникать проблемы с безопасностью, которые следует учитывать и своевременно устранять.
Помимо всего прочего, следует учитывать потенциальное влияние программного обеспечения на жизнь людей, которые его используют. Если вы будете уделять внимание этому вопросу, то сможете не только быстрее запланировать циклы выпуска ПО, но и уделить внимание другим аспектам работы, таким как окна поддержки либо дежурства, выполняемые в соответствии со степенью важности проектов.
«Падение» сайта социальной сети, возникшее из-за неожиданного сбоя или по причине запланированного технического обслуживания, менее болезненно, чем отключение банковского сайта. Хотя некоторые люди звонят в аварийную службу, если не могут войти в свою учетную запись Facebook!
Если вследствие ошибки пользователь обнаруживает, что у него отсутствуют фолловеры в Twitter, это не столь страшно, как если бы инвестиционный сайт по ошибке сообщил вам о нулевом балансе инвестиционного и пенсионного счета.
И хотя утечка персональной информации не столь заметна, как разглашение информации об идентификационных кодах, номерах кредитных карт и сведений о состоянии здоровья, не следует недооценивать ее серьезность.
На выбор программного обеспечения оказывают влияние скорость осуществления изменений, необходимость в быстром внесении изменений и потенциальные последствия ошибок, которые имеют место при реализации изменений.
Казалось бы, проще работать с автономным программным обеспечением, которое обновляется не столь часто, как веб-приложения, но в этом случае сложнее исправлять возникающие ошибки. Чем больше выполняется масштабирование в отношении заказчиков или предложений продукта, тем больше опасность потенциальных отключений или технических проблем.
Акционерные компании открытого типа оказывают более существенное влияние на биржевую стоимость акций, чем частные фирмы. Поэтому деятельность подобных компаний может находиться под контролем дополнительных норм и ограничений, например закона Сарбейнза – Оксли в США (Sarbanes – Oxley, SOX). Соблюдение норм этого закона требует дополнительного контроля финансовых данных, а также влияет на разработку и создание кода, взаимодействующего с этими данными.
Сложность и изменения
Размеры, сложность или точки перегиба, достигаемые в процессе роста организации, могут по-разному влиять на внедрение devops-практик. Больший размер или более сложная структура организаций, дополнительные ограничения, оказывающие влияние на работу внутри организаций или на сотрудничество с ними, – все это влияет на devops-практики как в корпоративной среде, так и в государственном секторе. В подобных ситуациях бюрократия ограничивает степень сотрудничества и близости между командами.
В правительственных учреждениях также действуют более жесткие законы, которые следует учитывать в случае использования подрывных технологий и практик. Нарушение этих правил в организации может привести к негативным последствиям. К тому же нарушение закона плохо само по себе, независимо от результатов деятельности организации.
К тому же в зависимости от правительственной организации контракты и стимулы могут приводить к изоляции команд разработчиков, эксплуатации и других важных команд. Если команды не заинтересованы в успехе друг друга, придется выполнить довольно сложную работу по налаживанию сотрудничества и совместной работы.
Большое значение имеет оказание помощи правительственным организациям в уменьшении рисков, а корпорациям – в концентрации на получаемых результатах. В следующих историях мы поделимся с вами способами ускорения изменений и снижения издержек налогоплательщиков; обсудим возможные юридические последствия от выпуска плохого ПО и проблемы, вызванные сотрудничеством и кооперацией между командами.
Масштабирование команд
Эффективное сотрудничество в команде возможно при наличии у членов команды понимания цели, взаимозависимости и ответственности за успех. В этом разделе будут рассмотрены различные факторы, которые помогут командам быть лучшими на протяжении всего жизненного цикла организации.
Лидеры, которые работают наиболее эффективным образом, как мне кажется, никогда не говорят «я». Они не думают о себе. Они говорят «мы»; они думают в терминах «команды». Они понимают суть своей работы по выполнению командных функций. Они принимают на себя ответственность и не избегают ее, но слово «мы» вызывает доверие. Это то, что создает доверие, то, что позволяет выполнить задание.
– Питер Ф. Друкер
Организационные структуры, ограничивающие людей узкими рамками исполняемых ролей или блокирующие любое проявление инициативы, могут привести к тому, что люди начинают оптимизировать работу для себя . Выбор процессов и инструментов, которые оптимальны для отдельных сотрудников, могут способствовать получению краткосрочной прибыли, которая не будет устойчивой на уровне команды или организации в целом.
В больших организациях упомянутые выше факторы иногда распределены по определенным ролям, даже если отдельные сотрудники владеют пересекающимися навыками и интересами. Таким образом уходит время, нужное для приобретения необходимых знаний. Это может привести к разладу. Хуже всего, что начинает формироваться так называемая лестница престижа, когда одна роль воспринимается как более важная или нужная, чем другая. В результате блокируется фактическая передача информации.
А теперь рассмотрим распространение информации в крупных организациях в целях отслеживания принятых решений.
Рост команд: масштабирование с помощью найма
Один из ключевых элементов масштабирования для команд заключается в росте этих команд. Организациям приходится рассматривать вопросы найма персонала на протяжении всего жизненного цикла. В этом разделе будут рассмотрены различные соображения, связанные с эффективным ростом команд в devops-среде.
Важно отметить, что в то время как в этом разделе будут рассмотрены аспекты найма и удержания команд, которые являются специфическими для devops-сред, не рассматривайте его в качестве руководства по найму какого-то мифического «10-кратного devops-инженера». Как отмечалось в главе 13, devops не всегда является названием определенной работы.
Помимо найма людей, которые знают об автоматизации инфраструктуры, облачном хранилище или контейнерах, в организациях и командах следует сосредоточиваться на оценке своих конкретных потребностей, а также на решении межличностных и культурных аспектов найма. Все это является ключевым для создания и поддержания devops-культуры.
Одна из проблем, которая часто возникает в процессе роста команд, – стоимость обучения сотрудников. Эта проблема рассматривается в разрезе повышения квалификации новичков или выпускников колледжа до уровня, позволяющего им вносить вклад в общее дело независимо друг от друга. Также рассматривается предоставление возможностей непрерывного роста и поддержки для штатных сотрудников. Если не тратить время и деньги на создание возможностей по обучению и развитию, низкоквалифицированным членам команды придется делать только тяжелую работу. Им придется выполнять только те задачи, на которые нет ни времени, ни желания у других членов команды. Также они не смогут подниматься по карьерной лестнице.
Если в организациях такие сферы, как ИТ, рассматриваются просто как центры затрат, а не области создания ценностей, вряд ли будет выделяться бюджет для найма сотрудников в ИТ-отдел. Руководство этих организаций заявляет, что вместо найма людей на работу нужно просто автоматизировать соответствующие области. В этом высказывании присутствует лишь доля истины, поскольку в ближайшее время автоматизация не в состоянии полностью заменить человека. Далеко не всю работу можно или нужно автоматизировать, и зачастую более сложная автоматизация приводит к росту масштаба вмешательства человека в случае возникновения каких-либо проблем. Как упоминалось в части IV, ни одна из методик автоматизации либо автоматизированных технологий не может заменить человеческие компоненты разработки. Также не следует рассматривать автоматизацию в качестве еще одного способа уменьшения затрат.
Во многих организациях избегают приема на работу большого числа новичков, поскольку беспокоятся, что пройдет слишком много времени, прежде чем они начнут выполнять «реальную» работу. Также опасения связаны с тем, что более опытным членам команды придется тратить слишком много времени на обучение и наставничество новичков. Но нежелание инвестировать средства в обучение и рост новичков, вероятно, приведет к формированию более однородной команды, а также к созданию условий, менее способствующих росту и развитию в целом. Также не забывайте о законе Брукса: «Если проект не укладывается в сроки, то привлечение дополнительной рабочей силы задержит его еще больше» (Adding manpower to a late software project makes it later). Этот закон сформулировал инженер-программист Фред Брукс в своей книге «Мифический человеко-месяц» (Mythical Man-Month). Эта идея, которую сам Брукс признает упрощением, аккуратно подводит нас к мысли о том, что затраты и накладные расходы, связанные с наймом дополнительного персонала, следует рассматривать на ранних стадиях проекта.
Новым членам команды понадобится дополнительное время, чтобы «влиться» в коллектив. Даже самому опытному либо знающему инженеру потребуется некоторое время, чтобы привыкнуть к новому проекту и к новой кодовой базе. Также опытным членам команды понадобится потратить рабочее время, чтобы помочь новичкам выйти на рабочий режим. Это время будет потрачено в ущерб основным обязанностям. По мере роста размера команды быстро возрастают накладные расходы на общение между членами этой команды. Далеко не каждая задача может быть разделена между различными людьми, которые будут одновременно работать над ней. Учитывайте эти ограничения, когда соберетесь привлечь дополнительные человеческие ресурсы на выполнение существующего проекта. Также рассмотрите вопросы о необходимости и полезности привлечения дополнительного персонала.
Работа с подрядчиками
Обычно в крупных организациях часть работы отдают на субподряд (так называемый аутсорсинг). Исторически сложилось так, что организации, стремящиеся сократить расходы, отдают на аутсорсинг такие затратные области, как ИТ или техобслуживание.
Следует иметь в виду, что даже если вы сэкономите по какой-либо статье расходов, эта экономия может обернуться ростом затрат, связанных с ухудшением сотрудничества или уменьшением степени близости между отдельными сотрудниками и командами. Если некоторые команды или отделы работают на условиях аутсорсинга, а другие выполняют работу в качестве штатных сотрудников, это может привести к конфликту в организации (прямому или косвенному).
Аутсорсинг приводит к формированию функциональных бункеров
Одна из наибольших проблем, связанных с наличием бункеров, заключается в недостатке общения и сотрудничества между ними. Люди, находящиеся в бункерах, склонны накапливать знания и информацию, а также перекладывать ответственность за промахи на другие группы. Если участники одной группы работают на условиях аутсорсинга, они могут испытывать нехватку информации, относящейся к разным аспектам работы организации. Поэтому следует поддерживать равноправное общение как со штатными, так и с нештатными сотрудниками, работающими на условиях аутсорсинга. Чтобы обеспечить паритетный доступ к информации для всех, используйте общедоступные средства общения, например групповой чат или почтовую рассылку, охватывающую всех сотрудников. Также поощряйте регулярное обновление статуса, чтобы узнать о факте получения информации.
Команды, работающие на внешнем подряде, имеют более «низкий» статус
В условиях социальной иерархии на рабочем месте, формальной либо неформальной, команды, работающие на субподряде, часто ощущают более низкий статус, чем штатные команды. Чтобы преодолеть подобную отчужденность, привлекайте команды-субподрядчики для участия в праздниках организации и прочих групповых мероприятиях. Люди, которые получают признание и ощущают себя частью группы, более мотивированы в работе. На уровне отдельных сотрудников и команд отслеживайте непочтительное отношение к субподрядчикам и осуждайте подобное поведение.
Конфликты ответственности, возникающие между штатными и аутсорсинговыми командами
Зачастую предметом спора могут быть обязанности команд. Штатные команды могут принимать ответственность на себя, оставляя субподрядчикам черновую или утомительную работу. Они могут также спихивать ответственность и зачастую подвергать обвинениям команды, работающие на субподряд. Благодаря четко определенным обязанностям, уточняемым на регулярной основе, облегчается устранение путаницы либо напряжения (при условии регулярной связи). Также осуществляется поиск способов распределения обязанностей либо проектов между штатными сотрудниками и субподрядчиками, если это поможет сформировать среду совместной работы.
Если в какой-либо компании аутсорсинг рассматривается лишь в качестве средства уменьшения затрат, отдельные сотрудники и команды не смогут изменить эту политику. Но благодаря привлечению внимания к этим областям они смогут повысить степень эффективности команд, работающих на субподряде, и наладить сотрудничество с ними.
Людям присущи как достоинства, так и недостатки. При общении с другими людьми сильные и слабые стороны могут проявляться как сильнее, так и слабее. В процессе оценки личности важно рассматривать сильные и слабые стороны в контексте команды. Иногда один человек не подходит для какой-либо команды, но для организации в целом он является неплохой кандидатурой.
Существует любопытная динамика, которую нужно сбалансировать. Суть этой динамики заключается в том, что нужно найти разумный компромисс между ростом и развитием организации и поддержанием равновесия и комфорта для людей, с которыми вы каждый день работаете. По мере того как организация переживает взлеты и падения, возникает необходимость в изменениях. В маленьких стартапах все друг друга знают и могут поддерживать близкие отношения. По мере роста организации и увеличения численности персонала до 50–100 человек и более связи между людьми, работающими в такой организации, ослабевают.
Удержание сотрудников
В компаниях, относящихся к конкурентной технической отрасли, все большее значение для работодателей приобретает удержание сотрудников на рабочих местах. Благодаря этому предотвращается падение производительности и ухудшение морального климата. Зачастую увольнение сотрудников приводит к росту нагрузки для оставшихся, а также является признаком больших проблем, появившихся в организации. Если сотрудники компании увольняются из-за низкого уровня оплаты труда или по причине несогласия с курсом компании, вряд ли это прибавит оптимизма тем, кто пока остается на рабочем месте.
Даже если сотрудник собирается уволиться, приложите все силы, чтобы удержать его. Существует множество способов удержания сотрудников, которые будут рассмотрены в этом разделе. А если учесть, что многие организации приложили немало усилий, чтобы принять сотрудника в штат или на условиях аутсорсинга, вряд ли они захотят легко расстаться с ним.
Компенсации
Деньги – это далеко не все, что нам нужно в этой жизни, и поэтому многие выбирают здоровую рабочую среду и компании, которые могут создать такую среду. Но даже в этом случае люди хотят получать конкурентоспособную зарплату. Согласно результатам недавно проведенных исследований, сотрудники с опытом работы в компании более 2 лет за 10 лет получат на 50 % меньше, чем если бы они уволились раньше. Бытует мнение, особенно распространенное среди линейных сотрудников, что лучший способ получить существенную прибавку к жалованью – поменять работу. Естественно, нужно договориться о более высокой стартовой зарплате на новом месте. Сотрудники, которые длительное время работают в компании, ежегодно получают прибавку к жалованью, равную 3 % (в среднем). Но если учесть ежегодную инфляцию, равную 2 % (естественно, в США), то реальный ежегодный рост зарплаты составляет всего лишь 1 %. В случае же перехода в новую компанию можно рассчитывать на рост зарплаты от 10 до 30 %. Даже если вы очень любите свою родную компанию, вряд ли стоит игнорировать эти цифры.
Чтобы бороться с несправедливо заниженной зарплатой, изначально добейтесь конкурентосопособной зарплаты. Работодатели часто пытаются предложить минимальную стартовую зарплату, чтобы сэкономить бюджет. Этому также способствуют представители афроамериканской общины, которые согласны работать за меньшую зарплату, чем белые мужчины. Они согласны получать средние зарплаты и льготы, значительно превышающие выплаты, которые они получали на прежнем рабочем месте. Способствовать удержанию сотрудников может атмосфера прозрачности, в которой проходят переговоры о размере зарплаты, о диапазоне «плавающей» зарплаты и о других денежных выплатах. Люди должны получать конкурентную компенсацию и ощущать, что с ними обращаются справедливо.
Ключевую роль в удержании сотрудников на рабочем месте может сыграть открытый процесс повышения в должности, реализованный в организации. Этот процесс должен быть четко определен и задокументирован. Если же процесс повышения в должности осуществляется в ответ на запросы людей, он будет находиться под влиянием бессознательных предупреждений в большей степени, чем процесс, происходящий на регулярной основе в соответствии с четко определенными параметрами. Уменьшению степени предубеждений также способствует «плавающая» зарплата, которая в меньшей степени зависит от субъективного суждения менеджера. Убедитесь в том, что менеджеры и сотрудники знакомы с процессом повышения зарплаты и начисления ежегодных бонусов, а также знают, к кому следует обращаться в случае возникновения каких-либо вопросов.
Преимущества, не связанные с денежными доходами
Получать конкурентную и справедливую зарплату весьма важно, особенно в том случае, когда человек живет «от зарплаты до зарплаты». Если же он живет в соответствии с высокими стандартами жизни, имеет возможность откладывать на черный день с каждой зарплаты и обладает «финансовой подушкой», позволяющей пережить инфляционные скачки цен, то на первый план выходят разные способы нематериальной компенсации. Эти нематериальные стимулы неплохо бы взять на вооружение молодым или небольшим фирмам, которые не могут платить такие же зарплаты, как более прибыльные и лучше финансируемые компании. Благодаря системе льгот и нематериальных поощрений можно привлечь и удерживать талантливых сотрудников.
Когда идет речь о привилегиях, мы не подразумеваем такие вещи, как холодильники для пива и столы для пинг-понга, установленные в офисе. Подобные «привилегии» формируют расслабленную атмосферу, которая больше напоминает общежитие, а не офис. К тому же эта атмосфера может стать сдерживающим фактором для категорий людей, которые чувствуют себя неуютно в подобной среде, – для женщин, трезвенников либо для тех, кто не привык играть в настольные игры на рабочем месте. В качестве привилегии может также рассматриваться питание, особенно диетическое. Но будьте осторожны, предлагая сотрудникам ранние завтраки и поздние ужины. Вряд ли их вдохновит перспектива приходить на работу в восемь утра и уходить в восемь вечера только ради того, чтобы воспользоваться таким предложением.
Нематериальные преимущества могут принимать следующие формы.
Возможности для удаленной работы
Возможность работы в удаленном режиме поистине бесценна. Эта возможность пригодится независимо от того, хотите вы привлечь к работе более широкий круг людей или удержать в компании сотрудников, которые в силу каких-либо причин не могут работать в офисе.
Возможности по обучению
Можно приглашать инструкторов или отправлять сотрудников на конференции и учебные семинары. Это позволит сотрудникам получить новые или усовершенствовать имеющиеся навыки. Можно также отправлять сотрудников на различные курсы или предоставить средства на обучение. Благодаря этому сотрудники получат доступ к непрерывному образованию в областях, которые имеют отношение к исполняемым ими обязанностям. Поскольку личностный и профессиональный рост имеет большое значение для людей, обеспечьте им соответствующие возможности, а также предоставьте время для обучения.
Гибкий рабочий график
Если от сотрудников не требуется присутствие на рабочем месте в строго определенные часы и дни, предоставьте им возможность работать по гибкому графику. Возможность работать по гибкому графику, как и удаленная работа, свидетельствует о наличии доверия к сотрудникам и командам, а также об уважении к личной жизни и обязанностям, исполняемым вне рабочего места. Благодаря гибкому рабочему графику сотрудники смогут уделять больше времени своим хобби, им не придется добираться в офис в час пик, они смогут выполнять семейные и домашние обязанности. К тому же они смогут выполнять работу в удобное для себя и других членов команды время.
Соблюдение баланса между жизнью и работой
Непрерывная работа в течение 50–80 часов в неделю оказывает негативное влияние на производительность труда в целом. Поэтому предоставьте сотрудникам возможность приходить на работу и уходить с работы в приемлемое время. Не тратьте драгоценное рабочее время на постоянную проверку почты и не работайте дома. Выработайте у сотрудников привычку проверять почту в одно и то же время. Например, отправляйте им письма в 9 утра или в конце рабочего дня. Если сотрудники выполняют работу на выезде, предоставьте им время на дорогу.
Оплачиваемый отпуск
Убедитесь в том, что в компании предоставляются отпуска и что сотрудники их используют. В процессе предоставления отпуска нужно учитывать действующий закон. Например, в некоторых штатах США действует закон, в соответствии с которым из десяти дней краткосрочного отпуска восемь должны предоставляться на новогодних и рождественских праздниках. Оставшиеся два дня могут предоставляться на протяжении остальных пятидесяти недель года. Вряд ли подобная схема предоставления отпуска может расцениваться как идеальная, особенно в том случае, когда отпускник не празднует Рождество. Если же компания проводит политику предоставления неограниченных отпусков, это также может привести к проблемам. Эти проблемы рассматриваются в статье Матиаса Майера (Mathias Meyer), занимающего должность генерального директора компании TravisCI (http://www.paperplanes.de/2014/12/10/from-open-to-minimum-vacation-policy.html). Эта компания занимается вопросами непрерывной интеграции.
Пенсионная программа
Как минимум следует предоставить сотрудникам возможность участвовать в пенсионной программе, такой как IRA или 401(k). Также рассмотрите возможность получения определенного процента сотрудниками, участвующими в пенсионной программе. Обычно работодатели не склонны к проявлению подобной благотворительности, но в случае ее наличия обеспечивается ценное конкурентное преимущество. Если же вы не можете гарантировать получение определенных процентных выплат, пригласите финансового консультанта, который несколько раз в год будет предоставлять сотрудникам бесплатные консультации.
Медицинское страхование
В то время как некоторые формы медицинского страхования являются стандартными для большинства штатных сотрудников, страховые возмещения могут варьироваться в очень широких пределах. Дополнительные конкурентные преимущества обеспечиваются благодаря разнообразию форм медицинского страхования, которые могут включать страхование иждивенцев, предоставление бонусов гражданским супругам и страхование трансгендеров. Гораздо лучше, если организация оплатит все ежемесячные расходы на страховку, чем будет компенсировать платежные чеки, предоставляемые сотрудниками. Также может предоставляться доступ к консьерж-службе медицинского страхования, которая уполномочена отвечать на вопросы, относящиеся к медицине и страхованию.
Повседневный дресс-код
Работодатели, практикующие либеральную политику в отношении офисного дресс-кода, позволяют сокращать авансовые и долгосрочные расходы сотрудников без каких-либо дополнительных инвестиций со стороны организации. Хотя деловой костюм выглядит более профессионально, его можно запачкать или даже порвать, если выполнять работу на свежем воздухе или заниматься физическим трудом. А для некоторых людей свобода выбора одежды определяет степень личной свободы. В среде с жесткой иерархией наличие более свободного дресс-кода является дополнительным фактором внедрения изменений в организации. Если сотрудники, занимающие разные должности, одеваются более свободно, им будет проще общаться друг с другом. В результате укрепляются взаимоотношения между сотрудниками организации.
Транспортные льготы
Транспортные льготы могут включать предоплаченные проездные билеты, служебный автобус, бесплатные велопарковки и даже парковочные места. Благодаря выработке механизмов, уменьшающих транспортные заторы в районе офиса и «перенаселенность» парковочных мест, снижается степень напряженности в отношениях между сотрудниками, а также уменьшаются ежедневные транспортные расходы. В некоторых странах, например в США, действуют законы, в соответствии с которыми транспортные льготы до определенного предела не облагаются налогами. Под действие этого закона попадают такие транспортные услуги, как комбинированные билеты, ванпулинг и паркинг. Проверьте наличие подобных налоговых льгот в вашей стране.
Поддержка равноправия полов
Отказ от пресловутых табличек «М» и «Ж», которые традиционно закрепляются на дверях санузлов, позволяет создать более комфортную среду для людей, не придерживающихся традиционных гендерных взглядов. Также это позволит улучшить санитарные условия для людей с особыми потребностями. Учтите, что в некоторых странах действуют законы, обязывающие выделение отдельных санузлов для мужчин и женщин. Поэтому прежде, чем принять решение о снятии табличек, проверьте наличие соответствующих законов. По мере возможности организовывайте гендерно нейтральные санузлы (а также раздевалки и уборные, если таковые имеются в вашей организации), чтобы создавать комфортные и безопасные условия для максимального количества сотрудников.
Наличие детских дошкольных учреждений
Наличие детских дошкольных учреждений на рабочем месте позволит повысить степень удовлетворенности работой и привлечь сотрудников, имеющих маленьких детей. Благодаря этому уменьшается количество прогулов, связанных с необходимостью ухода за детьми, а бездетным сотрудникам не придется делать работу за сотрудников, вынужденных ухаживать за детьми.
В общем случае сотрудники не должны чувствовать себя обделенными при начислении денежных и нематериальных льгот. Если сотрудники будут чувствовать, что с ними обращаются справедливо, заботятся о них и работают над устранением личных проблем, они будут чувствовать себя счастливыми.
Возможности роста
Помимо недостаточной зарплаты и нарушения баланса между жизнью и работой, одна из распространенных причин, в силу которых люди увольняются с работы, – отсутствие возможностей для роста. Вряд ли кто-то будет мечтать о работе, которая не позволит делать карьеру. Люди хотят развивать свои навыки и демонстрировать рост окружающим, что позволит им стать более независимыми, иметь больше возможностей для выбора проектов. Они также хотят, чтобы им доверяли крупные проекты и предоставляли возможности для проявления лидерских качеств.
Имейте в виду, что лидерство не всегда эквивалентно менеджменту. В некоторых компаниях четко определены уровни работы только для компонента управления. Именно при выполнении функций менеджера сотрудники могут расти, но далеко не каждый технический специалист хочет заниматься менеджментом. Лидерство для этих людей может означать участие в ведущих проектах и расширение степени участия в делах организации. Убедитесь в том, что в вашей организации могут расти не только менеджеры. В идеале в организации должен существовать технический компонент, четко определяющий уровни индивидуального роста сотрудников, не выполняющих обязанности менеджера.
Четко определенный процесс роста и продвижения по службе является критически важным для руководства и отдельного сотрудника. Убедитесь в том, что сотрудники имеют доступ к определениям уровней работы, которые являются достаточно подробными, чтобы они понимали, что нужно сделать для перехода с одного уровня на другой. Процесс карьерного роста должен быть четко определен и доступен для всех. «Процесс», который состоит только из метафорического похлопывания по плечу, может невероятно расстраивать сотрудников, не имеющих возможности для выбора. Подобный «процесс» может также предоставлять множество возможностей для неосознанных отклонений. Любой сотрудник достоин карьерного роста, а не только тот, который дружит со своим боссом или техническим директором.
В соответствии с вышеизложенным удостоверьтесь в том, что сотрудники имеют возможность исследовать разные аспекты деятельности компании. Если после нескольких лет разработчик ПО, например, захочет изучить особенности деятельности эксплуатационного отдела или отдела обеспечения безопасности, он скорее перейдет в другую компанию (если «родная» компания не создаст соответствующие условия). В то время как менеджеры обычно не должны переманивать сотрудников других команд, они должны быть открыты для изменения интересов и целей и пытаться работать с ними в любой ситуации. Некоторые компании выполняют действия, которые они называют «ротации опытных сотрудников». Суть этого действия заключается в том, что достаточно опытные сотрудники на несколько недель переводятся в другую команду. Если вы хотите удержать людей в компании, предоставьте им возможности карьерного роста независимо от занимаемой должности и выполняемой работы.
Рабочая нагрузка
Как правило, люди ищут рабочую нагрузку, которая была бы сложной, но выполнимой. В продолжение нашей дискуссии о возможностях роста отметим, что помимо сложной работы, которая позволит людям испытать себя и развить собственные навыки, важно наличие чувства удовлетворенности проделанной работой. В части II были рассмотрены несколько различных рабочих, или коллективных, стилей, включая стили работы стартеров и финишеров, пуристов и прагматиков. Если регулярно выполняемая людьми работа не соответствует их ожиданиям, она будет восприниматься обременительной. Если же сотрудники не болеют душой за работу, они будут чувствовать себя несчастливыми, а производительность труда резко упадет.
Слишком большая рабочая нагрузка приводит к появлению проблем. В этом случае у сотрудников может возникать ощущение, что компания или менеджер предъявляют к ним слишком высокие требования, но при этом не предоставляют достаточно времени, поддержки и ресурсов, необходимых для оправдания надежд. Также может создаваться впечатление, что менеджер оторвался от реальности и просто не понимает, на что способны сотрудники. Все эти признаки могут указывать на то, что команда взяла на себя слишком много обязанностей либо имеет место неравномерное распределение работы, когда одни сотрудники бездельничают, а другие просто перегружены работой. Как бы там ни было, но долговременная перегрузка персонала может привести к весьма негативным последствиям (в отличие от кратковременной штурмовщины).
Сотрудники, перегруженные работой, в конце концов могут уволиться и найти более легкую работу в другой компании. Возможно, еще хуже, если они останутся работать в компании, но будут страдать от выгорания. Поэтому менеджеры просто обязаны регулярно проверять команду в целом и отдельных сотрудников, чтобы выявить чрезмерную загруженность, которую они взяли на себя. Также убедитесь в том, что по мере необходимости сотрудники берут отпуска. Если же команда или сотрудник завершили период дополнительной работы, например, ближе к концу проекта, поощрите их хотя бы раз в год взять передышку или отпуск (либо просто отдохнуть дома), чтобы избежать выгорания.
ВЫГОРАНИЕ
Термин выгорание обозначает долговременное истощение и отсутствие какого-либо интереса к работе и к любой деятельности вне работы. Симптомы выгорания весьма напоминают клинические симптомы депрессии, более того, согласно результатам недавних исследований, выгорание – это одна из форм депрессии. Страдающие от выгорания начинают отдаляться от других людей, меньше обращают внимание на свои личные потребности. Им присущи бессонница, а также ощущения безразличия, беспомощности и безнадежности. Чаще всего к выгоранию приводит длительный стресс и переутомление, которые весьма распространены в высокотехнологичной индустрии. Это особенно справедливо для стартапов Силиконовой долины, в которых идеализируются образы «героического» хакера и «звездного» разработчика. Не забывайте о том, что психическое здоровье важно не менее (а может, и более) физического здоровья, поэтому профилактика выгорания должна стать приоритетом для каждой команды и компании.
Во многих высокотехнологичных компаниях предусмотрены вакансии для специалистов по вызову. В обязанности этих людей входит прием вызовов, поступающих по телефону или пейджеру, и реагирование на инциденты, которые происходят во внерабочее время. Очень важно не создавать чрезмерных нагрузок для этих людей. По возможности распределите обязанности специалиста по вызову, как минимум, среди двух человек. Если эти обязанности выполняет один человек, который работает днем и ночью, все это может закончиться выгоранием. Ни один человек не сможет обойтись без отдыха на протяжении длительного времени. В идеале обязанности специалиста по вызову должны выполняться всеми сотрудниками компании, по очереди. Это даст возможность передышки каждому из них в промежутках между сменами.
Если сотрудники периодически выполняют обязанности специалистов по вызову, предусмотрите возможность компенсации за дополнительную выполняемую работу. Некоторые компании увеличивают зарплату сотрудникам, выполняющим обязанности специалистов по вызову, другие доплачивают за каждый вызов или инцидент, случившийся в нерабочее время, третьи предлагают дополнительный день отпуска за обслуживание каждого вызова. Если выполнение обязанностей по вызову изначально является частью рабочих обязанностей, четко пропишите объем выполняемой работы. Благодаря этому сотрудники изначально будут владеть необходимой информацией и смогут договориться с руководством о размере компенсации. Если же эти обязанности появились позже, дайте сотруднику возможность обсудить подробности с менеджером и договориться с ним о сумме возможной компенсации.
Корпоративная культура и «соответствие корпоративной культуре»
Термины корпоративная культура и соответствие корпоративной культуре довольно расплывчаты и не могут быть точно сформулированы. Зачастую эти термины используются людьми, принимающими решения, в процессе найма персонала. Как правило, эти люди стремятся (осознанно или нет) сохранить определенную однородность команды. Поэтому они стремятся принимать на работу тех, кто ходил вместе с ними в одну и ту же школу, занимался тем же видом спорта или является членом того же сообщества.
Не стоит злоупотреблять идеями о соответствии корпоративной культуре, поскольку они дают весьма поверхностное представление о культуре. Основное предназначение подобных идей – формирование атмосферы исключительности в компании.
Поскольку большая часть devops включает культуру, описание совместной работы и взаимоотношений между людьми, важно определять эти термины в продуктивной, а не в эксклюзивной манере. Культура – это совокупность идей, обычаев и социального поведения людей или общества. И если погрузиться глубже в суть этого определения, то можно увидеть, как оно может стимулировать людей остаться или уволиться из компании.
Идеи могут иметь разное значение в контексте компании или отдельной команды. В более широком смысле идея для компании оценивается в соответствии с предлагаемой стоимостью. Например, что продается или какой выбран способ для зарабатывания денег. Для некоторых компаний стоимость фактически эквивалентна рекламе или данным, продаваемым рекламодателям. Если сотрудник компании ощущает, что корпоративные ценности вступают в конфликт с его личными ценностями, либо ему просто неинтересна область деятельности компании, то, независимо от успешности компании, рано или поздно он уволится.
Идеи также могут интерпретироваться в соответствии с их ценностью для данной организации или команды. Приведем типичный пример идеи, которая господствовала во многих организациях до массового внедрения devops-практики. Суть этой идеи заключалась в недооценке важности работы в ИТ-сфере и в эксплуатационной сфере. В рамках этой идеи ИТ-сфера рассматривалась как бесполезное и затратное дело. Поэтому проводилась политика минимизации инвестиций в ИТ.
Еще один пример подобной идеи – недооценка сотрудников команды руководителем. Если несколько членов команды являются близкими друзьями руководителя команды, он будет постоянно с ними советоваться. В результате остальные члены команды почувствуют себя обделенными, а вносимый ими вклад в общее дело окажется недооцененным.
Любой человек, чьи идеи отличаются от идей большинства, ощущает «особое отношение» со стороны других членов команды. Ранее уже рассматривались соображения по выбору средств, способствующих увеличению степени разнообразия команды либо организации. Обратите внимание, что крайне важно учитывать влияние разнообразия на людей, которые не относятся к категории «нормы». В роли таких людей может выступать одинокая женщина в компании мужчин или африканец, работающий в компании людей белой расы. Если все разногласия в команде принято решать в соответствии с принципом «кто кого перекричит», «нестандартные» люди будут чувствовать, что их не слышат и не ценят.
Обычаи – это традиционные или широко распространенные способы поведения, бесед или выполнения каких-либо действий. Многие аспекты рабочей обстановки могут быть расценены как обычай.
Например:
• порядок распределения работы и ответственные за этот процесс;
• каким образом члены команды либо сотрудники, находящиеся на одном и том же уровне внутри компании, общаются между собой;
• каким образом менеджеры распространяют новости с помощью отчетов;
• когда люди приходят на работу и уходят домой;
• какие технические процессы задействованы в рамках выполнения работы;
• каким образом производятся продвижения, повышения по службе и начисляются бонусы.
Одна из проблем, связанных с обычаями, заключается в том, что их бывает трудно распознать в качестве способа выполнения каких-либо действий. Но этот способ вряд ли будет единственным, поскольку как только люди привыкнут ими пользоваться, они просто перестанут их замечать. Зачастую пара свежих глаз и нестандартный взгляд обеспечат лучший способ решения проблем.
Важно понять, что утверждение «мы всегда делали это таким образом» не является серьезным обоснованием для использования прежних методов. Отказ от изменений или даже от рассмотрения новых идей приведет к стагнации команд и компаний, а также к перехвату этих идей конкурентами. Человеческой натуре присуща боязнь перемен и ксенофобия. Мы должны распознать эту тенденцию и активно ей противодействовать. В результате мы сможем слышать, рассматривать и выбирать лучшие идеи, а не те, с которыми нам комфортно.
Корпоративные обычаи, связанные с повышением по службе, продвижением и бонусами, заслуживают особого внимания в случае, когда вы пытаетесь повысить степень разнообразия. Следует еще раз подчеркнуть, что даже если вы что-то не хотите делать либо не замечаете каких-либо нарушений, это не означает отсутствия таковых. Особенно часто эти нарушения появляются в тех случаях, когда решения принимает сам менеджер либо когда каким-либо образом награждается группа людей, исполняющих определенную роль или занимающих ту или иную должность.
Последний крупный компонент культуры – это совокупность социальных форм поведения, охватывающая широкий набор факторов, которые влияют на взаимодействие между людьми. Уделяйте внимание стилю общения людей между собой. Поощряйте общение более «старших» сотрудников с теми, кто занимает более низкие должности. Относятся ли в вашей компании с должным вниманием ко всем высказанным идеям, независимо от того, кому они принадлежат. Перебивают ли друг друга участники собраний или вежливо ждут завершения выступления? Если ответы на эти вопросы положительны, то относятся ли они только к рядовым сотрудникам или включают менеджмент? Каким образом устраняются разногласия, возникающие между людьми? Путем спокойного обсуждения, на основе консенсуса либо методом перекрикивания друг друга? Каким образом принимаются решения?
Социальные формы поведения также включают те разновидности, о которых мы чаще всего думаем, когда слышим слово социальный. Каким образом команды узнают друг друга или связываются между собой? Более близкое знакомство с коллегами обеспечивает массу преимуществ, включая большую эмпатию и более эффективное общение. При налаживании отношений между членами команды используются разные способы. Более крупные корпорации могут организовать для своих сотрудников круиз на теплоходе, тогда как стартапы обычно ограничиваются походом в ближайший бар. Наиболее эффективный способ налаживания отношений заключается в использовании общих склонностей и привязанностей. Также желательно добиться вклада каждого сотрудника в общее дело и попытаться найти что-то, что будет приемлемым для всех. Но в процессе решения этих вопросов имейте в виду, что далеко не все люди склонны к публичному высказыванию мнения. Те, кто боролся с алкогольной зависимостью, вряд ли захотят рассказать коллегам о причинах, в силу которых они не хотят посещать вечеринку в баре, оплаченную руководством. Поэтому предоставьте людям возможность высказать свое мнение в частной и безопасной обстановке.
Обращайте внимание на способы общения между собой сотрудников в офисе. Эти способы ярко демонстрируют присущие этим людям формы социального поведения. Например, в некоторых компаниях формируется группа людей, которые ходят на ланч или кофе вместе с менеджером команды. Остальные же члены команды не удостаиваются подобной чести. Чаще всего это наблюдается в стартапах, которые обычно основывают люди, хорошо знающие друг друга. Хотя подобные дружеские отношения могут сформироваться в любой группе людей. Как бы там ни было, избегайте демонстративного фаворитизма и старайтесь одинаково относиться ко всем коллегам.
Во многих офисах, особенно небольших, планируются общие мероприятия, которые часто происходят в нерабочее время или во время перерывов. На таких мероприятиях сотрудники могут попивать прохладительные напитки или холодное пиво (в летнюю пору, разумеется). В офисах также могут устанавливаться столы для пинг-понга или настольного футбола, которые могут использоваться в конце рабочего дня или для снятия напряжения в перерывах между совещаниями. В коллективах, состоящих из молодых сотрудников мужского пола, все более популярными становятся игрушки, такие как радиоуправляемые вертолеты или игрушечное оружие. Это не так уж плохо, но будет способствовать изоляции тех, кому подобные игрушки не нравятся.
Имейте в виду, что люди не любят выступать против явлений, описываемых словом «развлечение», дабы не прослыть мрачными субъектами, озабоченными только работой. Довольно сложно выступать против того, что издавна составляло часть корпоративной культуры, особенно если противники этой части культуры представляют меньшинство команды. Убедитесь в том, что люди могут открыто говорить о своих мыслях и взглядах. Также уделяйте внимание видам деятельности, приемлемым для всех сотрудников, формируйте культуру, частью которой будет ощущать себя каждый сотрудник.
В общем случае удержание сотрудников сводится к соблюдению условий пакта, заключенного между сотрудниками и организацией. Убедитесь в наличии взаимопонимания, в удовлетворении общих целей и потребностей. Обеспечьте непрерывное развитие отношений в организации в соответствии с ранее рассмотренным devops-пактом. Ожидания, связанные с корпоративной культурой, должны быть четко определены везде, где это возможно, в процессе поиска, опроса и удержания сотрудников. После завершения рассмотрения теории попробуем применить все это на практике.
Практика: рост и масштабирование команд
При составлении примеров для этой главы мы общались с людьми, которые в той или иной степени вовлечены в процесс найма персонала. Первый наш собеседник – директор по внедрению devops-практик в компании, работающей на онлайн-рынке с 2007 года. Второй наш собеседник – Федра Маршалл (Phaedra Marshall), директор по технологиям компании Critical Mass. Эта глобальная компания, специализирующаяся в области цифрового маркетинга и дизайна, была основана в 1996 году в Калгари (Альберта). Эти люди тесно связаны с процессом принятия решений в технологических компаниях, правда, подходы к принятию этих решений были различными. Мы рассмотрим рассуждения, находящиеся в основе этих разных подходов, а также узнаем, почему каждый из них имеет смысл с учетом набора конкретных обстоятельств.
Формирование и рост эксплуатационных команд
Директор по внедрению devops-практик изначально начинал свою карьеру в качестве разработчика, а позднее присоединился к крупной компании электронной коммерции. Эта компания занимается разработкой программного обеспечения для интернет-магазинов и POS-терминалов. Позднее он создал «с нуля» эксплуатационную команду в компании, специализирующейся на публикациях и цифровых медиа. В этой компании он осуществляет общий надзор над производственной деятельностью и корпоративным ИТ-отделом, а также стимулирует рост обоих отделов.
В связи с тем что в компании была вакансия на должность директора, а также требовалось сформировать среду, которая позволяла бы сотрудникам продвигаться по карьерной лестнице и обучаться, на работу был принят соответствующий специалист. Эта компания являлась более разнообразной, чем большинство технологических компаний из Силиконовой долины, поскольку более половины штата топ-менеджеров составляли женщины, включая технического директора и главного технического директора. В настоящее время штат этой компании насчитывает 125 человек, среди которых 30 человек занимают должность инженера.
Техническая платформа компании состоит примерно из 50 серверов, работающих совместно с физической и облачной инфраструктурой. Эта платформа может автоматически масштабироваться. Суть этого процесса заключается в автоматическом увеличении или уменьшении количества серверов, которые работают в сочетании с облачной инфраструктурой. В качестве критериев масштабирования используются определенные показатели, например степень загрузки серверных процессоров. Критерий эффективности внедрения devops-практик в этой компании заключается в обеспечении совместной работы инженеров эксплуатации с разработчиками для создания «красивых автоматизированных» систем, которые помогают бизнесу достичь своих целей. Эта деятельность подразумевает освоение разработчиками принципов технической эксплуатации и автоматизации, а затем тесную работу со специалистами в области эксплуатации на протяжении жизненного цикла создаваемых систем.
Поиск и интервьюирование кандидатов
Чтобы принимать решения по найму персонала, разделяющего вышеупомянутое представление о devops, директор должен уделить достаточное внимание обдумыванию и внедрению стратегии роста для своей новой команды. Команда по внедрению devops в компании состоит из четырех инженеров, включая самого директора. Опыт работы членов команды варьируется от младшего инженера, исполняющего свою первую devops-роль, до бывшего директора, исполняющего роль рядового сотрудника. Все они были наняты на работу директором. Процесс найма включал получение одобрения от вице-президента по выполнению инженерных работ, за которым следовало размещение объявлений о приеме на работу в Twitter и на досках объявлений GitHub и StackOverflow. Как и в случае со многими другими компаниями, обращение к услугам рекрутеров оказалось бесполезным. Гораздо более эффективными в плане поиска нужных кандидатов оказались специализированные доски объявлений и социальные сети.
Процесс собеседования с соискателями вакансий начинался в форме двух телефонных интервью – одно с текущим членом команды, второе – с самим директором. Кандидаты, которые прошли «телефонный» этап интервью, переходили к следующему этапу – полноценному очному собеседованию. В собеседовании с кандидатом участвовали два инженера, технический директор, менеджер, ответственный за деловые связи организации, и главный технический директор. Некоторые собеседования носили более технический характер, другие же концентрировались на получении сведений о кандидате и оценке возможностей его работы в растущей команде. В процессе подбора персонала выяснялись преимущества и недостатки прежних мест работы кандидатов, их пожелания по отношению к будущей работе, а также позитивные и негативные факторы рабочей среды.
Директор отметил, что он пытался выяснить, имеют ли кандидаты твердые мнения (по поводу текстовых редакторов, сравнения SQL и NoSQL либо любимых дистрибутивов Linux) и могут ли эти мнения измениться в будущем. В процессе работы с персоналом компании выяснилось, что люди, которые отказываются изменять мнение по поводу чего-либо, обычно плохо вписываются в командную среду. Неплохо бы провести собеседование с людьми, находящимися за пределами непосредственной команды, например с коммерческим директором. Это полезно для выяснения возможности работы кандидатов с другими командами, особенно со вспомогательными командами.
ТВЕРДЫЕ УБЕЖДЕНИЯ ЛИБО ЛЕГКОСТЬ ИЗМЕНЕНИЯ МНЕНИЯ
В 2008 году Пол Саффо (Paul Saffo), специалист в области технологического прогнозирования из Силиконовой долины, отмечал, что лучшие перспективы имеют рабочие среды, которым присуща умеренная степень неопределенности (http://www.saffo.com/02008/07/26/strong-opinions-weakly-held/). К сожалению, ситуация в большинстве технологических компаний характеризуется фразой «твердые убеждения либо легкость изменения мнения». Наличие твердых убеждений в какой-то степени продиктовано тем, что люди пришли к ним на основе интуитивных соображений, а не осознанного стремления или формулирования своего мнения по всем вопросам.
Легкость изменения мнения означает постоянную ревизию взглядов и представлений в соответствии с новыми сведениями и фактами. Согласно распространенному мнению, это качество является позитивным для соискателей вакансий. Конечно, неспособность придерживаться твердых убеждений означает отсутствие лидерских качеств либо невозможность принятия жестких решений. Но с другой стороны, люди, легко меняющие свое мнение, легче приспосабливаются к изменяющейся ситуации и быстрее корректируют ошибочные действия.
Проблемы, вызываемые «героической» культурой
После того как директор увидел сообщения о найме на работу, в которых возвеличивалась героическая культура, прославляющая сверхурочную работу и готовность сражаться с проблемами, он понял, что процесс найма на работу нуждается в совершенствовании.
«Героическая» культура чревата проблемами со здоровьем, вызываемыми выгоранием. В свою очередь, к выгоранию приводит сверхурочная работа по вечерам и в рабочие дни. Все это может привести к появлению разных заболеваний, в том числе и психических. Также «героический» ореол может привлекать людей, которые хотят прославиться или получить какую-либо иную выгоду, но при этом не стремятся к эффективной работе в составе команды. И хотя героизация в объявлениях о приеме на работу была непреднамеренной, все же она повлияла на состав претендентов на рабочие места.
Ниже приводятся примеры «героических» описаний должностных функций, которых лучше избегать.
• Требования к кандидатам «дать 110 % производительности» или же «двигаться выше и дальше» характерны для команд, в которых не соблюдается баланс между работой и личной жизнью. Эти требования являются нездоровыми, к тому же они больше подходят одиноким людям, чем семейным. Люди, стремящиеся к соответствию подобным требованиям, должны забыть о сне и отдыхе и посвятить себя работе.
• Описание команды, включающее фразу «работать и играть сильнее». Учтите, что вы принимаете на работу сотрудников, а не друзей. Поэтому не следует ожидать, что они будут присутствовать на мероприятиях, проводимых в нерабочее время, особенно если эти мероприятия сопряжены с приемом алкоголя. Если же вы будете настаивать на обязательном присутствии на подобных мероприятиях, это может отпугнуть многих потенциальных кандидатов.
• «Исключительность» и другие нечетко сформулированные качества. Поскольку этот термин определен нечетко, не злоупотребляйте им. Обычно это слово используют в качестве саморекламы люди, которые просто являются эгоистами и не желают учиться и прислушиваться к мнению других людей. Как правило, этот термин избегают использовать женщины или люди с другим цветом кожи, которые часто страдают от синдрома самозванца. Приверженцы подобных терминов требуют от претендентов на рабочие места описывать себя с помощью таких слов, как «рок-звезды», «ниндзя», «маги».
• Раздача домашних заданий или требования о подтверждении знаний, предъявляемые в иной форме. Еще одна тактика, которая демонстрирует отсутствие уважения к свободному времени сотрудников. Обычно эта тактика используется по отношению к людям, которые имеют меньше обязанностей во внерабочее время. Хотя иногда скрининговые исследования претендентов довольно полезны, особенно если они направлены на изучение процессов мышления и системы ценностей людей. Но при этом следует учитывать, что слишком простые вопросы могут вызывать раздражение у соискателей.
Эти и подобные требования насаждают «героическую» культуру на рабочих местах. Эта культура заставляет сотрудников забыть о сне и отдыхе. А это, в свою очередь, приводит к деградации творчества, к падению производительности и к утрате эмпатии. В конечном итоге все это может обернуться неудовлетворенностью работой, потерей уверенности в себе и выгоранием.
Объявления о вакансиях и проблемы, связанные с наймом персонала
Образ компании в значительной степени формируется стратегией, применяемой при найме персонала. Как вы помните, компания отказалась от рекрутинговых услуг, предоставляемых внешними компаниями. Внешние рекрутеры зачастую не разделяют ценности компании, а также не могут в должной степени представить эту компанию. Деятельность внешних рекрутеров может вызвать неприязнь или даже отвращение у соискателей. Ниже приведены примеры фраз, за которыми нужно следить при составлении объявлений о вакансиях или в переписке рекрутеров с компанией.
Недостаток внимания к деталям
Если сообщение электронной почты начинается фразой «Дорогой %%ИМЯ%%, мы ищем человека на должность %%НАЗВАНИЕ_ДОЛЖНОСТИ%%», – это верный признак слепого копирования и вставки шаблона письма. Это значит, что отправитель такого письма даже не потрудился посмотреть нужную информацию, прежде чем щелкнуть на кнопке отправки письма. Даже если скопировать сведения о навыках потенциального кандидата из его профиля LinkedIn, это не всегда поможет. Вы только представьте себе, что отправляете кому-либо письмо, в котором будет содержаться фраза типа «опыт разработки серверных приложений и колоссальные возможности по потреблению пива». Подобное письмо свидетельствует о том, что вы не проверяете деловую переписку либо в вашей компании сформирована весьма нездоровая культура. Копирование и вставка одной и той же формы письма, отсылаемого каждому члену команды, является распространенной практикой, применяемой в разных компаниях. Но эта практика не слишком эффективна.
Еще один пример неэффективной практики, применяемой при найме персонала, – попросить потенциального соискателя порекомендовать других людей, не заинтересованных в данной позиции. Естественно, что такие люди вряд ли будут работать в вашей компании. Поэтому работу по подбору персонала лучше выполнять самостоятельно. Следует найти квалифицированных кандидатов и провести с ними собеседование, но обращаясь за помощью к посредникам. Тем более что люди склонны давать рекомендации друзьям и коллегам, которых они хорошо знают и которым доверяют, а не совершенно посторонним людям, к тому же беспокоящим их навязчивыми электронными письмами.
Неподходящий или непрофессиональный стиль объявлений
Обращайте внимание на стиль объявлений о вакансиях или язык рассылок, который может оттолкнуть потенциальных кандидатов. Использование сугубо мужского жаргона, например фраз «код взлома», «рок-звезды» или «используете ли вы гаусс-ружье?», может отпугнуть людей, далеких от этих стереотипных фраз. Еще хуже, если язык объявлений о найме наполнен сексистскими или гомофобными фразами. Недопустимо использование высказываний, свидетельствующих о неуважении к женщинам или к людям однополой ориентации. Также не стоит публиковать объявления, в которых указано, что вы ищете «классного чувака», который «не старше 30». В некоторых странах подобные объявления попросту незаконны.
Неоправданный технологический акцент
Многих инженеров восхищает сам факт использования новых технологий. Поэтому применение подобных технологий в компаниях позволит заинтересовать в работе инженерный персонал. Учтите, что если вы уделяете слишком много внимания технологиям без должной осмотрительности, это может привести к неприятным последствиям. Прежде чем требовать наличие опыта в той или иной области, проведите предварительное исследование. Если вы требуете наличия 10-летнего опыта работы с программой, которая существует всего лишь пару лет, тем самым вы показываете свою полную неосведомленность в этом вопросе.
Следует учесть, что соискатели рабочих мест все чаще интересуются областью деятельности компании, а не только используемыми технологиями. Если используемая в вашей компании технология представляет интерес (в хорошем смысле этого слова), не стесняйтесь говорить о ней. Но не стоит отправлять потенциальному соискателю рабочего места письмо, в котором бы говорилось исключительно об этой технологии, но не упоминались бы цели применения этой технологии и не рассматривалась деятельность компании. Вряд ли целесообразно характеризовать используемые вашей командой инструменты с помощью эпитетов «горячий», «новейший» и тому подобных. Все эти неконкретные сравнения могут лишь отпугнуть ваших приверженцев.
РАСПЫЛЕНИЕ ОПИСАНИЯ ВАКАНСИЙ
Термин распыление , используемый в компьютерном программировании, описывает программный поиск подозрительных, опасных или непереносимых программных конструкций, которые могут привести к появлению проблем. Инженеры могут «распылять» код, чтобы выполнить соответствующий анализ, проверить наличие распространенных ошибок или проблем со стилями, прежде чем передать код в основное хранилище.
Аналогичный инструмент может применяться для анализа описания вакансии, сообщений или электронных писем, рассылаемых рекрутинговой компанией. Этот инструмент применяется для проверки наличия описанных выше проблем. Его можно использовать самостоятельно на сайте joblint.org , чтобы отследить наличие проблем, о которых вы можете даже не подозревать, и напомнить о том, что нужно проверить в будущем.
Позднее компания пересмотрела собственные объявления о вакансиях и избавилась от этих «героических» описаний. Теперь в этих объявлениях подчеркиваются культурные ценности команды, включая баланс между работой и личной жизнью. Например, подчеркивается, что каждому инженеру по вызову предоставляется дополнительный день отдыха после недельного дежурства. Это позволит нейтрализовать стресс и бессонницу, которые часто мучают специалистов по вызову. Также ведется работа по устранению неприятных видов работ в области эксплуатации, например, путем ротации людей, ответственных за ответы на вопросы пользователей либо за помощь коллегам. Также используется система отслеживания ошибок для отслеживания подобных запросов.
Ниже приведены принципы составления лучших объявлений о вакансиях.
• В объявлениях упоминайте общие навыки, а не конкретные технологии. Вместо того чтобы писать о том, что ищете специалиста с двухлетним опытом работы с андроидом ASIMO, укажите, что вас интересуют люди, владеющие такими концепциями, как автоматизация повторяющихся задач и менеджмент конфигурации. Также подумайте, нужно ли указывать наличие большого опыта работы (обычно это не требуется), а также предъявлять жесткие требования к кандидатам, которые их только отпугнут.
• Провозглашайте важность культурных ценностей. Когда речь идет о ценностях, имеется в виду не наличие команды, специализирующейся на распитии пива и игре в футбол, а культурные ценности. Примерами ценностей этого рода могут служить эмпатия, эффективное общение, методики устранения бункеров и соблюдения баланса между личной жизнью и работой. Настоятельно рекомендуется не лгать и говорить только о тех ценностях, которыми фактически обладает ваша команда. Берегите свою репутацию.
• Убедитесь в том, что ваши объявления о вакансиях гендерно-нейтральные и не используют агрессивную терминологию. Например, указывайте в объявлениях, что ищете программиста, который просто пишет код, а не хакера, который может создать суперкод.
• Всячески подчеркивайте дополнительные льготы, которыми могут пользоваться сотрудники вашей компании. Причем упоминайте те льготы, которые представляют интерес для большинства претендентов на рабочие места. Например, вместо холодильников для пива и столов для пинг-понга пишите о том, что ваша корпоративная культура не поддерживает работу по вечерам, обеспечивает предоставление родительского отпуска и возможности по обучению.
ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ ПО НАЙМУ ПЕРСОНАЛА
В независимом журнале Model View Culture , посвященном вопросам культуры и разнообразия в технологических компаниях, приводятся 25 советов по внесению разнообразия в процесс найма персонала ( https://modelviewculture.com/pieces/25-tips-for-diverse-hiring ). Эта отличная коллекция ресурсов предназначена для всех тех, кто хочет увеличить степень разнообразия в своих командах.
Директор и его команда весьма успешно разместили новые объявления о вакансиях. С помощью этих объявлений они смогли найти пятерых новых сотрудников, среди которых лишь один оказался не слишком подходящим. Они смогли преобразовать инфраструктуру, выполнив переход от неуправляемых серверов-«снежинок» к полностью автоматизированной системе, управляющей наймом персонала. Команда хорошо поработала над тем, чтобы принять на работу инженеров, которые отнеслись с энтузиазмом к внедрению автоматизации и тестирования. Новые сотрудники смогли самостоятельно приступить к работе, без контроля со стороны системы микроменеджмента. Это привело к полному пересмотру инфраструктуры автоматизации и тестирования. В результате техническая организация получила набор простых, хорошо документированных инструментов, которые может использовать каждый сотрудник. К тому же любой сотрудник может вносить свой вклад в дальнейшее развитие этих инструментов.
Развитие отдельных сотрудников и команд
А теперь рассмотрим компанию Critical Mass. Федра Маршал, занимающая должность технического директора этой компании, имеет 15-летний опыт работы с технологиями в разных областях, включая высшее образование, финансы, медиакомпании и рекламу. Для нее devops-практика означает совершенствование навыков кодирования разработчиков наравне с ростом уровня знаний системных администраторов, отвечающих за поддержку и эксплуатацию надежных вычислительных систем. Эти системы должны масштабироваться и иметь важное значение независимо от области, в которой они используются. Федра высказала пожелание на основе текущих должностных инструкций и позиций сформировать среду, в которой разработчики и специалисты по эксплуатации могли бы проявить свои сильные стороны.
Как руководитель команды, она сконцентрирована на росте и улучшении своей собственной команды подобно директору вышеописанной компании. Но в данном случае компания Critical Mass, насчитывающая более 700 сотрудников, имеет намного больший масштаб, чем компания, работающая на онлайновом рынке. И если даже эти компании имеют общие цели, все равно понадобятся разные практики приема на работу.
Поскольку компания Critical Mass является очень крупной, она имеет штат рекрутеров, которые целый рабочий день заняты поиском квалифицированных соискателей. В результате обеспечивается очень тесная работа с рекрутерами, которые должны «смотреть в одну сторону» вместе с командой и компанией в целом. Это позволит избежать упомянутых ранее просчетов со стороны рекрутеров. Если лидеру команды или менеджеру из службы персонала не нравятся соискатели, предложенные рекрутерами, ему следует поработать с рекрутерами, чтобы устранить возникшие проблемы.
Процесс собеседования состоит из телефонного интервью, которое обычно длится около 30 минут и охватывает историю работы соискателя. Затем следует ряд очных интервью. Точное количество проводимых интервью зависит от команды и должности, на которую претендует соискатель. Например, разработчику начального уровня обычно предлагается пройти одно очное интервью, а с ростом требований к соискателю количество интервью увеличивается.
Развитие и рост членов команды
После завершения процесса интервью и приема на работу к каждому сотруднику прикрепляется специалист по развитию карьеры (Career Developer). Эти специалисты выступают в качестве наставников для сотрудников, к которым они прикреплены. Обычно специалист по развитию карьеры опекает не более чем четырех сотрудников. Согласно результатам исследований, проведенных в компании, один специалист по развитию карьеры может эффективно управлять не более семью сотрудниками. Это связано с тем, что ему приходится выполнять другие обязанности и рабочие задания. Основная цель специалиста по развитию карьеры заключается в том, чтобы помочь сотрудникам добиться успеха в компании в какой бы то ни было форме. Если же сотрудник не преуспеет на новом рабочем месте, он может захотеть перейти на другую должность, в другую команду или вообще уволиться из организации. Специалисты по развитию карьеры встречаются со своими подопечными хотя бы раз в месяц.
В компании используется метод оценки 360 градусов, с помощью которого осуществляются обзоры производительности. При использовании этого метода производится опрос широкого круга лиц из рабочего окружения человека. Зачастую в этот круг входят непосредственные коллеги, подчиненные или начальники. В этом примере метод оценки 360 градусов применяется на анонимной основе, а специалист по развитию карьеры получает копии всех документов. Благодаря этим документам они могут помочь своим подопечным скорректировать возникшие проблемы. Например, при наличии большого числа негативных отзывов можно принять план улучшения производительности. Либо можно помочь сотрудникам в разработке конкретных планов, помогающих им достичь краткосрочных и долгосрочных целей. Это большая часть обязанностей специалистов по развитию карьеры, исполняемых в рамках оказания помощи подопечным (помимо общих советов по карьерному росту и оказания помощи в рамках устранения сложных технических проблем).
Ставя во главу угла карьерный рост и наставничество, компания Critical Mass большое внимание уделяет вопросам удержания сотрудников на рабочем месте в качестве ключевой части стратегии найма и обеспечения занятости. Руководство компании пришло к выводу, что хотя денежная компенсация весьма важна, существуют и другие способы дать возможность сотрудникам ощутить свою важность.
В ходе еженедельных встреч сотрудников, посвященных техническим вопросам, все сотрудники команды сообщают о своей текущей работе и о своем вкладе в текущие проекты. Раз в месяц сотрудники обращаются к руководству с просьбой о номинации одного из своих коллег на получение точечного бонуса. Этот бонус дает удовлетворение от уважения коллег и сопровождается денежной премией.
Важная часть стратегии удержания заключается в том, чтобы дать сотрудникам возможность удовлетворять свои интересы и развивать карьеру. Лидер технической команды поделился историей разработчика интерфейсов, который очень ценится в своей команде, но хочет работать не только на JavaScript и CSS. Разработчик обсудил свои желания со специалистом по развитию карьеры, который в свою очередь привлек внимание технического лидера. Затем все вместе они обдумали, каким образом разработчик может тратить каждую неделю как минимум 25 % своего времени на разработку других креативных технологических проектов. Подобное небольшое изменение обязанностей позволит расширить набор навыков и даст ему возможность поработать в интересующей его технической области. Компания же получит возможность удержать талантливого разработчика, который к тому же станет счастливым.
Эти два примера демонстрируют, как, несмотря на общность целей (прием на работу и удержание талантливых инженеров), разные размеры компаний и специфические ситуации привели к появлению разных методик найма и удержания персонала. Эти две организации, имеющие разные размеры, сосредоточились на культуре, которую они хотели создать и поддерживать. Также эти компании разработали свои стратегии найма и удержания персонала, которые бы соответствовали этим целям.
Прием на работу сотрудника только за то, что он обладает определенной узкой квалификацией, сродни пропуску всего материала книги за исключением раздела, посвященного описанию инструментов. Технологии, сфокусированные на владении профессиональными навыками, составляют лишь малую часть общей картины. В результате devops-практики становятся очень эффективными. Если вы берете на работу человека, имеющего опыт работы с определенным набором технологий, но не соответствующего культуре, не обладающего критическим мышлением и плохо обучаемого, то что вы будете делать, когда захотите перейти на другую технологию в будущем?
С другой стороны, если вы найдете разработчика, который обладает превосходными навыками по обучению и общению с людьми, его способности по освоению нового материала будут лучшим преимуществом в долгосрочной перспективе. Учитывая этот момент в процессе роста и развития команд, вы сможете увеличить эффективность практик по найму персонала, используемых в вашей организации.
Масштабирование команд и стратегии роста
В каком-то смысле команду можно рассматривать в качестве отдельного организма. Чтобы обеспечить существование здоровых команд в масштабной организации, критически важно наличие навыков сотрудничества и близости (см. части II и III). Дополнительно для усиления команды на протяжении всего ее жизненного цикла используются три ключевые стратегии:
• создание малых и гибких команд:
• содействие развитию сотрудничества:
• управление конфликтами.
А теперь рассмотрим, каким образом эти стратегии влияют на здоровье и производительность команды.
Создание малых и гибких команд
По мере роста организаций может происходить хаотический рост команд. Большие команды менее склонны делиться знаниями или свободно учиться друг у друга. Недостаточная осведомленность относительно сильных и слабых сторон каждого члена команды приводит к недостатку гибкости, необходимой для соответствия рабочей нагрузке. В результате распределения заданий среди отдельных сотрудников формируются «узкие места», которые особенно сильно проявляются в тех случаях, когда отдельные люди циклически зависимы от сложных сценариев.
Каково состояние вашей среды в данный момент? Выработаны ли единые точки зрения по конкретным темам или услугам? Подобная ситуация часто имеет место в небольших стартапах, когда для выполнения работы отдельные сотрудники исполняют ряд ролей и несут определенные обязанности. По мере роста команды нужно проверять отдельные сведения, относящиеся к сотрудникам. Благодаря своевременному получению нужных сведений можно будет предпринять усилия по удержанию сотрудника, если он решит покинуть организацию. Также в жизни сотрудника могут произойти события, которые будут мешать дальнейшей работе в компании.
В 1960-х годах психолог Фредерик Герцберг на основе интервью, взятого у нескольких инженеров и бухгалтеров, сформулировал двухфакторную теорию (рис. 14.1). Эта теория была посвящена рассмотрению факторов, влияющих на удовлетворенность и неудовлетворенность работой независимо друг от друга.
Рис. 14.1. Двухфакторная теория Герцберга
Мотиваторы улучшают степень удовлетворенности работой и включают такие факторы, как сложная работа, оценка и признание достижений, осознанная ответственность и автономия, а также возможность сделать значимую работу. Для расширения возможностей и мотивации людей важную роль играют следующие пять критических элементов:
• свобода;
• вызов;
• образование;
• значимый личный вклад;
• позитивное окружение.
Благодаря гигиеническим факторам устраняется неудовлетворенность работой. В число этих факторов входят безопасность работы, справедливая зарплата, льготы, условия труда и отдыха.
На основе двухфакторной теории Герцберга в 1970-х годах Дж. Ричард Хэкмен (J. Richard Hackman) и Нил Видмар (Neil Vidmar) исследовали оптимальный размер группы. Они сформировали группы, насчитывающие от двух до семи участников, чтобы оценить влияние размера группы на процесс и производительность при решении ряда разнообразных задач. После завершения выполнения задач они задавали вопросы участникам групп об ощущениях относительно размера группы и выполняемых задачах. На основании результатов исследования они пришли к выводу о том, что оптимальный размер группы – 4,6 участника. Руководствуйтесь этим показателем при выборе размера группы. Выбирайте нечетное количество участников группы, например 3 или 5. Это нужно для формирования большинства, необходимого для процесса принятия важных решений.
Хэкмен и Видмар также идентифицировали набор факторов, который способствует нарушению нормального функционирования команды в случае чрезмерного роста численности.
• Рост затрат времени на общение и координацию деятельности (за счет рабочего времени).
• Увеличение числа передаваемых действий приводит к росту числа ошибок и недопонимания.
• Уменьшается общая сплоченность команды.
Со временем команда начнет более эффективно выполнять текущую работу и станет более ответственно подходить к выполняемой работе или изменит направление, в котором она работает. Если размер команды достигает величины, которая начинает ограничивать ее эффективность, а для выполнения работы требуются дополнительные люди, попробуйте ее разделить либо сократить объем выполняемых обязанностей.
Чтобы поддерживать эффективность как внутри команд, так и при взаимодействии между ними, нужны изменения. В небольших организациях все знают друг друга, поэтому общение между членами команды осуществляется легко и непринужденно. По мере роста организации интенсивность общения между отдельными сотрудниками падает. Рано или поздно наступает момент, когда сотрудники организации могут быть не знакомы друг с другом. Поэтому размеры команд должны оставаться довольно малыми, чтобы поддерживать достаточный уровень общения и общее понимание необходимости внедрения devops-пакта во всех подразделениях организации.
Содействие сотрудничеству
В части II была рассмотрена важность понимания персональной квалификации, целей, когнитивных целей и стилей мышления. Мы также обсудили давление со стороны организации, которое влияет на команды, и стратегии ведения переговоров, применяемые для разрешения конфликтов. Сейчас же мы рассмотрим ключевые элементы, которые могут привести к появлению или устранению проблем, возникающих при масштабировании команды.
Поддержка со стороны руководства и менеджмента имеет решающее значение для налаживания эффективного сотрудничества. Не следует применять такие программы оценки производительности, как групповое ранжирование. А еще лучше, следует поощрять желаемые виды поведения.
В процессе исследования интеллектуальных команд Дэвид Энджел (David Engel) вместе с коллегами обнаружили, что наиболее эффективные и продуктивные команды состоят из участников, которые «много общаются, в равной степени участвуют в делах команды и обладают хорошими эмоциогенными навыками чтения». Даже при изучении деятельности удаленных команд коллективный разум был критически важен для удаленных команд. Независимо от того, является команда локальной или глобальной, последовательно оценивается ее эффективность и производительность в разрезе критически важных навыков. Результаты, полученные в процессе исследования, вылились в следующие характеристики многофункциональной совместно работающей команды:
• положительная взаимозависимость членов команды;
• эффективные коммуникации;
• индивидуальная и групповая отчетность.
Положительная взаимозависимость членов команды
Взаимозависимость между участниками команды основана на взаимном уважении и ответственности. Чтобы сформировать доверие и уважение между членами новой команды, потребуется много времени. К тому же после приема в команду нового сотрудника придется формировать эти качества заново.
Со временем люди узнают о сильных и слабых сторонах других членов своей команды, а также о том, как делегировать действия, основанные на контексте и доступности членов команды. Благодаря эффективному мозговому штурму команда может на равных участвовать в выдвижении новых идей, работать над ними и выбрать идею, которую следует разрабатывать.
Например, навык, полученный в результате участия в хакатоне, применяется для создания быстрых команд. Эти команды формируются, работают вместе и расформировываются относительно быстро (по сравнению с обычными командами, создаваемыми в рабочей среде). Чтобы завершить выполняемый проект, нужно придерживаться заданного срока и взаимной зависимости членов команды друг от друга. Победившие команды могут быстро выявлять сильные и слабые стороны группы, подбирая дополнительных сотрудников, которые могут сбалансировать команду.
В результате проведенных исследований выяснилось, что в рабочей среде люди действуют с помощью одного из следующих способов – в качестве давателей, получателей и оценщиков.
• Даватели – это люди, которые дают больше, чем получают. Они бескорыстно помогают другим людям.
• Получатели – это люди, которые берут больше, чем дают. Они помогают только в том случае, когда преимущества превышают затраты.
• Оценщики – это люди, находящиеся посредине между давателями и получателями. Они пытаются поддерживать баланс между получением и отдачей.
Каждый член команды имеет свои взгляды на принцип взаимности. Подобные различия являются потенциальным источником конфликтов в команде.
ОБУЧЕНИЕ СПОСОБАМ ОБРАЩЕНИЯ ЗА ПОМОЩЬЮ
В любой команде критически важно выработать способы оценки непонятного контента, а также методы реагирования на подобные ситуации, позволяющие получить дополнительные сведения. Возможно, какому-то человеку несложно сформировать понимание на основе индивидуального контекста, а затем приступить к определенным действиям. Но тем не менее этот процесс связан с долговременными затратами. Если человек работает в компании, прошедшей путь от стартапа до налаженного бизнеса, перед ним встает множество проблем. Одна из наиболее серьезных – необходимость перехода от работы на основе изолированного понимания к работе в направлении достижения командных и организационных целей.
В группе людей, где не сформированы сильные командные связи, обращение за дополнительной информацией или помощью может быть неверно истолковано и негативно воспринято. Еще труднее обратиться за помощью опытному сотруднику. Бытует ошибочное мнение, что с ростом опыта сотрудник становится экспертом во всех областях.
Еще одна причина нежелания обращаться за помощью заключается в том, что люди не хотят брать на себя какие-либо обязательства. Сам акт обращения за помощью у человека может вызвать ложное ощущение чувства долга или обязательства. В здоровых организациях подобные обязательства не позволят людям «набирать очки». Вместо этого они будут сосредоточены на действиях, которые должны выполняться на благо команды и бизнеса в целом.
Существуют три ключевых параметра, которыми могут обмениваться сотрудники организации (рис. 14.2):
• время;
• знания;
• деньги.
Большая часть вышеперечисленных действий относится к указанному выше спектру. В процессе рассмотрения общей стоимости и стоимости для отдельных сотрудников указанный выше список поможет быстрее делать логические выводы. Например, такие действия, как наставничество и обеспечение обратной связи, могут обходиться дороже, чем обеспечение представлений.
При рассмотрении качеств лучших «давателей» обращайтесь к интересным вам областям, которые могут принести пользу, и сосредоточьте внимание на соответствующих аспектах. Порой предполагаемый получатель не нуждается в предлагаемых благах, поэтому не стоит тратить ресурсы в данной области. Например, если кто-то просит оказать эмоциональную поддержку в какой-либо области, это вовсе не означает, что он в этом нуждается, требует обратной связи или хочет, чтобы вы поделились своими знаниями.
Рис. 14.2. Параметры, которыми могут обмениваться сотрудники организации
ВЫЗОВЫ И ИЗМЕНЕНИЯ
Если не задавать вопросы, это приведет к ограничению возможностей по поддержке взаимопонимания и к выработке согласованной позиции, а также к невозможности выработки модели поведения для младших сотрудников в рассматриваемой области. Это может привести к усилению недопонимания и к потере ценного времени, которое тратится на обучение и выполнение, а также на переделку работы.
Первая часть просьбы о помощи заключается в перефразировании ваших предположений в попытке сузить область понимания между сотрудниками. В среде, в которой между людьми сформированы прочные связи, краткость «страховочного общения» (см. метафору со скалолазами в части I) достаточна, чтобы оба собеседника смогли оценить прогресс на пути к достижению цели.
Новые проекты либо новые команды и руководство будут требовать дополнительного общения до тех пор, пока не будет вложено необходимое количество времени и энергии. Если в результате сокращения команд сотрудники начнут испытывать недовольство из-за того, что что-то не будет работать так хорошо, как раньше, нужно предпринять соответствующие меры. Идентифицируйте болевые точки изменений. Не обвиняйте новичков в том, что они чего-то не знают, и не относитесь к новым технологиям как к напрасной трате времени и сил.
Если команда уполномочена оказывать помощь другим людям или командам, возможно, потребуется дополнительная поддержка, чтобы понять, когда нужно говорить «не сейчас». Предоставьте людям возможность сосредоточиться на других проектах и дайте время на перерывы. Если люди начинают выгорать из-за того, что приходится тратить слишком много времени и сил на работу, они начинают реагировать дисфункциональным образом, что наносит вред отношениям. Например, они могут стать нетерпимыми или проявлять сарказм по отношению к клиентам. Причины подобных негативных форм поведения могут быть не в людях, а в системе.
Эффективное общение
Взаимозависимость в рамках команд может помогать или мешать осуществлению стратегий общения. Проблемы, связанные с общением, были рассмотрены в части II. Там же было рекомендовано проведение обзоров с акцентом на эффективное общение. При рассмотрении масштабирования в среде следует учитывать дополнительные вызовы.
Разнообразие
При наличии некоторого везения и, конечно же, необходимого внимания и усилий ваши команды по мере роста будут диверсифицироваться. Как рассматривалось ранее, в частях II и III, увеличение разнообразия может привести к межличностным конфликтам в краткосрочной перспективе. Это произойдет прежде, чем эти различия выльются в усиление эмпатии, креативности и способностей по разрешению проблем в долгосрочной перспективе. Дополнительные факторы стресса, которые могут возникать в организационных точках перегиба, безусловно, могут привести к росту напряжения.
Важно убедиться в том, что менеджеры команд знают о возможных трудностях, поскольку прошли обучение тому, как справляться с неосознанными предубеждениями. По мере роста организации весьма полезно назначать отдельных представителей из службы персонала для команд и отделов.
Подотчетность пользователей и групп
Подотчетность пользователя – это способность признать и взять на себя ответственность за результаты, полученные вследствие определенного поведения и выполнения каких-либо действий. Если сотрудники организации знают, что коллеги выполняют работу качественно, это приводит к улучшению идентификации и к усилению сплоченности команды. Если спросить людей о том, являются ли они приверженцами качественной работы, большинство из них ответит положительно. Обычно люди хотят выполнить все в наилучшем виде, когда им предоставляется свобода действий. В случае, когда любой член команды может заявить о том, что все его коллеги являются приверженцами качественной работы, это подразумевает наличие доверия, общих ценностей и сплоченности команды.
ОПРЕДЕЛЕНИЕ КАЧЕСТВА
Важно дать четкое определение качеству внутри вашей команды или организации. Будьте откровенны со своими клиентами в вопросах определения качества. Также поощряйте их делиться своим пониманием качества. Это позволит добиться более сильной систематизации результатов производства продукта, работоспособности, производительности и обучения. Четко определенные показатели качества позволяют обеспечить контроль работы отдельных сотрудников.
Помимо этого, качество работы может отличаться для каждой роли, исполняемой в организации. Например, в команде, занятой написанием кода, концентрация на качестве кода приводит к большим затратам времени на выпуск очередных версий кода. Естественно, что это делается в ущерб другим командам, которым также нужно время. Переход к единому пониманию качества и его интерпретации для разных ролей позволит уменьшить число нежелательных конфликтов, возникающих в процессе решения проблем.
Впервые описанный в 1950-х годах У. Эдвардсом Демингом (W. Edwards Deming), круг качества представляет собой группу людей, которые выполняют одну и ту же либо очень похожую работу. Зачастую эти люди имеют одни и те же взгляды на качество работы. Подобную стратегию нужно внедрять в каждой команде. Во-первых, это позволит повысить степень сплоченности команды, поскольку члены команды чаще всего выполняют одну и ту же либо похожую работу. Во-вторых, выработка общего определения качества работы позволит минимизировать недопонимание и внедрить в команде devops-пакт.
Подотчетность команды – это способность признать и взять на себя ответственность за результаты, полученные в процессе деятельности команды. Залог формирования подотчетности команды – взаимное доверие между членами команды и ответственность за поведение персонала и совершенные им действия. Участники высокопроизводительных команд уважают друг друга и берут на себя ответственность в случае появления проблем. Чем короче период между обнаружением и обсуждением проблемы, тем быстрее она будет решена. Чем дольше существует проблема, тем сильнее растет недоверие в команде и нежелание работать.
Управление конфликтами
В части II рассматривались стратегии ведения переговоров и разрешения конфликтов. В любой компании со временем появляется целый ряд укоренившихся привычек и стереотипов поведения. Чтобы поддерживать здоровье команды на должном уровне, менеджеры должны помогать сотрудникам приводить в соответствие свое внутреннее видение с видением компании и команды. Нужно также поощрять развитие индивидуальных и командных навыков и обеспечивать стимулы, которые позволят прийти в соответствие с рекомендуемыми нормами и поведением.
В некоторых смыслах конфликты могут быть даже полезными для команды. Благодаря конфликтам в команде возникают новые идеи и перспективы. Отсутствие конфликтов в команде свидетельствует о наличии полной однородности, которая может привести к застою. Мы все должны способствовать повышению ценности организации. Если же кто-то является просто бесполезным балластом, то пусть не удивляется, если его «выкинут» из организации. Навыки по здоровому разрешению конфликтов необходимы для роста отдельных сотрудников, команд и организаций.
МОДЕЛЬ ЖЕЛАТЕЛЬНЫХ ПОВЕДЕНИЙ
На встречах с членами команды сформулируйте модель желательных типов поведения. Если сотрудники заметят, что менеджеры жалуются коллегам на возникшие проблемы, не пытаясь их устранить самостоятельно, они будут копировать подобное поведение. Это справедливо по отношению к отдельным сотрудникам, являющимся руководителями или наставниками любого уровня. Даже если вы не являетесь менеджером, люди все равно могут признавать в вас руководителя и подчиняться вашим распоряжениям, когда дело доходит до рабочих типов поведения.
В условиях конфликтов не следует терпеть или поощрять запугивающее поведение. Подобный вид поведения следует искоренять из рабочей среды. Даже если носители такого поведения могут принести пользу, не миритесь с ними. Чтобы идентифицировать запугивающее поведение, нужно понаблюдать за субъектом, который стал жертвой носителя данного поведения. Если имеет место притеснение, унижение, демотивация или приуменьшение значимости жертвы, значит, перед нами классический образец запугивающего поведения. Еще хуже, если подобное поведение демонстрируют люди, находящиеся на руководящих постах. Ниже приведены некоторые примеры запугивающего поведения:
• обвинение сотрудников в допущенных ошибках;
• критика чьих-то способностей;
• угроза увольнения;
• оскорбления и оскорбительные выходки;
• приуменьшение или отрицание достоинств;
• применение тактики исключения;
• повышение голоса и крик.
Перечисленные примеры поведения могут быть признаками нездоровой рабочей среды. С одной стороны, можно прощать подобное поведение профессионалам, особенно если они работают в маленьких компаниях, находящихся на стадии роста. Приверженцы подобной точки зрения руководствуются рассуждением, что блестящие профессиональные навыки могут перевешивать отсутствие навыков межличностного общения либо даже оскорбительное поведение. Но влияние носителей подобного поведения весьма заразительно. Потакание или даже поощрение подобного поведения может привести к формированию токсичной среды, которая со временем станет нездоровой и малопроизводительной.
Конфликты внутри команды
Внутри команд может возникать множество других источников конфликтов. В этом разделе будут обсуждаться несколько наиболее распространенных источников конфликтов. Также будут рассмотрены потенциальные решения, которые могут применяться на индивидуальном и командном уровнях.
Достижение соответствия с целями команды
Как уже упоминалось ранее, далеко не каждая позиция подходит каждому сотруднику. Людям свойственны разные индивидуальные предпочтения, мотивации и рабочие стили. Благодаря подобному разнообразию команды и организации приобретают необходимую степень гибкости. В результате становится возможным, а в больших организациях даже желательным, чтобы в команде были сотрудники, имеющие другие рабочие приоритеты или рабочие стили.
Вследствие недостатка интереса к приоритетам или проектам команды, межличностного конфликта с коллегами или менеджерами либо несоответствия рабочих стилей у отдельных сотрудников могут возникать разногласия с коллегами или менеджерами. В устранении этих разногласий заинтересованы все члены команды, поскольку они могут привести к формированию плохих отношений в команде, к усилению конфликтов или к падению качества работы. Быстро идентифицировать и устранить эти проблемы можно путем частых и регулярных обсуждений с коллегами и менеджерами.
В повседневной рабочей практике часто приходится сталкиваться с идеями совершенства и исполнения . Соответствующие примеры были рассмотрены в части II, когда вводились термины стартеры и финишеры . Эти идеи, используемые в разных проектах или при выполнении отдельных заданий проектов, могут иметь большое значение для смягчения конфликтов.
Одно из преимуществ, присущих большим организациям, заключается в наличии возможностей по перемещению сотрудников между командами или даже между внутренними отделами. Как отмечалось в части III, предоставление сотрудникам возможности участвовать в тренингах или ротациях между командами не только облегчает идентификацию несоответствий, но и позволяет найти более подходящие команды. Поэтому перемещение сотрудников внутри организации следует поощрять.
Достижение соответствия с целями организации
Люди могут испытывать ощущение несоответствия по отношению не только к командам, но и к организации (в целом или только к ее целям). Это более вероятно в критических точках, таких как события слияния, приобретения или сокращения, но может произойти и в других точках жизненного цикла организации. Например, некоторым людям комфортнее работать в небольших стартапах, а по мере увеличения размеров организации они будут чувствовать себя некомфортно.
Более сильное рассогласование между сотрудниками и организацией в целом труднее преодолеть, чем рассогласование между сотрудниками и командой. Следует иметь в виду, что подобные проблемы могут возникать вовсе не из-за чьей-то вины или неправомерных действий с обеих сторон. Также следует помочь перейти сотруднику на то рабочее место, где он будет себя комфортно чувствовать. В результате повышается вероятность хорошего будущего для вашей организации.
Смещенные стимулы
Помимо смещенных целей, приоритетов или рабочих стилей по мере роста организаций, команд и отдельных сотрудников могут также смещаться стимулы. И снова, вероятность этого события выше в случае масштабирования, например слияния или приобретения.
Для идентификации подобных видов конфликтов могут применяться регулярные встречи «с глазу на глаз». В случае использования денежных стимулов большую помощь окажет представитель службы персонала. Но в этом случае могут возникать разные проблемы. Например, кто-то получит денежную премию в тот момент, когда организация пребывает на стадии спада. Либо сотрудник будет мотивироваться более качественной работой, в то время как для остальных членов команды или организации этот фактор не будет играть такой роли. Стимулы могут применяться на уровне команды или организации. В любом случае стимулы нужно применять до того, как негативные чувства и демотивация стали распространяться от одного человека на остальных членов команды.
Распространение конфликтов за пределы команды
В то время как конфликты обычно возникают в командах, они стремятся распространяться за пределы команды по мере роста размеров отдела или организации в целом. Именно конфликты между командами в свое время послужили инициатором движения devops. Чаще всего причина возникновения конфликтов заключается в несовпадении мотиваций или ожиданий среди различных команд.
Отказ от нереалистичных ожиданий
Менеджеры команды обязаны отказаться от нереалистичных ожиданий. Менеджеры также могут определять, являются ли те или иные ожидания для данной команды реалистичными. Это особенно важно для команд с высоким процентом молодых и новых сотрудников.
Со временем члены команд могут прийти к выводу, что относящиеся к ним ожидания становятся более нереалистичными. Например, если используется выделенная модель эксплуатации, подобная описанной в частях III и IV, на вашу эксплуатационную команду будет возлагаться все больше и больше ожиданий, появившихся во времена роста организации и увеличения количества поддерживаемых команд. Если рост ожиданий опережает рост числа сотрудников эксплуатационной команды, эти ожидания (или требования) очень быстро станут нереалистичными. В этой ситуации придется разбираться менеджеру команды. Отдельные сотрудники команды, в зависимости от уровня влияния в организации, могут не иметь такого же авторитета и влияния, как менеджеры, и этот факт следует принимать во внимание.
Оценка соответствия и потенциала команды
Если на команду возложены вполне реалистичные ожидания, но она все равно постоянно не может оправдать возложенных на нее обязательств, это может быть связано с рядом причин. В результате команда может потерять доверие со стороны зависимых от нее команд. Начните с ответа на вопрос, может ли команда выполнять возложенные на нее обязательства. Помощь в ответе на этот вопрос вам окажет материал о подотчетности команд и отдельных сотрудников, рассмотренный ранее в данной главе. Но при использовании этого материала имейте в виду, что более обширные изменения в организации могут привести к перекосам на уровне отдельных сотрудников и организаций. Эти перекосы нужно отыскать, идентифицировать и устранить.
Не превышается ли рабочий потенциал команды? Убедитесь в том, что выполняемая командой работа является наиболее важной и ценной для компании. Опять же уделяйте внимание оценке реалистичности ожиданий, возлагаемых на команду, особенно если организация недавно пережила стадию роста. Как упоминалось ранее, с помощью devops невозможно увеличить в два раза производительность труда при сохранении прежней численности персонала. Поэтому убедитесь в том, что команды укомплектованы в достаточной степени, чтобы оправдать возложенные на них ожидания. Чтобы удовлетворить требования команды, понадобятся время, энергия и персонал.
Масштабирование организаций
На организационном уровне могут возникать большие проблемы, связанные с масштабированием. Решения должны приниматься в направлении сверху вниз, там, где данные известны на уровне соответствующих команд и отдельных сотрудников. При этом потребуются достаточная координация и степень информационной прозрачности, поскольку в области точек принятия решений имеет место довольно большой поток данных. Одиночные команды, работающие в изоляции, будут создавать инструменты, которые могут помочь другим людям, но в первую очередь они призваны удовлетворять потребности отдельной команды.
Централизованные и ситуативные команды
Централизация команд, выполняемая в целях обеспечения функций поддержки, приводит к выгоранию и к попыткам одной команды стать всем для других. Эффективные команды поддержки обеспечивают бесперебойную работу организации. Если реальные ценности не визуализируются и не обговариваются в организации, команда поддержки может восприниматься как второсортная, особенно в тех организациях, в которых используется лестница престижа. Это может иметь катастрофические последствия для морали и со временем повлиять на целую компанию из-за потери эффективности команды в целом.
В ситуативных командах поощряется сотрудничество между отдельными людьми, возникшее в силу кросс-функциональных потребностей в дизайне, создании продуктов или в общении. В таких командах поддерживаются разные точки зрения и облегчается процесс изменений. Также участникам таких команд проще выйти за пределы кастовых границ.
Вряд ли можно оценить «мощность» человека – его вклад и степень влияния в организации. Если сотрудника недостаточно ценили в организации, то лишь его увольнение поможет лучше осознать степень его ценности. Поэтому соблюдайте осторожность в процессе принятия решений, создающих единые точки власти и ответственности, которые могут привести к хрупкости структуры организации.
Формирование лидерства
Создайте совместную команду руководителей, которая будет управлять ежедневными изменениями, использовать возникающие возможности и вызовы, а также отслеживать критические моменты. Эти различные задачи должны распределяться среди членов команды руководителей. Чтобы улучшить количественную оценку и квалификацию людей, набираемых в команду, применяются инструменты, которые позволяют собирать сведения о показателях выполняемых задач.
Независимо от того, какая часть организации испытывает трудности, связанные с масштабированием, существуют ключевые типы поведения, которые должно использовать руководство перед лицом возникающей угрозы. Смоделированные типы поведения включают подотчетность, концентрацию и проверку исполнения. Последовательные действия и подкрепляющие друг друга ценности в команде руководителей помогают в создании здоровой организации.
Культура подотчетности
В общем случае подотчетность представляет собой признание и принятие на себя ответственности. Это верно как на организационном уровне, так и на уровне отдельных команд и сотрудников. Мы можем рассматривать подотчетность, которая обычно включает ответственность за проектные и индивидуальные результаты, а также деятельность по обучению и развитию с точки зрения команды или отдельного сотрудника. И наконец, можно рассмотреть подотчетность с точки зрения руководства: она может включать дополнительные финансовые и регулирующие обязательства.
Независимо от выбранной точки зрения возникает следующий важный вопрос: «Кто принимает решение о привлечении человека к ответственности и кто определяет, что он делает?» В процессе ответа на этот вопрос вы будете в состоянии идентифицировать людей, которые определяют подотчетность и условия ее возникновения. Культура подотчетности включает в себя четкие разумные ожидания, позитивные и негативные последствия, которые имеют место в результате качественно и некачественно выполненной работы соответственно.
Как уже упоминалось в части III, основное неверное представление о подотчетности заключается в том, что она состоит в приписывании вины, или в том, что стимулирование подотчетности ведет к формированию культуры страха. Упущенные проблемы производительности и уклонение от подотчетности побуждают отдельных сотрудников копировать избегающее поведение. В результате происходит утрата доверия друг к другу и к менеджерам. Организации, в которых укрепляется культура страха, негативно влияют на стремление сотрудников брать на себя личную ответственность. Если людей обвиняют в чем-либо, не давая полномочий на исправление или улучшение ситуации, вместо культуры подотчетности формируется культура страха и обвинений.
Еще одно заблуждение, связанное с подотчетностью, заключается в предположении, что люди будут брать вину на себя естественным образом. Но даже в самоуправляемых либо в самонаправляемых командах руководство должно формировать и поощрять виды поведения, которые считаются ценными. Чрезмерный акцент на личной ответственности без поддержания ясности и связи с бизнес-целями может привести к росту числа ошибок и степени недопонимания. В сложных организациях имеет место огромное число конкурирующих целей и требований. Это осложняет создание саморегулирующейся и самостоятельно назначенной подотчетности.
Вышесказанное не означает, что люди не могут и не хотят мотивироваться сами, но менеджеры, которые ожидают от них отчетов с изложением проблем или ошибок, могут остаться ни с чем. Это особенно верно при переходе от упречной к безупречной организации. Если люди привыкают подвергаться наказаниям за ошибки или низкое качество работы, естественно, что они будут опасаться сообщать о появлении подобных проблем. Поэтому понадобится провести тренинг по внедрению культуры подотчетности в организации, не возвращаясь к типам поведения, основанным на наказаниях или страхе.
Организационная гибкость
В крупных организациях, особенно в тех, которые существуют уже много лет, процессы изменения и адаптации происходят намного медленнее. Справедливость этого утверждения подтверждается тем, что изменения в большой организации затрагивают сотни и даже тысячи людей, поэтому внедрение подобных изменений потребует сил и времени.
Известно, что одно из преимуществ применения более гибкого стиля разработки программ заключается в скорости внедрения изменений. Благодаря сокращению циклов обратной связи в ответ на появление новой информации ускоряется внедрение изменений. В результате сокращаются потери времени и сил. Степень гибкости во многом зависит от организации команд и процессов, влияющих на взаимодействие между командами.
При рассмотрении гибкости большой организации возникают следующие типичные вопросы.
Каким образом общаются люди из разных команд?
В неэффективной среде люди должны переместиться вверх в иерархии менеджмента, как минимум на один уровень, чтобы пообщаться с разными командами и отдельными сотрудниками на своем уровне. Чем более громоздка структура организации и чем больше уровней она охватывает, тем менее эффективен процесс общения. Поэтому по возможности нужно сокращать количество сотрудников организации, вовлеченных в процесс общения.
Требует ли процесс принятия решений проведения формального совещания?
Если процесс внесения изменений требует ведения документации в определенной форме, а система документооборота имеет ручные компоненты, которые не могут быть автоматизированы, это может негативно сказаться на гибкости и продуктивности.
Насколько далеко нужно продвинуться по иерархии менеджмента, чтобы выполнить необходимые изменения?
Если люди вынуждены получать одобрение на внесение изменений, влияющих на работу их команды, у менеджеров, находящихся на вышестоящих уровнях, они будут чувствовать, что у них связаны руки.
Практика: государственное агентство по оказанию цифровых услуг, GOV.UK
В этом примере будет рассмотрена деятельность государственного агентства по оказанию цифровых услуг (Government Digital Service; GDS). Эта организация является структурным подразделением британского правительственного секретариата кабинета министров. Она находится в лондонском районе Холборн и ответственна за преобразование правительственных цифровых услуг. В 2010 году Марта Лейн Фокс (Martha Lane Fox) изложила соответствующие сведения в отчете Directgov 2010 and Beyond: Revolution Not Evolution (https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/60993/Martha_20Lane_20Fox_s_20letter_20to_20Francis_20Maude_2014th_20Oct_202010.pdf). Сформированное в апреле 2011 года, агентство GDS находится под надзором управляющего бюджетными расходами (Public Expenditure Executive, Efficiency & Reform).
Явно заданная культура
В государственном агентстве по оказанию цифровых услуг сформированы следующие семь цифровых принципов (https://www.flickr.com/photos/benterrett/7041509709):
• цифровая форма (по умолчанию);
• пользователи на первом плане;
• обучение в путешествиях;
• построение сети доверия;
• выход за барьеры;
• создание среды, способствующей процветанию технологических лидеров;
• не делать все самому (это просто невозможно).
Работайте с пользователями так, как будто собираетесь формировать кабинет министров, а не обычную технологическую фирму.
– Дженнифер Палка. Code for America Summit
Как видите, в этих принципах явно присутствуют ценности и запреты. Например, фраза «пользователи на первом плане» представляет собой ценность, утверждающую высший приоритет для пользователей. Если, например, инженер хочет поэкспериментировать и изучить новый инструмент или архитектуру, тогда в игру вступает запрет «не делать все самому (это просто невозможно)». Важно отметить, что позитивные ценности преобладают над негативными запретами, хотя всегда проще сказать людям, что им не стоит делать. Имейте в виду, что описание желаемых поведений намного эффективнее при создании желаемой культуры или атмосферы.
Помимо описанных семи цифровых принципов агентство GDS также внедрило следующие десять принципов дизайна (https://www.gov.uk/design-principles):
• начните с выяснения потребностей;
• делайте меньше;
• проектируйте вместе с данными;
• облегчайте тяжелую работу;
• повторите, затем повторите еще раз;
• это предназначено для всех;
• поймите контекст;
• создавайте цифровые сервисы, а не сайты;
• будьте последовательны, но не однообразны;
• создавайте открытый код, он всегда лучше.
Эти принципы проектирования отражаются в одном из указанных ранее цифровых принципов: пользователи на первом плане. В данном случае выделяются все аспекты пользовательского опыта, а не только, например, умение создавать серверный код. Критически важной для культуры является идея, суть которой заключается в том, что преобразование заключается не только в аппаратной и программной технологии. На самом деле преобразование – это изменение опыта пользователей. В качестве примера можно рассмотреть внедрение цифровой услуги Claim Carer’s Allowance (https://gds.blog.gov.uk/2014/07/03/what-we-mean-when-we-say-service-transformation/).
Создание явной культуры вместо полагания на неявное понимание, которое часто приводит к недоразумениям, позволило агентству GDS четко сосредоточиться на определенных типах изменений, которые оно должно внести в своей сфере деятельности.
Планирование
Планирование – это важная часть любого процесса разработки программы либо предоставления цифровой услуги уполномоченной организацией. Путем явного оглашения целей и необходимого для их достижения времени, а также с помощью расстановки приоритетов для данного периода времени команды могут значительно увеличить вероятность достижения цели. Процесс планирования тесно связан с культурой явных определений. Если вы не сможете достаточно хорошо определить цели, чтобы запланировать их, вряд ли вы достигнете этих целей.
Процесс планирования изменений, осуществляемый командой GDS, включает выделение достаточного количества времени на исследование возможных решений. Чтобы выбрать решение, наилучшим образом удовлетворяющее текущие потребности, производится оценка предлагаемых решений. При этом соблюдаются вышеизложенные цифровые принципы и принципы проектирования. Также поддерживается общение с другими правительственными командами, позволяющее скоординировать усилия и удостовериться в том, что запланированная работа не выполняется в данный момент другой командой. Этот простой, но критически важный шаг позволит избежать пустых трат времени на дублирование работы.
Как только завершается сбор данных по проекту и требований к проекту, производится оценка потенциальных решений, реализованных в форме открытого и коммерческого кода. Затем создается прототип, который совместно используется командами, такими как разработчики, эксплуатационники и сервисные менеджеры. Благодаря этому возможно получение обратной связи от максимального числа заинтересованных сторон прежде, чем полностью утвердить выбранное решение. Также минимизируются впустую потраченные усилия, если выясняется изменение направления разработки, и обеспечивается максимальное удовлетворение потребностей каждого заказчика, которому предлагаются потенциальные решения.
При планировании проектов или других работ в организации, особенно работающей в условиях масштабирования, обращайте внимание на следующие моменты.
• Работают ли в этой области другие команды или группы?
• Каким образом могут координироваться или объединяться усилия с другими командами?
• Какие заинтересованные стороны и лица, принимающие решения, должны быть привлечены?
• Каким образом вы определяете успех для этого проекта?
Вызовы
Один из вызовов, который часто возникает в правительственных агентствах, – дублирование усилий разными группами (рис. 14.3). В каждой группе должны поддерживаться основные элементы инфраструктуры. Эти элементы применяются дополнительно к работе, которая находится в центре внимания или в области компетенции определенной группы. Поскольку эти основные услуги не централизованы, каждой команде или группе придется потратить время, чтобы нанять специалистов, обладающих необходимыми навыками.
Предоставление услуг на основе платформы многоарендной архитектуры в правительственном секторе позволило бы сэкономить время эксплуатационных команд. Экономия достигается за счет того, что вводится централизованная служба поддержки, которая удовлетворяет всем требованиям безопасности и конфиденциальности. Централизованное предоставление услуг позволило бы сервисным командам сосредоточиться на областях, навыках и требованиях, которые являются для них уникальными. Ключевые требования для мультиарендной платформы, используемой в правительственных учреждениях, приведены в следующем списке:
• она должна быть самообслуживаемой;
• должны использоваться несколько провайдеров услуг;
• должна быть изоляция кода, данных и логов.
Рис. 14.3. Дублирование услуг, предоставляемых правительственными организациями
Благодаря самообслуживанию пользователи получают полный контроль над нужными аспектами приложения. Это позволяет командам сосредоточиваться на разработке усовершенствований платформы, а не на создании услуг. В результате поощряется специализация, приводящая к формированию платформенных и сервисных команд.
Второе требование, заключающееся в использовании нескольких провайдеров услуг, предотвращает привязку к одному поставщику, стимулирует конкурентное ценообразование и способствует устранению единственных точек отказа. В процессе обдумывания требований проекта лучше использовать несколько облачных хранилищ, чем одно. Заблаговременное соблюдение этого требования позволит отказаться от использования специфичных для поставщика средств, привязка к которым затруднит переход к другому провайдеру либо включение дополнительных провайдеров в дальнейшем. Позднее в агентстве GPS решили отказаться от этого требования, поскольку решения с открытым исходным кодом также будут обеспечивать необходимую степень гибкости.
Третье, и наиболее существенное, требование для многоабонентской платформы заключается в полной изоляции кода, данных и логов между агентствами. Это необходимо, чтобы убедиться в том, что каждая группа или агентство в состоянии соблюдать собственные ограничения безопасности и конфиденциальности. Даже если одно из ограничений не удовлетворяется, платформа не может использоваться и, соответственно, не может рассматриваться как успешная. И хотя детали этого вызова являются уникальными для каждой правительственной организации, во многих организациях также должны удовлетворяться разные юридические требования (например, соблюдение совместимости с PCI, SOX либо HIPAA). Все эти моменты должны учитываться в процессе планирования, чтобы избежать потенциальных напрасных затрат усилий.
Формирование близости
Один из способов формирования близости, применяемых в GDS, заключается в участии в турнирах Global GovJams. Турнир GovJam (http://www.govjam.org/) подобен хакатону в том, что участники имеют ограниченное количество времени (всего лишь 48 часов), чтобы завершить выбранные ими проекты. Вдохновленные идеями Global Service Jams и Sustainability Jams, организаторы турниров GovJam предлагают участникам свободно выбирать темы, голосовать за идеи и создавать команды.
Как только команды будут сформированы, они начнут общаться с клиентами, чтобы выяснить их нужды. В отличие от традиционного хакатона, в GovJam во главу угла ставится налаживание взаимодействия между людьми, заинтересованными во внедрении улучшений и инноваций. В сети Global GovJam объединяются и соединяются люди со всего мира на основе общей темы и общей централизованной платформы, используемой для размещения прототипов. Также участники могут сотрудничать и обмениваться информацией с помощью Twitter, используя хэштег #ggovjam.
Затем в течение 48 часов команды создают прототипы. При этом используется все, что доступно, и все, что может применяться в работе, а также коллективный опыт и экспертные знания. Они регулярно просматривают демоверсии и видят, как другие пользователи испытывают и используют продукт, улучшая его на основе полученных знаний. Благодаря распространению идей и помощи между командами больше выигрывают клиенты, а не сами участники команд. Благодаря концентрации на сотрудничестве обеспечивается отличный способ внедрения совместного мышления в GDS.
Второй способ, используемый GDS для формирования близости, заключается в регулярном ведении блогов для обмена информацией об организации, ее целях и текущих проектах. Несмотря на необходимость соблюдения различных инструкций по безопасности и конфиденциальности, сотрудникам GDS рекомендуется публиковать посты в публичном блоге группы. Эти посты посвящены самым разным темам, начиная от новых продуктов и услуг, которые доступны клиентам, и завершая способами усовершенствования культуры и процессов. В результате формируется узнаваемый образ группы и приобретаются привычки по получению знаний и обмену информацией.
И наконец, в GDS формируется близость на основе участия в сообществе разработчиков ПО с открытым исходным кодом. Портал GOV.UK основан на использовании программного обеспечения с открытым исходным кодом. Благодаря использованию открытого исходного кода облегчается сосредоточение на нуждах пользователей. Этот код доступен на сайтах по адресам https://github.com/gds-operations и https://github.com/alphagov.
Джеймс Стюарт (James Stewart), директор по технической архитектуре в агентстве GDS, продемонстрировал общий подход к выбору инструмента, показанного на рис. 14.4, процитировав мирового судью Рангасвами.
Для устранения общих проблем используйте инструменты с открытым исходным кодом.
Для устранения редких проблем используйте платные решения.
Для устранения уникальных проблем создавайте свой код.
Рис. 14.4. Пирамида создания, покупки и использования открытого кода
По сути, эта цитата говорит нам, что все участники команды должны решать повседневные проблемы с помощью открытого исходного кода, внося свой вклад в сообщество. Вклад в сообщество подразумевает нечто большее, чем обычное подтверждение кода и включение таких элементов, как документация, отчеты об ошибках и иллюстрации. В случае возникновения редких проблем приобретите продукты, которые способствуют устранению этих проблем. И наконец, для устранения уникальных проблем, специфичных для вашей команды или организации, создайте свое собственное решение.
В общем случае правительственное агентство по оказанию цифровых услуг работает над созданием и поддержкой явно определенной культуры, которая нацелена на пользователей и на решение связанных с пользователями проблем. К ценностям также относятся опыт проектирования и общий опыт, сосредоточение на использовании agile-практик для уменьшения количества затрат, ускоренного выполнения итераций, а также упрощения оказания цифровых и технологических услуг для других правительственных организаций. Акцент на сотрудничестве и близости, а также собственных ценностях и запретах появился в результате длинного пути к созданию культуры правительственных организаций, необходимой для успешности в будущем.
Практика: Target
За последние десять лет произошли серьезные изменения в том, как, где и когда люди совершают покупки. Клиенты компании Target должны легко получать доступ к услугам в любом месте и в любое время. Технология, заложенная в основе компании, критически важна для способности быстро модифицировать стратегии в соответствии с изменяющейся средой для цепочки поставок и в соответствии с требованиями клиента.
Поскольку размеры компании Target довольно большие, принятие devops-культуры не было односторонним, спущенным сверху вниз решением. Некоторые команды начали свое devops-путешествие отдельно, а после того, как полученные результаты доказали успешность выбранных стратегий, объединились. Информация для этого примера была подобрана на основе сообщений в блоге, общедоступных презентаций, опубликованных сотрудниками Target, и регистрационных документов компании.
Знакомство с Target
Компания Target Corporation – это розничная торговая компания со штаб-квартирой в Миннеаполисе, штат Миннесота. Основанная в 1902 году Джорджем Дейтоном (George Dayton) как Dayton Dry Goods, в середине 2015 года Target насчитывала примерно 347 тысяч сотрудников. По состоянию на 2015 год эта компания являлась вторым по величине импортером в США. Компания Target имеет сеть обычных магазинов, а также работает в банковском, фармацевтическом секторах и в сфере охраны здоровья.
Как любая современная компания, работающая в сфере розничных продаж, Target имеет большой послужной список технических инноваций. В 1988 году компания установила сканеры UPC во всех магазинах и центрах дистрибуции Target. Также был изменен дизайн магазинов, в частности появились более удобные товарные полки. Также в течение нескольких лет в магазинах появился ряд новых инноваций, от пунктов проверки цен, контрольно-кассовых аппаратов, карманных устройств проверки запасов товара на складах, пунктов формирования списков подарков до приложений, гарантирующих поставку товаров из центров дистрибуции в нужное время и место, а также другие инновации.
Начнем с желаемых результатов
В крупной организации с длинной историей путешествие в направлении изменений часто напоминает перемещение в запутанном лабиринте, состоящем из большого числа изгибов и поворотов. Хорошее прохождение лабиринта включает лучшие практики, которые минимизируют риск. Организация отражает сложность, создаваемую со временем. Если посмотреть на Target «с высоты птичьего полета», вряд ли вы определите начало devops-путешествия компании Target.
В действительности не было никакой единственной начальной точки. Многие команды начинали с разных начальных точек. Хизер Микман (Heather Mickman) возглавила команду под названием «API and Integration Development», а Росс Клэнтон (Ross Clanton) – команду «Ops Infrastructure Services». Именно эти две команды работали над внедрением devops в организации. Избранные командами способы не относятся к категории простых, причем некоторые сотрудники даже не знали о наличии термина devops. Вместо этого они описывали желаемые результаты на обычном языке, например «более скудно, более быстро, предоставление более качественных услуг». Эти слова выражают суть философии devops. Как объясняет Хизер Микман:
Я должна была прекратить использовать термин devops, поскольку он перегружен смыслом, несет большое количество дезинформации и недоразумений. Я беседовала с коллегами и руководителями организации и видела, как они умолкали, когда я произносила слово «devops».
Решение Микман в пользу отказа от использования термина devops в силу его перегруженности смыслом демонстрирует силу народных моделей, рассмотренных в главе 2. Вы могли бы столкнуться с подобными реакциями в своих собственных организациях, когда предвзято настроенные люди проявляют недовольство и избегают обсуждений. Подобно Микман, вы также можете найти время для выполнения эффективных преобразований в организации, особенно если сосредоточитесь на желаемых результатах и изменениях, а не на голой терминологии. Изменения выполняются поэтапно, начиная с агентов индивидуальных изменений, массовых усилий и нисходящей поддержки и завершая успешными стратегиями масштабирования.
Критически важными для адаптации изменений являются сосредоточение на желаемых результатах и осведомленность о чувствительности к языку. Рассказывайте интересные истории, которые пробуждают интерес и вдохновляют на изменения, без использования слова devops . Важно осознать текущий ландшафт в Target и понять, как отразились на людях приложенные усилия.
Формирование корпоративной близости
Руководство компании Target поощряет формирование близости на предприятии путем поддержки существующей культуры организационного обучения. Благодаря «внедрению в массы» идеи организационного обучения и поощрению всех сотрудников к продвижению «на ступеньку выше» обеспечивается масштабирование по всей организации. При этом делается упор на следующих четырех элементах:
• экспериментирование;
• тестирование;
• неудача;
• достижение цели.
Благодаря большому опыту работы с разными командами Росс Клэнтон осознал и прочувствовал проблемы каждой команды. Также он столкнулся с разными проблемами на уровне организации, такими как смещенные символы, передача работы и подотчетность.
Путешествие Клэнтона в мир devops, внедряемого в компании Target, началось с поиска руководства, которое помогло бы справиться с подобными проблемами. Многие рекомендуют книгу Phoenix Project: A Novel About IT, DevOps, and Helping Your Business win, написанную Кевином Берром (Kevin Behr), Джин Ким (Gene Kim) и Джорджом Спэффордом (George Spafford). После прочтения этой книги Клэнтон приобрел дополнительные экземпляры и раздал их другим членам своей команды. Он также провел ролевую игру на основе различных сценариев, описанных в книге.
Важно отметить, что процесс обучения и внедрения изменений внутри организации зачастую вдохновляется внешними факторами. Если вы черпаете идеи и стратегии только внутри организации, то в конечном итоге рискуете остаться со старыми практиками, привычками и паттернами. А если вы попытаетесь внедрить серьезные изменения в организации, то вряд ли старые методы смогут адекватно использоваться.
Не становитесь жертвой менталитета карго-культа, внедряя изменения только по той причине, что это делают другие. Но и не стоит недооценивать опыт и знания других людей.
Он объединился с другими технологическими лидерами в организации, включая директора Хизер Микман и технического руководителя Джеффа Эйнхорна (Jeff Einhorn), для поиска партнеров внутри организации, которые помогли бы внедрить необходимые общие изменения. Это имело решающее значение для преодоления разрыва между разными бункерами и сглаживания противоречий между организациями, имеющими разные приоритеты и сталкивающимися с различными вызовами. Вместе они обращались к другим экспертам в этой области, включая руководство Netflix, Google и Facebook, чтобы разобраться с соответствующими паттернами, которые можно адаптировать для использования в своей организации.
На саммите DevOps Enterprise Summit, прошедшем в 2014 году, Росс Клэнтон описал свое devops-путешествие в компании Target как объединение людей, работающих в разных отделах организации. После достижения успеха в небольших командах активные участники движения devops начали рассылать сообщения более широкой аудитории компании Target различными способами:
• В феврале 2014 года была проведена первая внутренняя мини-конференция devops. На этой конференции выступали приглашенные докладчики Роб Каммингс (Rob Cummings) из компании Nordstrom и Майкл Даки (Michael Ducy) из компании Chef.
• Участники devops-движения регулярно проводят встречи, на которые приглашают независимых ораторов, в том числе Джеффа Сассну (Jeff Sussna), Флетчера Никола (Fletcher Nichol), Иэна Мэлпэсса (Ian Malpass), Шона О’Нэйла (Sean O’Neil) и Джеза Хамбла (Humble). Благодаря этим встречам удалось пополнить ряды сторонников devops-движения. Так, если на первой встрече было 160 посетителей, то на встрече, имевшей место в феврале 2015-го, количество посетителей выросло до 400.
• Чтобы предоставить людям больше информации о devops, была запущена еженедельная программа Automation Open Labs, используемая в качестве открытого сеанса вопросов и ответов.
• Также был запущен ежемесячный демонстрационный сеанс, благодаря которому члены сообщества получили возможность совместно выполнять работу, получать обратную связь, вдохновлять и быть вдохновленными.
Росс и Хизер адаптировали последовательный обмен сообщениями в организации, который реализуется через коучей, выполнив сведение методик гибкой и бережливой разработки программ, а также devops-методики. В результате в организации появились коучи, специализирующиеся в смежных областях. Также была сформирована практика обеспечения качества, которой способствуют высокоиммерсивные сеансы тренинга. Сотрудников компании поощряют делиться опытом с пользователями Интернета на сайте http://target.github.io. В результате увеличивается степень близости как внутри организации, так и за ее пределами.
Применение инструментов и технологий в компании
Команду под руководством Микман обязали создавать интерфейсы приложений (application program interfaces; API), которые позволили бы упростить растущую сложность систем и организационных бункеров в компании Target.
Со временем в организации, управляемой с помощью модели водопада, наблюдается тенденция к формированию иерархий и процессов, которые минимизируют риск. Роли становятся жестко заданными, а команды специализируются на оказании единственной услуги, которая тесно связана с другими услугами, предоставляемыми в организации. Это приводит к удлинению циклов выпуска, чтобы распространить сведения о потенциальных изменениях по всей организации. В результате возрастает риск неудачи при внедрении изменений.
Разработка API рассматривается в качестве способа устранения растущей технической задолженности организации. Поскольку компания Target специализируется в области розничной торговли, она разрабатывает API, позволяющие выполнять операции с товарами, отслеживать местоположение и часы работы магазинов, проводить промоакции и регулировать ценообразование. По мере развития API компания Target получила возможность быстро проверять текущее состояние дел, а также узнавать о том, как оптимизировать работу с клиентами и партнерами, например с Pinterest.
Для получения требуемых результатов руководству компании Target следовало найти подходящие инструменты. Как упоминалось в части IV, среди отдельных людей и организаций существуют различные мнения по поводу важности конкретных инструментов либо способа их применения. В компании Target господствует мнение о важности инструментов самих по себе. Благодаря правильно подобранному набору инструментов обеспечивается комплексное владение платформой и API. В случае же отсутствия таких инструментов платформа и API будут разрознены и заключены в бункерах.
ВАЖНОСТЬ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ В DEVOPS
В декабре 2015-го появились сообщения о том, что у приложения списка желаний Target обнаружена утечка персональных данных. Известно, что ключевая функция API заключается в поддержке коммуникационных интерфейсов, обеспечивающих передачу данных между программами. Зачастую при разработке программного обеспечения компании уделяют внимание ожидаемому способу использования программного обеспечения, а не потенциальным возможностям его использования.
При создании программы, обеспечивающей возможность взаимодействия между другими программами, фактически создается возможность для общения человека с этими программами. Зачастую с помощью барьеров авторизации и аутентификации осуществляется отбор пользователей, которым разрешено «общаться» с программой и использовать ее. С помощью аутентификации гарантируется подлинность объекта. Авторизация определяет политики доступа, задающие список разрешенных действий для объекта.
Возвращаясь к случаю с уязвимостью, обнаруженной в приложении Target, заметим, что соответствующий интерфейс API не обладает богатым набором средств авторизации и аутентификации. Процесс встраивания аутентификации в сервис может быть затруднительным, особенно если вы разрешаете пользователям найти список желаний на основе известной информации, не требуя создавать профиль пользователя. Например, если человек, создающий список желаний, хочет поделиться идентифицирующей информацией с организацией, пользователь, просматривающий список желаний, может этого не захотеть. Поэтому отсутствие аутентификации при работе со списком желаний – это не так уж и плохо, как может показаться на первый взгляд.
Таким образом, проблема заключается в том, чтобы создать безопасный сервис, который не передает персональную идентифицирующую информацию (personal identification information; PII) неуполномоченным лицам. Также нужно обеспечить способ поиска подобной информации, соответствующей спискам пожеланий пользователей. Основной недостаток API заключается в наличии четко заданного набора политик доступа, связанных с сущностями. Если сущность не прошла процедуры аутентификации и авторизации, она не может получить доступ к PII даже при наличии идентификатора пользователя. В идеале идентификаторы пользователя следует выбирать так, чтобы затруднить их угадывание. В случае с уязвимостью в приложении компании Target все выглядит так, что при наличии какой-либо информации о человеке она может быть истолкована как разрешение на получение полного набора сведений, относящихся к этому человеку.
В процессе преобразования должны принимать участие все компоненты организации. Если в организации накопились культурные и технические задолженности, их влияние будет ощущаться до тех пор, пока в организации будут существовать бункеры.
Чтобы достичь поставленных целей, в компании Target использовался соответствующий набор инструментов. В число этих инструментов входят платформа облачных вычислений OpenStack, средство непрерывной интеграции и доставки Jenkins, средство автоматизации инфраструктуры либо управления конфигурацией Chef, средство контроля исходного кода GitHub. Благодаря использованию подобного набора инструментов обеспечивался более прозрачный процесс разработки кода. Ранее разработчики имели свои собственные автономные обзоры кода, теперь же они используют запросы на включение кода GitHub. Подобный подход очень нравится сотрудникам из эксплуатационного отдела, поскольку они получают возможность отслеживания изменений и могут легко стать участниками процесса разработки программ.
Для общения внутри организации весьма полезно приложение Hipchat, а приложение chatops стало неотъемлемой частью процесса разработки. Благодаря Hipchat обеспечивается общение не только внутри одной команды, но и между командами. Благодаря использованию chatops для потоковой передачи оповещений и событий в соответствующих каналах можно в режиме реального времени получить представление об экосистеме разработки программ. Это позволяет реагировать на инциденты гораздо быстрее, чем при использовании классических подходов.
В компании Target успех инициатив по внедрению новых инструментов частично оценивался пропорционально количеству соответствующих API. С октября 2014 года по февраль 2015 года этот показатель вырос от 30 до 45. Важность API обусловлена их использованием для интеграции и совместной работы команд и сервисов. До появления API они находились в бункерах и работали раздельно. Несмотря на возросшее число внутренних и внешних запросов API, сайт оставался стабильным, а ежемесячное количество инцидентов было весьма небольшим. Благодаря подбору корректной комбинации инструментов, обеспечивших улучшенное сотрудничество, были устранены некоторые болевые точки, что способствовало достижению успеха.
Не забудьте сформулировать критерии успешного использования инструмента в организации. Сконцентрируйтесь на результатах, которые вы хотите получить, выясните болевые точки, а затем подыщите инструменты для решения идентифицированных проблем.
Обмен знаниями внутри компании
После достижения успеха в ограниченных командах Микман и Клэнтон начали формировать послание для более широкой аудитории в Target. Один из механизмов, позволяющих внедрить изменения в организации, – проведение ежеквартальных внутренних конференций devopsdays. На этих конференциях выступали докладчики из других организаций, в частности Роб Каммингс из компании Nordstrom и Майкл Даки из компании Chef. Как уже упоминалось, это способствовало привлечению новых идей и возбуждению интереса к собственным devops-инициативам и прогрессу.
Вторая стратегия, адаптированная в Target, заключалась в обеспечении согласованности при обмене сообщениями в организации. Росс и Хизер имели представление о том, каким образом эксперты в области бережливой разработки программ, гибкой разработки ПО и devops могут помочь тренеру либо наставнику, обучающему отдельных сотрудников либо команды, в обучении и обмене информацией. Они обнаружили, что сведение этих тем в одну и воспитание тренеров, специализирующихся в смежных областях, облегчит формирование более последовательной внутренней народной модели. В результате все больше людей будут владеть информацией, относящейся к разным devops-концепциям.
Еще один способ распространения инициатив с уровня отдельных команд на уровень всей организации заключается в проведении иммерсивных коучинг-сеансов. Формирование открытых лабораторий, в работе которых могут принимать участие все сотрудники организации, позволяет расширить масштабы взаимного обучения и обмена информацией. Благодаря «автоматизированным хакатонам» еще большее число людей могут принять участие в этих изменениях. Это также хорошо сказывается на собственной работе этих людей.
Здесь перечислены лишь несколько способов, благодаря которым компания Target смогла не только подобрать наборы инструментов и решения по сотрудничеству, которые успешно использовались в работе, но и поделиться информацией в масштабах организации о работоспособных (и не очень) решениях. Сочетание поддержки в направлении сверху вниз и усилий, проявленных на нижних уровнях, обеспечивает внедрение изменений на уровне отдельных людей и команд.
Подход, заключающийся в разрешении отдельным сотрудникам и командам внедрять изменения на основе их собственного глубокого опыта, необходим для уверенности в корректности изменений, осуществляемых в любой организации. Чтобы придать этим изменениям устойчивый характер, необходима административная поддержка.
Выводы
Мы сталкиваемся с проблемами нашей рабочей среды, причинами которых послужили наши прошлые решения либо текущие задачи. Если подходить к этим проблемам с точки зрения отдельного сотрудника, команды или организации, то можно успешно оценивать, планировать и преодолевать их. На самом деле ключевые проблемы, связанные с адаптацией devops-практик, заключаются в масштабировании. На разных уровнях могут существовать барьеры, которые растут с течением времени. Эти барьеры влияют на подход к различным критическим точкам, которые могут возникать на протяжении жизненного цикла организации.
Иногда нужно пересматривать текущие процессы и возвращаться обратно. Порой нужно быть медлительными и осторожными, а бывает, что нужно быть быстрыми и динамичными. Успех приходит в результате непрерывной практики и обучения на ошибках.
Успешное масштабирование – это искусство и наука принятия решения о том, когда и как нужно изменить направление (в случае необходимости), чтобы успешно перемещаться в постоянно изменяющейся среде. Как и в случае с открытым восхождением, отсутствуют размеченные красочные маршруты, которые будут направлять вас в конкретной ситуации. Нужно начать с повышения необходимых навыков на уровне отдельных людей, команд и организации в целом, а затем применить базовые принципы эффективных devops-методик независимо от сложности и размеров организации.