Как устроена распределённая разработка игры — опыт Wargaming

Координация работы пяти офисов.

При распределённой разработке несколько студий в разных странах решают одну и ту же задачу. Такой подход имеет как свои плюсы, так и свои минусы. О них мы и попросили рассказать Вадима Гильварга, програм-менеджера World of Tanks Blitz мобильной студии разработки MS-1 Wargaming.

Как устроена распределённая разработка игры — опыт Wargaming

Для начала расскажите немного о структуре компании: сколько у вас офисов, в каких городах они находятся, сколько в них сотрудников?

Всего в студии MS-1 работает более 360 человек. Команда распределена между пятью офисами: в Минске, Москве, Шанхае, Берлине, и совсем недавно мы открыли новый офис в Вильнюсе.

Наиболее «густонаселённым» на сегодняшний день остается офис в Минске, здесь работают порядка 200 человек. В Москве — более 60, Шанхае — 24, берлинский офис самый немногочисленный, здесь работают 12 человек. Что касается команды в Вильнюсе, то она начала комплектоваться недавно. Сегодня это около 20 сотрудников, однако, благодаря большому количеству вакансий эта команда растет быстрыми темпами, поэтому к концу года мы ожидаем увидеть здесь порядка 80 человек.

Вадим Гильварг
Вадим Гильварг

Где принимаются решения в первую очередь?

Наша структура не подразумевает принятия решений сверху вниз. Поскольку у нас распределённая команда, мы пользуемся подходом, в котором невозможно выделить главный офис, где бы вершилась судьба проекта, и неглавный, где бы люди просто выполняли пришедшие из головного офиса задачи. Всё, что мы делаем, — это плод работы всей команды.

Каждый из офисов занимается чем-то одним или все они — это полноценные подразделения, способные выполнять любые задачи?

Я бы сказал, что справедливо и то, и другое. Команды в Минске и Москве в основном занимаются развитием World of Tanks Blitz, шанхайская команда и офис в Берлине работают над мобильными кораблями — World of Warships Blitz. Вильнюсский офис — это подразделение, где идёт работа сразу над тремя продуктами. Здесь расположена часть команды World of Tanks Blitz, а также команды двух новых проектов, которые создаются на движке Unreal Engine.

Бывают ли ситуации, когда офис, специализирующийся на «Кораблях», может закрывать «танковые» задачи?

Бывало и такое. Ребята из команды World of Tanks Blitz помогали нашим новым продуктам в плане арта, левелдизайна, звуков и так далее. Сейчас мы стремимся к тому, чтобы команды между продуктами могли помогать друг другу с разработкой контента. Например, сделать новый танк или корабль, чтобы при необходимости мы могли больше сил бросить на успех того или иного продукта.

А в целом мы, конечно, стараемся укомплектовывать команды таким образом, чтобы для работы над их проектами не приходилось отвлекать сотрудников из других проектных команд. Но если такая необходимость вдруг возникает, то мы, условно говоря, одна большая семья и готовы друг другу помочь.

Как устроена распределённая разработка игры — опыт Wargaming

С какого времени вы практикуете распределённую разработку?

Мы перешли на распределённую разработку не сразу. Изначально это был один продукт — World of Tanks Blitz, который создавался в Минске, где и находилась вся команда. Наша игра пользовалась популярностью у игроков, а мы, в свою очередь, старались предлагать аудитории всё больше новых классных фич и контента.

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

  • классных специалистов в области геймдева на рынке немного, а опытных представителей некоторых специальностей откровенно мало;
  • за долгие годы присутствия на рынке компании Wargaming солидная часть этих специалистов либо уже присоединилась к компании, либо успела посотрудничать с нами ранее;
  • многие специалисты из соседних стран хотели бы присоединиться к нам, но не готовы переехать в Беларусь. К примеру, привлечь опытного специалиста в возрасте 30–35 лет, мотивировать его на переезд — это довольно непростая задача. Ведь у него или у неё зачастую есть дети и вторая половина, которой необходимо будет найти работу на новом месте, устроить детей в сад, школу.

В связи с этим, для того чтобы упростить найм сотрудников, «покрыть» новые горизонты и привлечь классных специалистов из других регионов, у нас начали появляться новые офисы. Поэтому присутствие в разных локациях — это всегда большой плюс для найма людей на месте.

Как устроена распределённая разработка игры — опыт Wargaming

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

Так что я не могу сказать, что у нас появились какие-то челленджи, связанные с появлением московского офиса.

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

Вы недавно открыли офис в Вильнюсе. Какие задачи на него возложены?

Основная задача всё та же — это расширение географии компании и, как следствие, новые возможности для найма сотрудников. Мы можем приглашать на работу кандидатов из стран Балтии и других стран Евросоюза, которые по каким-либо причинам не могли или не хотели приезжать в Беларусь, но были готовы присоединиться к нашей команде, не покидая пределов ЕС.

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

Как устроена распределённая разработка игры — опыт Wargaming

Можете кратко описать, как проходит один день распределённой разработки?

На самом деле этот день может значительно отличаться для представителей разных специальностей и разных продуктов. Но если говорить, например, о World of Tanks Blitz, то можно выделить такие общие моменты для всех сотрудников продукта.

Большинство команд (как те, что работают по Scrum, так и те, в которых его применение не имеет смысла) начинают свой день с Daily Stand-Up. Это 15-минутный созвон, во время которого каждый сотрудник отвечает на 3 вопроса: что я делал вчера, с какими проблемами столкнулся и что буду делать сегодня. После этого все приступают к тому, что озвучили в ответах на третий вопрос.

Во время работы над задачами идёт как прямая переписка в Slack, так и общение в различных каналах. Для решения рабочих вопросов организовываются онлайн-митинги. Кроме того, команды общаются в голосовых чатах, чтобы эмулировать присутствие в одной комнате — условия, в которых можно просто поднять голову и рассказать про интересную игру, в которую ты поиграл на выходных, или спросить, кто из команды сталкивался с такой-то проблемой, чтобы можно было лично созвониться и проконсультироваться.

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

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

Также мы проводим ретроспективы. На них менеджеры разбирают проблемы, с которыми столкнулись команды в ходе разработки версии. Формируют так называемые «action items» для предотвращения или решения подобных проблем в будущем, а также рассказывают о том, что было сделано по action items с прошлых ретроспектив.

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

Как устроена распределённая разработка игры — опыт Wargaming

Какими инструментами вы пользуетесь для организации работы?

Как я уже сказал, основой коммуникации у нас является Slack. В работе мы используем такие инструменты, как Jira, Confluence. Первый — для работы над задачами, а второй — как базу знаний и обмена документацией. На удаленке команды стали использовать много онлайн-сервисов: к примеру, для проведения ретроспектив часто прибегают к помощи онлайн-досок (это могут быть Miro или любой из многочисленных аналогов). Для проведения планирования спринтов используются различные онлайн-инструменты для Planning Poker (его ещё называют Scrum-покером).

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

Как вы преодолеваете языковой барьер?

Языковой барьер мы преодолеваем очень просто: с теми, кто не разговаривает по-русски, общаемся по-английски. Какие-то общекомандные коммуникации стараемся вести либо на английском, либо сразу на двух языках, чтобы ребятам было комфортно.

Что касается команды World of Tanks Blitz, то она практически полностью русскоязычная, поэтому внутри неё языковых проблем не возникает. Команды новых проектов состоят из ребят из разных стран, поэтому там общение ведется на английском. Шанхайская команда общается с нами на английском. Стоит сказать, что в целом в нашей сфере там, где необходимо межнациональное общение, мы без проблем используем английский язык.

Не получается ли так, что некоторые задачи решаются позднее, чем хотелось бы? Всё-таки офисы находятся в разных часовых поясах.

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

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

Общение в нашей команде выстроено таким образом, что мы стараемся информировать друг друга заранее, в момент возникновения риска не успеть в оговорённые сроки, чтобы все могли вовремя среагировать и проработать какой-то «план Б».

Как устроена распределённая разработка игры — опыт Wargaming

Пандемия и удалёнка как-то сказались на работе? Ограничения, связанные с Covid-19, в разных странах были несколько разными; вы применяли единую схему для всех своих офисов?

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

Что касается единой схемы для офисов, в марте прошлого года мы приняли решение перевести всех наших сотрудников на удаленку, чтобы не подвергать риску их здоровье и жизнь. Тем, кому условия не позволяют организовать комфортное рабочее место в своей собственной квартире, мы даём возможность работать в офисе, соблюдая ряд мер предосторожности: ношение масок, соблюдение дистанции как в коридорах, на кухне, так и на рабочих местах. Сейчас в Минске в офис, рассчитанный приблизительно на 300 человек, приходит чуть больше 20 сотрудников.

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

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

Сейчас этого нет, поэтому общение становится более корпоративным и менее душевным. Мы очень ценим в людях то, что они люди, а не машины, и очень бы хотели, чтобы у нас сохранялся дух большой семьи, некоего небольшого стартапа, где есть спонтанные брейншторминги, где можно за чашкой кофе сформировать гипотезу или придумать крутую идею, зайти к продакт-оунеру, сказать: «Смотри, что мы придумали!» и получить новый элемент в бэклоге команды, который потом будет реализован. Это очень круто.

Как устроена распределённая разработка игры — опыт Wargaming

Организация работы внутри офиса — для каждого подразделения она своя или идентична для всей компании? Можете немного рассказать о ней?

У нас есть корпоративные требования, которые определяют время присутствия на рабочем месте и некоторые другие нюансы. Все остальные процессы в компании варьируются и определяются командами самостоятельно: каждый продукт выбирает для себя те или иные подходы к разработке, самостоятельно решает, какие необходимо проводить мероприятия, какую оргструктуру выстраивать и так далее. Поэтому даже внутри нашей MS-1 все еще сильно различаются подходы к разработке.

Во многом это обусловлено тем, что World of Tanks Blitz — уже вышедший в релиз проект и у него сейчас идет развитие. Что же касается команд, работающих над новыми, ещё не вышедшими продуктами, то они значительно меньше, и очень многих позиций, которые требуются уже после релиза, в них ещё нет: например, маркетинга, комьюнити-менеджеров и многих других специалистов, связанных с оперированием. Поэтому их процессы, естественно, отличаются от принятых в World of Tanks Blitz.

Не получается ли так, что при распределённой разработке сами разработчики не могут увидеть всей картины?

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

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

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

Как устроена распределённая разработка игры — опыт Wargaming

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

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

Есть какие-то минусы распределённой разработки, которые пока не получается решить?

Мы давно и пошагово увеличивали наше присутствие за пределами офиса в Минске, поэтому основные проблемы, которые могли бы встретиться, уже были решены так давно, что сейчас о них уже трудно вспомнить. И на сегодняшний день сильное расширение нашей географии и наращивание нашего присутствия в других офисах не вызвало никаких проблем и позволило легко масштабироваться на еще один офис.

5151
8 комментариев

Ага, поэтому баги фиксятся месяцами а то и годами (привет прыгающий прицел у линии горизонта и скользкие камни), а моды, которые значительно улучшают удобство игры и информативность в бою, добавляются в игру спустя 10 лет, когда онлайн у игры падает с каждым месяцем, и даже марафоны на "халявынй" прем танк не притягивают людей в игру. Вашу работу по фидбеку с игроками отлично показал релиз в стиме, где ваши ручки не могут тереть все неугодные комментарии и отзывы.

17
Ответить

Это мобильная разработка, при чем тут большие танки?) Статью не читай, сразу плачь в комментариях?)

7
Ответить

материал интересный, но как только люди узнают о том что он от каких-нибудь Wargaming или Pixonic то сразу -9999 к доверию и +1000 к шутеечкам в комментах

7
Ответить

Сразу можно сравнить материал с тем, как он используется в реальности

1
Ответить

угу, пусть хотя бы ui  сделают быстрый и тогда послушаем.

1
Ответить

При распределённая разработкеопечатка в первой строке)

Ответить