Привет, Хабр! Меня зовут Роман Мирошин, я ведущий системный аналитик в компании «Лига Ставок». Сегодня расскажу историю о том, как наша команда запускала новогодний раздел. 

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

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

С дизайнером и PO мы прорабатывали макеты и механику для абсолютно нового раздела, который должен был работать без WebView в приложении, для WEB и APP.

Когда дизайнер собрал первый макет, я приступил к документированию и написанию ТЗ на разработку.

Дни были насыщенные: встреча за встречей и куча переписок – первыми пришли маркетинг и коммуникации. 

Параллельно велась разработка на двух фронтах: web и app. Была внедрена механика, позволяющая управлять контентом без релизов (забегая вперед – это оказалось очень удачным решением)

После первых встреч стало ясно, что сделать предстоит следующее:

  1. Согласовать тексты в разделе.

  2. Создать задачу для команды коммуникаций с детально прописанным сценарием и флоу.

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

Смущало одно обстоятельство — code freeze 15 декабря. Мы должны были успеть завершить все работы до этого срока, иначе новогоднего раздела не случилось бы. Разработчикам пришлось напрячься, чтобы минимизировать последующие правки (неизбежные при создании нового раздела).

Когда разработка завершается, необходимо проверить всё на тестовом контуре с новой выгрузкой. Для этого пришлось привлечь две команды: команду SAP и команду базистов. На тестовом контуре у нас не возникло проблем с загрузкой пользователей, там было загружено всего 1000 тестовых данных.

Дата открытия раздела была запланирована на 20 декабря в 12:00.

Настал день, мы выкатили доработку на прод. Точка входа была закрыта для всех, а в базу загружены данные только коллег с Лиги, имеющих продуктивные аккаунты. Мы вздохнули с облегчением, но наш PO обратил внимание, что переход для VIP пользователей работает неправильно. PO предложил не переделывать переход, а перенаправить трафик на лотерейный розыгрыш Rolls-Royce. 

Раздав задачи, я решил сделать кофебрейк и задумался, можно ли поправить это без релиза? Поинтересовался у PO, что принесет большую прибыль: наш раздел или розыгрыш. Наш раздел намного интересней, поэтому мы решили использовать мою “безрелизную костыльную” идею. 

К 13:00 мегакостыль работал идеально. Задача команды  SAP – в 9:00 19 декабря сделать выгрузку всей базы клиентов.

Наступило утро 19 декабря, иду с выгрузкой к базистам. Они начинают прогружать их на прод – идут ошибки. Данные оказались не консистентными, появились пользователи с null значениями в полях. Начали разбираться, почему около 6500 пользователей без «любимых команд» – оказалось, это люди, играющие в быстрые игры, где команд просто нет. 

В обед 19 декабря CPO интересуется, как наши дела. А у нас всё готово, пуши и коммуникации настроены, осталось только открыть точку доступа.

И тут CPO кидает мне своё достижение со следующим комментарием:

Понимаю, что у нас какой-то баг в механике шеринга в телеграмм. Проверяем – у меня проблемы нет, а из 30 пользователей проблема только у двух. С тестером в темпе вальса проверяем тест-кейсы, и не находим такой проблемы. Оказалось, она только на iOS-системах. Подумали, что это какая-то настройка на айфоне или в Telegram, о которой мы не знали. Но оказалось, что баг в самом телеграмме (https://bugs.telegram.org/c/46106). 

После всех расследований, утром 20 декабря мы ждали открытия точки входа на Новый год.

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

Какие выводы можно сделать  из этого кейса:

  • Сотрудничество — ключ к успеху. Работайте в команде, общайтесь;

  • Тестирование — ваш лучший союзник. Полагайтесь на автоматизированные тесты и регулярные проверки кода;

  • Баланс работы и личной жизни – очевидный, но вполне уместный подход. Не забивайте на физическую активность и свои увлечения.

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

С Новым годом, Хабр!

Комментарии (0)