По 300 релизов в месяц: как мы выстроили процессы и до сих пор не выгорели

Привет, это Миша Шпаков из Timeweb Cloud. Вообще я управляю отделом разработки, но отдел маркетинга по-дружески попросил написать статью на VC.

Рассказываю об устройстве команды из 25 фулстек-разработчиков, которые каждый месяц делают сотни релизов.

Но для начала дисклеймер.

Каждая IT-компания по-своему трактует понятие «релиз». Мы называем релизом изменение в продукте, которое становится доступным нашим пользователям. Оно может быть продуктовым — то есть видимым, — когда что-то меняется в интерфейсе, или техническим, когда меняется стабильность и скорость сервиса.

Два года работы в трех шагах

Timeweb Cloud — облачная платформа, появившаяся в конце 2021 года. Она принадлежит группе компаний, создавшей одноименный хостинг.

Предоставляя облачные решения, мы помогаем клиентам по всему миру в создании, управлении и масштабировании IT-инфраструктуры. Обеспечиваем защищенное хранение данных, а также предлагаем управляемые сервисы Kubernetes, DBaaS и другие продукты как для бизнеса, так и для частных лиц.

По 300 релизов в месяц: как мы выстроили процессы и до сих пор не выгорели

В конце 2021 года Cloud стал развиваться как отдельное направление. На тот момент не было ничего: ни команды, ни дорожных карт, ни организованных внутренних процессов. Сейчас наша команда состоит из более, чем 30 человек — это фулстек-разработчики и продакты, которые, несмотря на общепринятые правила в IT, выпускают релизы даже по пятницам.

Построить процессы было непросто — на «раз, два, три и готово» бывает только в кино или на бесплатных курсах по проджект-менеджменту.

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

Шаг №1. Потратили время на вижн и планирование релизов

Первым делом мы поставили глобальные цели на 3-5 лет вперед, согласовали их с инвесторами и фаундерами. Далее сформировались итерации на полгода или год.

После мы перешли от общего к частному: для каждой итерации разработали дорожную карту — это план приоритетности задач. Его придерживается команда. Туда же входит пул базовых задач для бизнеса.

Дорожная карта
Дорожная карта

Далее задачи мы делили на короткие и насыщенные спринты, переносили их в таск-трекер и брались за работу. Так мы работаем и сейчас.

Таск-трекер
Таск-трекер

Шаг №2 Сформировали команду

Задача разобраться с тем, какая команда нам нужна и как ее организовать, оказалась сложнее, чем мы представляли на старте. Все начиналась с двух разработчиков, включая меня, поэтому ни синков, ни отчетности у нас не было: работали по факту. Когда возникла потребность расширять штат, стали набирать разработчиков для работы на удаленке.

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

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

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

Команда во время синка
Команда во время синка

Все разработчики Timeweb Cloud — фулстек. Говоря простым языком, эти ребята могут все: и красивый интерфейс сверстать (frontend), и архитектуру сделать (backend). Прежде чем прийти к такой схеме, мы пробовали набирать команду с классическим делением: front и back отдельно.

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

Команда фулстек-разработчиков дает нам максимальную скорость: мы можем брать ASAP-задачи, работать с трендами и менять вектор. Тем не менее часть команды стабильно закреплена за важными для бизнеса проектами — они занимаются конкретным продуктом и не двигаются из релиза в релиз.

Шаг №3 Проработали алгоритм для ASAP-задач

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

Например, когда тренд с нейросетями был на пике популярности, мы внедрили TimewebGPT на базе GPT 3.5 в службу поддержки Timeweb Cloud. Искусственный интеллект стал отвечать на вопросы пользователей. Из-за оперативного внедрения проекта в роадмап, часть разработчиков поставила на «стоп» текущие задачи и перешла работать с новым продуктом. Так у нас появился TimewebGPT в короткие сроки.

Как работать с ASAP-задачами

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

1. Получение и анализ ТЗ от продактов

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

Артефакт — это то, что объясняет работу системы: например, схемы, текстовое описание, набросок структуры API.

2. Разработка решения и доставка кода

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

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

3. Постревью

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

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

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

  • Бюджет на ошибку — чем меньше ошибок в коде, тем больше бюджет и тем меньше руководители участвуют в ревью и проверке кода.
  • Доступ к тестам — у разработчиков есть доступ к большой базе тестирования для различных компонентов кода.
  • Откат обновлений в один клик — за 20 секунд мы можем удалить внесенные обновления и вернуть сервер в изначальное состояние.
  • Обновления могут выходить только для части клиентов — релизы не распространяются сразу на всех: первоначально обновление может выйти только для определенных клиентов, которым это необходимо.

Что мы получили бонусом

Такая скорость выпуска релизов дала нам пару корпоративных традиций.

Пятничные «Демо». Из-за сжатых временных рамок и формата дейликов мы создали традицию пятничных встреч.

Каждую пятницу в главную переговорную офиса мы приносим экран, собираем офлайн-разработчиков и подключаем удаленных сотрудников Timeweb Cloud. Здесь презентуются релизы, решения и новости компании. Пятничный формат встреч мотивировал делать больше: хотелось показать и рассказать, как много мы успели за неделю. Эффективность и объемы релизов стали расти.

Сначала на таких встречах был только наш бизнес-модуль, но с каждым новым «Демо» к нам присоединялось все больше коллег из других отделов Timeweb.

Демо-встреча
Демо-встреча

Новостной телеграм-канал. Когда темп выпуска релизов стал увеличиваться в геометрической прогрессии, команде понадобился инструмент для мобильной передачи новостей и обновлений отделу маркетинга. С этой целью мы создали локальный чат, в котором изначально были только те, кто относился к проекту — руководители, разработчики и маркетологи.

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

Внутренний чат
Внутренний чат

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

Телеграм-канал Timeweb Cloud
Телеграм-канал Timeweb Cloud

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

Кстати, подписаться на него можно по ссылке.

В общем: главные мысли

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

* * *

Такой путь нам пришлось пройти за два года, чтобы сейчас уверенно держать темп в 300 релизов каждый месяц, продолжать расширять команду и не расстраивать инвесторов и фаундеров 🙂

Поделитесь в комментариях тем, как вы ускоряете свой бизнес.

4949
26 комментариев

придумал вам асап задачу: почините vps/vds, не кликается выпадающее меню и как гиперссылка тоже не работает, если ты уже на этой странице, пусть сворачивается хотя бы

5
Ответить

Действительно не работает 🤔 Закинули ребятам из команды хостинга 👌

Ответить

Не, ну тут без стимуляторов явно не обходится 😉

2
Ответить

За сколько разраб таймвеба сможет накопить на трешку у мкада?

Ответить

Вы для себя спрашиваете? У нас есть вакансии, по ЗП договоримся 😏

3
Ответить

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

1
Ответить