Atlassian, Spotify, Block, Discord, Figma, Stripe, — их называют в числе крупнейших международных IT-компаний, приверженных работе в формате распределенных команд разработчиков. С другой стороны, недавно Илон Маск, а также Сэм Альтман заявляли, комментируя последствия COVID-19, что идея полной «удаленки» для коллективов инженеров пришла и ушла, доказав свою неэффективность. В том, как сделать распределенные команды разработчики эффективными, избежав типичных ошибок, а также используя правильные инструменты и best practices, нам помогал разбираться Артур Булатов.

Он является крупным IT-лидером с опытом тимлида распределенных команд в сложных цифровых проектах. Среди проектов Булатова система автоматизации документооборота для юристов, проект «Цифровой киоск» одного из музыкальных маркетплейсов. Также за плечами Артура Булатова запуск рекомендательных систем в e-commerce.

Проект «Цифрового киоска» удалось принес 21%-тный рост B2B клиентов торговой площадки, хотя Артуру, по его словам, приходилось взаимодействовать с коллегами в постоянно меняющихся условиях.

Распределенные IT-команды: какие инструменты выбрать?

Инструменты взаимодействия руководства с командой и команды между собой выходят на первый план, если IT-специалисты работают удаленно. Психологи говорят о недостаточности текстового обмена для достижения взаимопонимания, а те или иные специалисты, которым нужно сотрудничать для достижения цели могут находиться по отношению друг к другу в разных часовых поясах.

Правильный выбор и настройка платформы, на которой взаимодействует команда, способны компенсировать недостатки удаленки. С помощью CRM-систем, чатов, вроде Slack, можно эффективно взаимодействовать с коллегой, даже если нет возможности физически к нему подойти и пообщаться.

Многое можно автоматизировать. Выполнение некоторых операций реализовать по принципам Paka Yoke, «защита от дурака», сделав возможность выполнить это действие только одним единственным, правильным способом. В итоге слабый, эпизодически контакт с удаленным сотрудником можно использовать для того, что действительно важно.

Через профессиональные платформы можно эффективно и четко транслировать ожидания, получать обратную связь, контролировать. При этом важно избежать внедрения ради организации распределенных команд новых инструментов, если с этим можно справиться привычными, уже работающими инструментами. Это может не решить проблем, но добавить в процессы избыточность.

Перечислим инструменты, которые признаются многими среди лучших для распределенных IT-команд.

  1. GitHub, GitLab: системы хостинга, версионирования кода и DevOps, которыми так или иначе пользуются большинство команд разработчиков по всему миру. Не все в курсе, что к этим системам, которые прежде всего рассматриваются как платформы совместного написания кода, есть пакеты, позволяющие реализовать минимальный функционал CRM-систем (Customer Relationship Management), позволяющих взаимодействовать с заказчиками и другими заинтересованными сторонами. Подумайте, может быть, вам не стоит внедрять десяток платформ, а просто расширить применение одной, привычной?
  2. Microsoft Office 365 for Business: в последних версиях этого облачного решения — не только привычные офисные программы, вроде Excel, но и инструменты для видео-конференций, демонстрации экрана. Многие CTO (технические директоры), в эту сторону даже не смотрят, но обычному пользователю здесь доступен 1 терабайт хранилища без дополнительных платежей, что больше, чем может предложить программное обеспечение, созданное специально для удаленных команд разработчиков.
  3. Slack: корпоративный мессенджер, созданный в 2014 специально для IT-команд, но ставший популярным как корпоративное средство коммуникации и в организациях другого типа. Этот чат часто становится основой взаимодействия команд программистов, дизайнеров, руководителей, которые взаимодействуют на расстоянии. Он очень продуман в мелочах. Обмениваться файлами и данными можно используя только Drag-and-drop функции, не прибегая больше ни к чему. Очень много плагинов, позволяющих планировать, тестировать код, управлять версиями. В ходе реализации проекта всегда крайне важно поднять нужные данные, и Slack c этим справляется отлично. Он настолько хорош, что ищет даже в PDF-файлах, которые, как известно, являются картинкой. Немаловажным плюсом ПО является то, что можно организовывать беседы в каналы, а потом легко в них разбираться, без труда отсортировав чаты по конкретной группе специалистов, которая его ведет, по проекту и по большому количеству других критериев.
  4. Jira: коммерческая система отслеживания ошибок. Разработка компании Atlassian. Есть настройки интерфейса, позволяющие организовать удаленную работу по Agile, Scrum, Kanban. Можно выбрать. Затем, более 800 плагинов и расширений для дополнительных функций. Вы можете реализовать task-трекеры, календари, сессии взаимодействия с заказчиком, как это установлено методологией Agile. Jira, как, в принципе, и другое программное обеспечение из моего списка, может ставиться на любые операционные системы, от Android и IOS, до Linux.
  5. Bitrix24: CRM-система, включающая более 35 инструментов управления удаленными сотрудниками организации совместной работы дистанционных команд. Система не предусмотрена специально для разработчиков, но может так использоваться. В частности, есть все необходимое для Agile-команд, Waterfall-команд. Есть бесплатное облачное хранилище на 5 гигабайт данных. Эффективно работает с различными типами файлов, в частности можно легко обмениваться Google Docs, GitHub-ссылками. Можно делать конференц-звонки, создавать планы и отслеживать их выполнение по времени и степени реализации. С точки зрения IT, прежде всего, стоит выделить возможность установить Bitrix на своем сервере или в своем корпоративном облаке. Это повышает контроль над своими данными, что недостижимо в случае SaaS-продуктов, то есть продуктов, при использовании которых вы получаете доступ к облаку поставщика программного обеспечения и складываете свои данные на его ресурсах.
  6. ProofHub: мощная система управления проектами, подходит для IT-команд. С его помощью вы можете формулировать и давать задачи, вести групповые и личные чаты, хранить логи переписок и данных. Весомое преимущество ProofHub — удобный интерфейс для формирование иерархии группы, участвующей в проекте: руководители, сотрудники, разработчики. Между карточками задач можно устанавливать визуализированные связи. Они хорошо показывают, например, как заминка в реализации одной задачи может тормозить весь проект. Продукт хорошо взаимодействует с другими сервисами, которые часто используют разработчики: OneDrive, Google Drive, DropBox, Box. Учитывая, что многие распределенные команды разработчиков связывают программистов, дизайнеров и других специалистов со всего мира, важно, что интерфейс доступен на 13 языках. Причем хорошо продуман с точки зрения снятия языковых и культурных барьеров, что является одной из актуальных проблем удаленной работы.
  7. Glip: корпоративный чат с возможностью применения в качестве CRM-системы. В Glip очень полезный функционал: task-менеджмент, обмен файлами, работа над проектами в реальном времени, календарь. Glip очень легко использовать. По количеству функций он, возможно, уступает Bitrix24, но его функциональность настолько проста, что можно установить и работать сразу, не тратя часов на изучение интерфейса. Glip по сути заменяет корпоративный почтовый ящик, но может быть интегрирован с любой почтой без вреда для полезных функций двух платформ. Glip может быть установлен на Android и IOS. Хорошо интегрирован с такими популярными сервисами, как Dropbox, Google Drive, Hangouts и Asana.
  8. BaseCamp: позиционируется как инструмент управления проектами. Это тоже популярное ПО для удаленных команд разработки. Используется в основном в проджект-менеджменте и task-менеджменте. У BaseCamp продвинутый контроль доступа. Можно легко проводить мониторинг того, что делают администраторы, члены команды, клиенты и гости в системе. Есть встроенные средства планирования проектов, составления to-do листов.
  9. HipChat: также корпоративный чат и очень популярный выбор удаленных команд. Первоначально развивался как чат, однако был обогащен функциями, которые приближают его к CRM. В частности, конференц-звонков и досок с задачами. Интегрируется с другими популярными корпоративными платформами JIRA, Bitbucket, Heroku, Zendesk. 256 бит SSL для безопасного общения команды. Доступен на всех операционных системах.
  10. Asana: task-трекер с элементами CRM. Хороший вариант. Работает по модели SaaS, то есть вы платите за подписку и пользуетесь всеми функциями, которые разработчик предоставляет из своего облака. У каждой команды своя рабочая среда (доска задач). Досок может быть несколько, по числу команд. Проектами и задачами можно управлять онлайн, вообще без использования почты.

ТОП-5 ошибок в управлении распределенными командами разработчиков

  1. Не устанавливать рабочие часы, не обозначать границы общения. Командами разработчиков в COVID-19 по прежнему руководители технические директора. Для России эта проблема более актуальна, но в других странах этот фактор тоже присутствует. В силу специфики работы программистов, тестировщиков, веб-дизайнеров, руководство ими требует человека, хорошо знакомого с проектом и с технической инфраструктурой компании. Как дать поручение о необходимых настройках на сервере системному администратору? Как перейти на новую версию базы данных, если вы лично не в курсе того, где у вас могут вылезти несовместимости? Увы, инженер, доросший до позиции техдиректора — не всегда хороший руководитель. Не пишите своим разработчикам на выходных и вечером, установите четкий регламент взаимодействия, иначе выгорание, которое и так является частым спутником разработки, погубит ваш проект«.
  2. Не привлекать большое число сотрудников к созвонам и видео-конференция. Физическое отсутствие рядом с другими членами команды увеличивает для отдельных инженеров риск стать «не в гэмба», как говорят специалисты по качеству, то есть утратить синергию, которая возникает в офисе от взаимодействия огромного количества талантов, характеров и индивидуальностей. Удаленным общением можно отчасти компенсировать эту проблему и повысить тем самым продуктивность команды в реализации проекта. К сожалению, во многих распределенных группах специалистов часто приходят к тому, что стараются не отвлекать линейных сотрудников от производственных задач общениями. Это неверно. Постарайтесь хотя бы предлагать общение, но делать конференции добровольными, по желанию. Как минимум, можно автоматически генерировать и высылать всем участникам работы ключевые результаты обсуждений — «хайлайты». В Slack есть такая функция.
  3. Перегибы в контроле. Многим руководителям психологически трудно доверять удаленным работникам. даже если это IT. Возникает повышенный контроль, который убивает мотивацию. Не пытайтесь следить за процессом. Оценивайте результат. Если результата нет, предусмотрите созвон 1 на 1 и поговорите со специалистом для выяснения причин, как вы это делали бы в офисе.
  4. Безопасность. С одной стороны, благодаря удаленной работе вы получаете доступ к пулу талантов и специалистов, который никогда не был бы вам доступен в физической близости от офиса, с другой, кратно возрастают риски вашей IT-инфраструктуре. Необходимо создать процедуры, «вшитые» в методы работы дистанционных сотрудников. Например, отслеживать уязвимости у вас может AI, который реагирует быстрее, чем злоумышленник использует имеющиеся проблемы. Следите за правами доступа, например, доступам к папкам на Linux. Главное, чтобы меры безопасности были единственным способом, которым вы осуществляете работу. Если они не реализуются, то и опасность не устранена.
  5. Языковые, культурные различия, часовые пояса. Главная проблема здесь — непризнание многими техническими менеджерами этой проблемы. Сейчас появляется немало CTO (chief technical officer) нового формата, которые успешно общаются с неразработчиками, сотрудниками из других регионов и отделов, умеют выстроить работу так, чтобы она не требовала немедленного ответа от сотрудника, ведь между ним и офисам может быть +12 часов разницы. Надеюсь, руководителей новой формации скоро станет больше. Как вариант, назначать руководить разработчиками маркетологов, которые, скажем так, более социальны!

Лучшие практики в организации работы распределенных команд?

В разговоре с нашим корреспондентом опытный IT-управленец Артур Булатов перечислил ряд best practices, которые позволяют командам специалистов по разработке программного обеспечения сохранять эффективность.

  1. Делайте для удаленных сотрудников рабочий трек. У вас должны быть стандартизированные процедуры, которые «встроены» в работу и в платформы, на которых вы взаимодействуете. Они должны вести сотрудника, транслировать ожидания, обеспечивать возможность обратной связи по работе, заполнять вакуум личного общения (поэтому элементы соцсети в Bitrix24 вовсе не такие уж игрушки). Платформы и методы работы должны вести сотрудника от онбординга до ежедневной работы в штатном режиме.
  2. Подстраивайтесь под временные, культурные, языковые и иные различия. Необходимо принять некоторые вещи, например, невозможность оперативной реакции специалиста. Это критично во многих случаях, например, при неудачном комите в проект, приведшем к проблеме. Однако, давайте признаемся, что на уровне DevOps, то есть, помимо всего прочего, процедуры взаимодействия «боевой» и локальной среды разработки многое можно автоматизировать так, чтобы чрезвычайщины никогда не возникало.
  3. Используйте то программное обеспечение, которое создает инфраструктуру для работы по распространенным в IT методологиям разработки. Многие CRM поддерживают специализированные интерфейсы для работы по Agile. Плюс, даже в пределах Agile многие вещи можно сделать автоматическими, то же тестирование, получение и обработку обратную связь от заинтересованных лиц. Не сужайте поиск подходящих платформ до CRM, есть BPM-системы (business process management), RPA-системы (роботизированная автоматизация процессов). AI-платформы, установленные в ваше рабочее окружение могут сильно сократить рутину Agile или работы по другим методам и снизить нагрузку на удаленное общение с разработчиками.

Распределенные команды разработчиков. Эффективно?

Несмотря на скепсис многих руководителей. У работы в полностью удаленном формате немало преимуществ. Есть статистика, доказывающая, что дистанционные сотрудники могут похвастаться не меньшей, а большей концентрацией внимания. Это следует из недавнего исследования Harvard Business Review: удаленные специалисты закрыли на 13,5% больше задач, чем офисные за тот же период времени.

Офисная дисциплина играет свою роль, но одновременно это хронофаг. Достаточно вспомнить, сколько времени тратится на общение, кофе-брейки и многое другое. Наконец, удаленные разработчики программного обеспечения более довольны своей жизнью, так как могут строить иначе свой график, больше отдыхать, проводить время с семьей.

Картину дополняет Forbes. Издание в 2019 провело свой опрос на эту же тему и отчиталось в следующем. 70% работников не считают, что выходить в офис необходимо. 23% говорили, что их организация перешла на полностью удаленный формат работы и возвращать специалистов в офис не планирует.