Всем привет, меня зовут Виктор Щепкин, я руководитель проекта в Allods Team. В этом тексте я расскажу, как мы искали рабочий мессенджер и в итоге остановились на Discord. Также опишу, как устроен наш сервер, и поделюсь подробным описанием функций, которые мы используем.
Почему Discord
Наша команда присоединилась к Allods Team в начале 2021 года, а до этого мы были петербургской инди-студией OctoBox Interactive. В процессе становления нас как команды мы в том числе прошли через этап поиска командного мессенджера. Когда мы выбирали его, у нас было несколько требований.
Мы хотели четко разграничить работу и личное время.
Мы не хотели работать с «неудобным» софтом.
В тот момент большинство команд использовали: Skype, Telegram, Slack.
Со Skype многие из нас уже были знакомы и в тот момент у него было очень много проблем — он мог подтормаживать, зависать и долго включаться. Что касается звонков — в нем достаточно сложно организовать групповой стихийный звонок: нужно добавить всех участников в контакты, организовать группу, потом менеджерить эти чаты и так далее.
У Telegram не было проблем с вылетами и тормозами, но у него были все те же трудности с групповыми звонками и многие использовали его в личных целях.
Slack вроде бы подходил по функциям, но мы были небольшой инди-командой, поэтому не могли позволить себе оплачивать платную версию. И там тоже были трудности с организацией групповых звонков. Поэтому от этого варианта мы тоже отказались.
Когда мы отмели эти варианты, то вспомнили про Discord. Некоторые из нас были с ним знакомы, но использовали его только для игр. Вот что привлекло нас в Discord.
Удобно работать с текстовыми каналами — можно создать сразу несколько чатов по разным темам и направлениям.
Легко собирать стихийные митинги — достаточно создать голосовой канал и при необходимости созвать в него всех.
Организация рабочего пространства — за счет гибкости системы ролей и каналов можно легко подстроить сервер под свои процессы.
Роли в Discord
В работе мы пользуемся всеми возможностями, которые дает Discord. В первую очередь это касается ролей — с их помощью мы разграничиваем права участников по текстовым и голосовым каналам, а также они помогают легко тэгировать разные отделы.
Все начиналось с трех ролей: GD, Code, Art. А сейчас у их уже 17! Этот рост в первую очередь связан с увеличением количества людей в команде — в начале нас было 15 человек, а теперь на сервере в Discord 84 человека. Тут без грамотного распределения ролей не обойтись.
Мы разделяем роли пользователей на три категории.
General, в нее входят:
admin — все, кто управляет сервером и занимается модерацией;
lead — руководители отделов, могут только модерировать сервер;
outsource — внештатные специалисты.
Developers:
под каждый отдел у нас есть отдельная роль!
Non-Core team, в нее входят:
внутренние студии;
студии партнеры.
Зачем под каждый отдел разработки иметь отдельную роль? Чтобы тэгать сразу всех, кто связан с определенным направлением работы в чатах. Также для разграничения по ролям мы используем иконки — это помогает быстро определить, чем занимается человек. Это особенно полезно при онбординге новых сотрудников, когда они еще не понимают, кто чем занимается.
Каналы
Для начала важно сказать, что категории каналов — это не внутреннее разделение, как это было с ролями, а полноценная фича Discord, при помощи которой можно группировать текстовые и голосовые каналы вместе. При этом права доступа можно настроить сразу для всей категории, что помогает в работе с большим количеством каналов — достаточно выделить сразу целую категорию и внести какое-то изменение, а не выбирать все по одному.
Мы добавляем эмодзи в названия текстовых каналов (к сожалению, голосовые каналы такой фичи не поддерживают) — это помогает нам с навигацией в Discord, визуальные образы найти глазами проще, чем строчку текста.
Что же касается наших каналов.
Первое, что встречает нового пользователя — это ? welcome канал.
После получения первого набора прав, он может зайти на наш сервер.
Категория General. В ней находятся каналы, которые касаются жизни нашей команды. Тут могут обсуждать новости, касающиеся проекта и компании, ребята поздравляют друг друга с днем рождения и так далее.
? announcement — основной новостной канал, там обычно можно прочитать самые важные и свежие новости;
? general — общий канал для общения на темы, не связанные с разработкой проекта;
? office — очень важный канал! С начала работы на удаленке мы стали отмечаться в отдельном канале, чтобы лучше понимать рабочий статус друг друга;
⏰ opozdun — все мы люди и всем нам порой свойственно опаздывать. Чтобы ни для кого это не было сюрпризом, мы оповещаем наших коллег об этом в этом канале.
Следующая категория каналов — Report.
? PLACEHOLDER-report — отчеты о работе каждого отдела по отдельности.
В них отделы отчитываются, что сделали за определенный промежуток времени. Одно сообщение — один отчет (за день, период, неделю), а все вопросы по конкретному отчету можно обсудить в ветках.
Эти каналы нужны для прозрачности — они помогают людям из разных отделов понимать, что происходит в других командах, и как двигается разработка проекта.
Третья категория — DEV, которая полностью посвящена разработке проекта.
? jenkins — позволяет отслеживать состояние наших билдеров. В случае успешных сборок выкладывается ссылка на артефакты, в случае ошибки — ссылка на лог сборки;
? playtest — канал, посвященный плейтестам проекта: новые и старые сборки, баги, фидбек, самый жар разработки — все это обсуждается здесь;
? dev-talks — обсуждение разработки проекта;
PLACEHOLDER-talks — отдельные текстовые каналы под каждый отдел разработки.
С аудио-каналами все устроено подобным образом:
несколько каналов для плейтестов, чтобы было удобнее собирать фидбек при большом количестве участников;
отдельный канал под каждое направление разработки;
дополнительные каналы для повседневных встреч.
Разговоры на нерабочие темы мы ведем в Off-Dev категории.
? member — NSFW 21+, БОЛЬ, НЕПОТРЕБСТВО, канал который особо не модерируется, но все-таки есть несколько правил!
Мы не обсуждаем политику,религию и прочие вещи, которые могут привести к ненужным спорам и оскорблениям!
Мы не оскорбляем друг друга! Мы можем шутить, но не оскорблять!
? food-talks — разговоры о еде, кухне и прочих связанных с этим темах.
? music-talks — разговоры о музыке. Делимся тем, что слушаем, и советуем. И просто общаемся о музыке.
Также у нас есть отдельные категории под каждую нашу студию-партнера, которые находится на нашем проектном сервере Discord.
Дополнительные функции, которые мы используем
Треды или ветки
Треды работают примерно как в Slack — если нужно обсудить вопрос, мы создаем тред под изначальным сообщением, а не пишем в канал.
Ивенты
Это отличная функция, с помощью которой можно создавать события прямо в Discord, а не в календаре. Если участник нажмет кнопку «Заинтересован», то ему автоматически придет уведомление в Discord, когда событие начнется.
Боты
Сейчас мы пользуемся одним, а еще один в стадии активной разработки.
Jenkins — бот для работы с билдером.
Второй бот, который находится в разработке — это статус-бот. Он должен заменить чаты, в которых сотрудники отчитываются о собственном состоянии. Если сотрудник собирается, например, отойти на обед, то ему достаточно нажать на одну кнопку в этом боте, а тот автоматически задаст статус.
Нельзя сказать, что выбор корпоративного мессенджера — это чрезвычайно важное решение, которое определяет всю последующую работу над проектом. Тем не менее именно от мессенджера во многом зависит качество коммуникации с коллегами — важно, чтобы информация не терялась, а членам команды было просто удобно общаться.
На мой взгляд, Discord — это самый оптимальный вариант мессенджера: он не только стабильно работает, но и предоставляет все необходимые функции. Кроме того, его можно подстраивать под свои нужды, добавляя ботов и расширяя функциональность.