Мы в Rubrain.com уже больше 15 лет занимаемся управлением удаленными командами. Ещё со времен FL.ru (тогда free-lance.ru). Мы успели поработать с сотнями удаленных команд, и сейчас контролируем свыше 6 тысяч удаленных сотрудников, продавая их услуги топовым российским компаниям и зарубежным стартапам.
Естественно, нам важно, чтобы сотрудник прижился, и команда могла работать с ним долго и эффективно. Но чтобы так получилось, должно быть понимание того, как интегрировать его в свою структуру. Результат деятельности компании в итоге зависит даже не столько от талантов разработчиков, сколько от заложенных систем мотивации и согласования их работы. Поиск сотрудников мы берем на себя, но настройка рабочего процесса — зачастую куда более важная часть.
Чтобы удаленные сотрудники смогли именно усилить, а не ослабить команду, нужно организовывать их труд в соответствии с особенностями вашей компании и конкретного проекта. Это совсем не обязательно означает стандартный аутсорс.
Структуры удаленных команд
Организация удаленной команды может быть очень разной. Мы сталкивались с такими вариантами, как:
- Команды-спутники. Есть главный офис, плюс несколько разных команд, которые сидят каждая в своем городе. При этом они зачастую работают над одним проектом, так что им требуется постоянная и качественная коммуникация. Внутри офисов люди работают как обычно, но между ними требования к связи остаются высокими.
- Удаленные сотрудники в команде. Большинство людей сидит в офисе, но несколько человек работают из дома. У такой команды собственные проблемы: трудно быть «отщепенцами», к которым столько же требований, а в общих офлайн-совещаниях они не участвуют. Всё может решаться без участия и ведома удаленных сотрудников, и даже качественные специалисты в итоге нередко «сдуваются», теряют прежний запал.
- «Remote first» компании. Особенно часто стали встречаться сейчас, в связи с коронавирусом. Команды у них полностью распределенные, но обычно хотя бы несколько человек всё еще работают в офисе. Они стараются построить общение так, чтобы удаленные сотрудники знали обо всём происходящем. Но основные решения зачастую принимаются в офисе. Качество у этих гибридов может быть самое разное.
- Полностью удаленные команды. Обычно имеют нормальные общие чаты, ежедневную коммуникацию. Но тоже сталкиваются со всем известными проблемами: недостаток общения на свободные темы, выгорание, недостаточная заинтересованность в результатах команды, в целом работа только ради финансовой составляющей. Их нужно прорабатывать, ведь если команда регулярно меняется, очень скоро может начаться неразбериха.
Почему так важно видеть разницу? Просто это совершенно по-разному устроенные команды с разными потребностями.
Способы усиления команды удаленными разработчиками
Если нужны дополнительные разработчики для повышения скорости/качества работы команды, есть 3 варианта их получить. Наилучший зависит от структуры команды и ваших задач по проекту.
Во-первых, есть аутсорсинг. Традиционный вариант, когда не хватает своих рук. Можно временно получить руки новых сотрудников, работающих на чужую компанию. Вариант довольно быстрый, плюс легко масштабируемый: если одна аутсорсинговая компания не справляется, можно нанять ещё две или три. К тому же, качество на аутсорсинге обычно не страдает, у достойных компаний есть менеджеры, которые это всё контролируют, и на выходе дают вполне терпимый продукт.
В то же время, полного контроля работы над проектом вы не получаете. Вы видите только то, что получается в итоге, и не можете «залезть» в системы, чтобы попытаться повысить эффективность. Вы также получаете тех сотрудников, которые дает вам компания. В этом одно из преимуществ аутсорсинга, вы об этом совершенно не волнуетесь, но в то же время теряется возможность выбрать именно наилучших, наиболее подходящих вам специалистов. Вы не выбираете в команду ровно тех сотрудников, которые вам интересны, они не проходят тщательный отбор. Вы получаете случайных сотрудников, работающих на компанию-провайдера. Кота в мешке.
Отсюда — и ещё одна особенность. Сотрудники на аутсорсе могут работать одновременно над другими проектами. Или знают, что будут работать над ними в ближайшем будущем. У них нет никакой личной заинтересованности конкретно в вашем успехе. Главное — чтобы вы продолжали нанимать их компанию.
По нашему опыту, аутсорсинг больше подходит для команд-спутников, организаций с небольшим количеством удаленных сотрудников и компаний, которые полностью работают в офисе. Они просто получают готовый результат, не особенно утруждая себя вопросами того, как именно он получился. Не приходится утруждать себя лишней заботой, тратить деньги и настраивать незнакомые для себя системы. Аутсорсинг — идеальный вариант, когда вам нужна команда программистов на проектную работу. Которая поможет вам запустить/развить проект — и уйдёт.
Второй вариант — обычный найм сотрудников. Так можно получить, например, удаленных специалистов узкого профиля, которых сложно найти в вашем городе. При этом у них будет заинтересованность и мотивация, поскольку они будут работать конкретно на вашу фирму. И чувствовать личную ответственность за успех проекта. Вариант подходит для полностью удаленных команд, с налаженными процессами дистанционного онбординга. Собственно, только за счет найма они и существуют, в этом вся суть их работы.
Из минусов — приходится тратить очень много времени. Даже если вы знаете, где искать программистов, нужного специалиста иногда приходится ждать месяцами. Они все давно схвачены, в том числе аутсорсерами. Нужно иметь своего хорошего IT-рекрутера, который круглосуточно занимался бы поиском IT-специалистов. А также тратить ценное время программистов на проверку потенциальных кандидатов. В любом случае, расходуются дополнительные ресурсы. А результат не гарантирован. Даже если сотрудник достойный, не может быть уверенности, что он приживётся с вами, а вы с ним. И потом процесс найма приходится начинать заново, с нуля.
Есть также третье, довольно новое явление для России — аутстаффинг. Он представляет собой что-то среднее между первыми двумя формами организации труда. Специалисты работают конкретно на вашу компанию, но оформлены через агентство. Плюс в том, что они не полностью независимые подрядчики-программисты. Они несут личную ответственность, вы можете их «уволить», вы можете их подбирать. Они работают только над вашим проектом, под вашими менеджерами. Но нанимаете вы их через биржу ИТ-аутстаффинга. Которая предлагает вам несколько десятков вариантов сразу на позицию, и бесплатно меняет сотрудника, если его работа вам по каким-то причинам не понравилась.
Таким образом вы избавляетесь от некоторых минусов найма, и получаете более полный контроль, не так, как на аутсорсинге. По сути, вы берете программистов в аренду, и сами занимаетесь его управлением. Вы видите, как он работает, в чём его сильные стороны, знаете, куда тратит каждый из своих рабочих часов этот сотрудник, и есть ли в этом выгода для вас. Outstaffing в Россию пришел довольно недавно, но по такой системе уже давно работают американские стартапы и японские компании. Отлично подходит для компаний «remote first», а также для команд с удаленными сотрудниками. Они могут получить ключевых специалистов, не переплачивая и не волнуясь, что они куда-то уйдут.
Подробнее о таком новом явлении можно почитать тут: «Что такое аутстаффинг, и почему он нужен вашей компании».
Как организовать удаленную работу для своей команды
Главное на удалёнке — качественное общение. Все не перестают это напоминать, но от этого оно не перестаёт быть правдой. Грамотно построенная коммуникация, процесс ревью, KPI — залог активной и эффективной команды. Даже Марк Цукерберг в интервью говорил, что волнуется, что отсутствие хорошего общения может убить креативность его команды на удалёнке. Это он видит как единственный минус перевода Facebook на работу из дома из-за коронавируса.
Похожие идеи до этого высказывал руководитель Google Сундар Пичаи: по его словам, самое важное в Кремниевой долине — именно свободное общение между коллегами. Когда СЕО может столкнуться в лифте с креативным инженером, который быстро расскажет ему своё видение, и поможет изменить продукт к лучшему. Но такое возможно только тогда, когда такие «случайные столкновения» существуют. А не когда все сидят в разных чатах, и собираются только на получасовой видеозвонок раз в неделю.
В «Телеграмме», Hangout, Slack или даже Zoom неизбежно теряется масса маленьких человеческих нюансов. Которые могут быть очень важны, особенно для креативных людей в стартапе или творческом проекте. Вы наверняка с этим сталкивались: вы в порыве духа рассказываете, что должна сделать команда, излучаете бесконечный энтузиазм, делитесь идеей. А в ответ получаете: «Извини, был перебой с интернетом. Что ты там говорил?»
Когда команда усилена внешними специалистами, это ещё сложнее. Особенно на аутсорсе. Ваш менеджер передает информацию их менеджерам, которые спускают её до своих сотрудников. Может непреднамеренно получиться эффект испорченного телефона. Или приходится тратить время на перепроверку и пере-перепроверку.
Поэтому эффективнее получается работать на аутстаффинге, где дополнительные удаленные работники трудятся непосредственно под вашим контролем. Нет никаких лишних звеньев, ваши менеджеры управляют ими напрямую. Недопониманий и осечек становится гораздо меньше, плюс не нужно налаживать новые каналы коммуникации (человек вливается в уже существующие, как любой другой сотрудник вашей компании).
Эффективнее работать с удаленными сотрудниками в больших компаниях можно за счет организации многочисленных, но не очень крупных команд. По 6-10 человек. Которые могут работать независимо, как самостоятельные боевые единицы. Такие команды хорошо держат связь и работают более сплоченно, а каждый сотрудник ярче чувствует свою ответственность за общий результат. Обычно для крупной компании не важно, в каком именно формате работают коллективы, по 10 человек или по 100 человек. А вот внутри коллективов это ощущается очень значительно, достаточно почитать один день переписки.
Чтобы понять некоторые факты об организации удаленной команды, достаточно ответить для себя на несколько вопросов. Например, как сделать так, чтобы было возможно:
- траблшутить по ночам в одиночку;
- быстро проводить пул-реквесты;
- помогать новым разработчикам быстрее развиваться;
- делиться советами по разработке ПО и написанию кода, чтобы никого не обидеть;
- высказывать нестандартные идеи, и не бояться последствий;
- вести поиск команды разработчиков с участием текущих её членов, чтобы новый кандидат лучше всего влился в проект;
- повышать уверенность в перспективах проекта;
- развивать чувство личной ответственности за выполнение отдельных задач.
Мы в Rubrain.com, используя опыт GitLab и GitHub, советуем своим клиентам решать эти проблемы так:
- Четко обозначьте общее видение и ценности компании/проекта. Каждый сотрудник должен знать, для чего он работает (мир во всём мире, донести remote working до каждого, улучшить защиту от вирусов для компаний, сделать общение проще). Вплоть до того, чтобы создать страничку «О компании» на сайте. Там должна быть конкретика, но которая мотивирует.
- Внедрите стандартную догму для всех стартапов, помогающую сотрудникам чувствовать ответственность за реализацию своего продукта. Стратегия спускается сверху вниз, а исполнение идёт снизу вверх.
- Обозначьте, когда нужно мнение одного человека, а в каких случаях решение принимает консенсус (скажем, проблемы с безопасностью или необходимость изменения в стеке).
- Создайте продуманную, детальную документацию для новых сотрудников и новых менеджеров. Нужно иметь хотя бы гугл-докс, где всё записано, и с которым они, в случае чего, могут свериться. Такой документ можно создать вполне органически, безо всяких хлопот: все рекомендации не только отсылаются конкретному сотруднику, но и сохраняются в файл.
- Желательно, чтобы такую документацию могли улучшать сами сотрудники: дайте им возможность оставлять комментарии, даже вести обсуждения в ветках комментариев внутри документа. Так новые специалисты ещё и будут мимоходом знакомиться с динамикой вашей команды. Видеть, к кому можно обратиться с вопросами, и по какому поводу.
- В случае с инфраструктурой или процессами — решения стоит внедрять только после того, когда возникнут проблемы. Не нужно ставить телегу впереди лошади.
- Определите время для проверки пул-реквестов — скажем, ежедневно в 10 или 12 часов утра. И чтобы каждый сотрудник знал, когда это будет проводиться.
- Применяйте линтеры для каждого языка, в том числе HTML и CSS. В том числе, чтобы не изводить друг друга по поводу того, кто как привык работать, и не обсуждать стили кода, обязательно включайте автоформатирование. Также стоит включить подсчет сложности в линтах, чтобы люди учились писать код с оглядкой на других. Поначалу может быть непривычно, потом команде от этого только плюс.
Конечно, многие из этих вопросов касаются не только удаленных команд. И решения для них можно использовать такие же, как и в офисе. Только офисным командам не требуются настолько строгие правила. И им проще среагировать и поправить ситуацию по ходу дела — благодаря частым встречам, регулярному неформальному общению с менеджерами и регулярным проверкам качества работы членов команды.
При дистанционной работе эффективность систем и процессов становится гораздо важнее. «Выехать» за счет таланта сотрудников здесь не получится. Минусы управления проявляются гораздо серьезнее, и сразу бросаются в глаза. Удаленная команда позволяет сэкономить много средств, но при работе с ней, особенно вначале, требуется значительно больше аккуратности и внимательности.
Об управлении командой детальнее — вот здесь: «5 секретов управления удаленной командой».
О том, как мы организовали работу на аутстаффинге: «Аутстаффинг в Rubrain.com: как это работает».
О поддержке позитивного общения в команде удаленных разработчиков: «10 игр для удаленной команды».