Полезно также узнать, в каких проектах задействовано несколько команд, а в каких – всего лишь одна команда. Если в работе принимает участие несколько команд, делают они это одновременно либо одна команда завершает свою часть работы, а затем «перепоручает» оставшееся другой команде? Подобные перепоручения не всегда плохи, скорее это признак недостаточной степени внедрения совместной работы на протяжении всего процесса. В этом случае нужно исследовать рабочий процесс на предмет возможных улучшений. Если проект выполняется одной командной, то отсутствие сотрудничества между командами не страшно. Но если результаты выполнения проекта будут использоваться другими командами либо влиять на них, найдите способы привлечения этих команд.
«Возврат долгов» сообществу
Большая часть преимуществ, связанных с devops-движением, обеспечивается его сообществом. Это сообщество представляет собой группу практиков, которые собираются вместе, чтобы поговорить о работе и способах ее выполнения. В наши дни отсутствует завеса секретности, скрывающая технологии и методики, имевшая место в предыдущие десятилетия. Фактически некоторые из самых известных компаний, работающие в этом пространстве, в течение многих лет говорят не только о своих успехах, но и о неудачах.
Компания Etsy, известная своим техническим блогом Code и многочисленными инструментами, основанными на программах с открытым кодом, в том числе StatsD, называет эту идею «щедростью духа». Эта «щедрость» подразумевает написание постов в публичном блоге, выступления на отраслевых конференциях либо участие в создании программ с открытым кодом. Также сотрудникам предлагается принять участие хотя бы в одном мероприятии в течение года. Это позволяет убедиться в том, что эти люди продолжают приносить прибыль и «возвращать долги» сообществу. Любая организация, которая получает и использует полезные сведения, полученные на основе выступлений на конференциях, постов блогов, собраний или проектов с открытым кодом, должна приложить усилия для «возврата долгов» в натуральной форме.
Участники сообщества не прочь поделиться своей работой и идеями в свободной и открытой форме, что приводит к укреплению сообщества и повышает его ценность. Люди делятся идеями с помощью таких средств общения, как Twitter, LinkedIn, а также выступают на разных встречах и конференциях. Это позволяет сформировать отношения и связи, которые были бы невозможны в иных случаях. Откройте для себя новые решения и познакомьтесь с новыми идеями. Не тратьте зря время на решение проблем, которые уже были решены до вас (во многом благодаря использованию программ с открытым исходным кодом). Это позволит вам более эффективно использовать коллективное время и усилия.
Как уже упоминалось ранее в этой главе, частично успех сообщества определяется тем, что к плохим исполнителям, которые руководствуются соображениями личной заинтересованности за счет всей группы, могут быть применены санкции. Если поведение, недопустимое в условиях совместной работы, осуждается сообществом, а также проявляется «благородство духа» со стороны других организаций, тогда люди будут продолжать делиться знаниями и опытом с сообществом. Если же подобный обмен будет утерян, это нанесет удар по всей отрасли в целом.
«Мне нравится, что существует возможность сократить время разработки с помощью примеров использования, например функции обзора. Это позволяет улучшить впечатление конечного пользователя от нашего сервиса. На основе анализа нашего текущего графика я пришел к выводам о том, что мы можем потратить немного времени на оценку и разработку прототипа, если это целесообразно», – сказал Хедвиг после завершения демонстрации.
«Я обладаю минимальным опытом работы с MongoDB. Мне нужно согласовать все это с остальной частью команды, выяснить, каким опытом они обладают и насколько сложно будет принять новый проект, – предупредил Джордж. – Как инженер эксплуатации из Sparkle Corp, обладающий небольшим опытом работы, я не хочу поручать сомнительную работу эксплуатационной команде».
«Давайте оставим эту оценку открытой и будем поддерживать общение. Джордж, пожалуйста, подключи к этому проекту Джорди, Джози и Элис. Я буду координировать свои действия с руководством эксплуатационной команды, чтобы гарантировать участие обеих команд в процессе принятия решений, как только у нас будет больше информации», – сказала Дженераль.
Формирование и поддержание открытых, доверительных и коммуникативных отношений важны как для отдельных сотрудников, так и для групп, работающих вместе. Членство в определенной группе имеет большое влияние на нашу личность. В свою очередь, личность влияет на то, как мы взаимодействуем и работаем с людьми, основываясь на представлениях о членах нашей группы.
Ключ к созданию организации либо целой отрасли, способной к сотрудничеству, заключается в поиске способов разрушения барьеров между группами, а также расширения определения членства в группах. В результате обеспечиваются условия для роста и более свободного перемещения рабочих заданий, информации и идей между отдельными сотрудниками, командами и даже компаниями. Обмен историями и идеями между разными командами в организации и даже между организациями повышает степень доверия, приводит к большему числу инноваций, а также помогает поддерживать общее взаимное понимание критически важных факторов для devops-среды.
Глава 10. Заблуждения и устранение проблем
В области близости возникают, как правило, те же заблуждения и проблемы, что и в области индивидуального сотрудничества и общения, только на более высоком организационном уровне.
Люди часто имеют разные представления об обязанностях и вкладах разных команд, созданных внутри организации, а также о степени влияния близости и общего доступа к информации в devops-среде.
Разработчики более ценны, чем специалисты по эксплуатации
Убеждения относительно разной ценности команд, сформированных в одной компании, весьма устойчивы. Причем независимо от профиля этих команд. Отчасти эти убеждения связаны с разным восприятием материальной и нематериальной работы. Результат труда разработчиков в виде готовых программ, представленных клиенту, намного более материален, чем ежедневная кропотливая работа или те же макеты, продемонстрированные командой дизайнеров. Обычно рутинная работа по эксплуатации становится заметной лишь в том случае, когда она плохо сделана либо вообще не сделана. Только представьте себе последствия простоя сайта или общения с невежливым инженером из службы поддержки! И поскольку людям свойственно помнить плохое, то и отношение к эксплуатационным командам часто основывается на негативных воспоминаниях.
Сила организационной близости и связей между командами состоит в том, что команды не создают друг другу проблем, а, наоборот, оказывают взаимную помощь и поддержку. Эксплуатационные команды (или технические команды) могут мешать разработчикам в развертывании кода, а могут и помогать в создании тестовых сред. Если разработчики активно помогают заказчикам в развертывании и тестировании программ, то в результате позитивного вклада эксплуатационного отдела заказчики смогут получить намного больше. В этом случае разработчики смогут уделить больше внимания индивидуальной настройке программ и устранению неисправностей, не дожидаясь медленного и чреватого проблемами процесса развертывания или не пытаясь тестировать результаты внесенных изменений вне выделенной среды тестирования или разработки.
Благодаря участию в собраниях специально сформированных эксплуатационных команд либо групп, которые состоят из обычных сотрудников или менеджеров, облегчается анализ деятельности разных подразделений организации. Это первый шаг на пути к устранению заблуждений относительно бездеятельности или бесполезности отдельных команд. Конечно, вполне возможно, что какие-то команды делают намного меньше, чем могут, но это скорее вопрос организационного плана, а не оценки ценности отдельных команд или участников.
По мере роста и изменения организаций изменяется смысл и назначение разных команд или продуктов, производимых этими командами. Следите за тем, как согласуются разные команды и выполняемая ими работа в контексте организации в целом. Но при этом не упускайте из виду смысл этой работы.
Утечка информации за пределы организации ослабляет конкурентные преимущества
Современные рабочие места носят высококонкурентный характер, поэтому вполне естественно, что никто не хочет совершать действия, которые нивелировали бы конкурентные преимущества. Руководствуясь подобными соображениями, многие компании запрещают своим сотрудникам выступать на профильных конференциях либо участвовать в проектах создания программ с открытым исходным кодом. Они опасаются, что, поскольку программы с открытым исходным кодом распространяются бесплатно, будет упущена возможность заработать на продажах, ну а выступления на конференциях будут способствовать передаче ценной информации конкурентам. К тому же подобные выступления происходят за счет времени, которое могло бы быть потрачено на «реальную работу».
Однако в конечном счете инструменты и методики, о которых обычно докладывают на презентациях и конференциях или которые применяются в проектах по разработке ПО с открытым кодом, поддерживаемых devops-сообществом, являются неприбыльными. Например, фирма Target является ритейлером, получающим прибыль в результате продажи потребителям реальных продуктов. Выступление на конференции с докладом о разработке программного обеспечения, на основе которого развертывается дружественный потребителям веб-сайт, никоим образом не вредит продаже программных продуктов. Сотрудники этой фирмы выступают с докладами на конференциях devopsdays и других отраслевых конференциях. Они рассказывают о методах создания и поддержки конкурентоспособной среды, но в этом нет ничего страшного, поскольку среди слушателей нет представителей конкурентов.