Ситуативная разработка во время кризиса: как мы сократили time-to-market и собрали 7 млн трафика
Всем привет! Меня зовут Юля Деньгина, я Product Head в финтех-проекте «Выберу.ру».
Новые реалии первым делом ударили по нашему рынку — финансам. Хаос, резкое сокращение time-to-market, полный отказ от планирования и ежедневные релизы — вот коротко о том, что нам пришлось пережить за 3 недели, чтобы справиться с кризисом.
Про этот кейс я рассказала 21 мая на IT-конференции Merge в Иннополисе и сегодня делюсь им на vc.ru.
Ситуация на рынке в конце февраля 2022
Период с конца февраля по середину марта был сильнейшим потрясением для финансовой отрасли. С резким ростом ключевой ставки ЦБ многие банки приостановили продвижение продуктов, потому что было непонятно, как в принципе дальше работать.
«Выберу.ру» тоже попал под раздачу, т. к. сервис агрегирует все финансовые продукты и является достаточно крупным финансовым СМИ. Поскольку наш бизнес напрямую зависит от объемов и качества трафика, мы не могли просто ждать, пока схлынет волна неопределенности. Нужно было как можно быстрее подхватывать информационные поводы, внедрять новые продукты и собирать ситуационный трафик.
Мы оказались в ситуации, когда поисковые запросы моментально взлетали и падали. Простой пример. Прилетела новость о блокировке Visa и Mastercard, — интернет-пользователи начали искать информацию о картах UnionPay и JCB. У нас не было таких страниц на сайте, и пришлось экстренно их создавать. 3 часа на разработку, быстрая оптимизация, отправка на переобход, — и вот страница уже в поиске и собирает трафик.
Спустя сутки JCB заявляет о приостановке работы в России, — и только что проделанная работа оказывается никому не нужной. Тем не менее, мы одними из первых попали в топ выдачи и отхватили большую часть ситуационного трафика.
Альтернативные платежные системы, курсы азиатских валют, срочные вклады с повышенными процентами, новые условия по ипотеке и т. д., — практически в режиме реального времени мы отслеживали актуальные запросы и дорабатывали под них площадку.
Конвейер и возрастающая демотивация
Чтобы оперативно реагировать на рынок, нам пришлось отказаться от какого-либо планирования. Появляется задача, и она тут же идет в работу по полному циклу: разработка, code-review, функциональное тестирование, предрелизное на stage, продакшен. Промежуток между постановкой задачи и стартом работ составлял всего 20-30 минут.
Если обычно мы выкладываем обновления по расписанию, 2 раза в неделю, — то эти 3 недели мы жили в режиме непрерывного конвейера, выкладывали релизы каждый день, иногда по нескольку раз за день.
Отдельные ребята из команды работали в выходные. Чтобы создать одну новую ссылку в поиске, например «вклады в юанях», нужны 4 человека: разработчик, сеошник, контентщик и менеджер. Всем этим специалистам пришлось работать овертайм.
Что делать, когда вокруг хаос
Как бы это ни звучало, нужно принять хаос. Во время любого внешнего кризиса он будет неизбежен, поэтому задача состоит лишь в том, чтобы нивелировать его влияние. Я расскажу, что сделали мы.
Сказали сотрудникам правду
Я придерживаюсь позиции, что команда всегда должна знать, что на самом деле происходит в отрасли и в компании. Мы честно рассказали, что весь рынок трясет и нас это не обошло стороной: медийные размещения на сайте приостановились и неизвестно, когда ситуация выправится.
Такой подход в том числе необходим, чтобы обосновать смену фокуса и суперсрочные задачи. Если вы в экстренном порядке решите поменять план работ, — поймут и примут далеко не все. Важно сначала объяснить, к чему такая спешка и как это поможет компании заработать/привлечь трафик/нивелировать риски и т. д.
Адаптировали процессы
Мы скрестили две противоположные методологии: Agile c Waterfall. Вырезали все лишнее и делали необходимый минимум, чтобы сократить срок поставки на продакшен (это Agile). А поскольку абсолютно все задачи стали срочными, мы вместо стандартного планирования в Azure DevOps стали работать с живой очередью задач (Waterfall).
Чтобы людям можно было хоть как-то ориентироваться в том хаосе, который на них свалился, все срочное отмечали тегом #новаяреальность . Первый освободившийся разработчик, вне зависимости от уровня, просто брал задачу из очереди в работу. Так мы, насколько это было возможно, упорядочили действия команды.
К счастью, сейчас эта очередь пустая) Но пара задач в неделю в ней появляется, потому что банковский рынок до сих пор не стабилизировался.
Работали на скорость, а качество отлаживали в процессе
Когда все стремительно меняется, самому тоже нужно бежать очень быстро. Поэтому не стоит бояться делать MVP и переиспользовать уже готовые решения. Мы за 3 недели выкатили новый сервис «Финансовая аналитика», просто собрав в него действующие индексы, рейтинги и динамику курсов валют.
Резкое сокращение time-to-market на практике означает то, у разработчиков остается намного меньше времени на self review, а у тестировщиков — на проверку всего функционала. А еще в угоду скорости приходится прибегать к «костыльному» программированию: когда нет времени полноценно переписать код, можно использовать неидеальный, но быстрый способ решения проблемы.
К чему все это привело? Несмотря на то, что основной функционал работал как часы, на сайте ожидаемо образовалось некоторое количество багов. Тестировщики в основном проверяли боевой сайт и далее формировали список ошибок, которые исправлялись уже в плановом порядке.
Для product-менеджеров это нелегко, однако к тому, что какое-то время на бою не все будет идеально, просто надо быть морально готовым. Главное — запланировать работы по рефакторингу кода и устранению багов.
Усилили нематериальную мотивацию
Несмотря на двойную оплату разработчикам за овертайм, гораздо важнее в такой ситуации поддержать по-человечески. Кризис произошел не только в бизнесе, но и в обычной жизни, поэтому необходимо проявить открытость и показать, что вы готовы помочь в случае необходимости.
Нам в этом плане сильно помогла ранее внедренная практика one-to-one встреч, в рамках которых мы индивидуально с каждым сотрудником обсуждали текущую ситуацию. В конце написали команде о достигнутых результатах и предоставили всем дополнительный оплачиваемый выходной.
Все не зря
За счет слаженности команды тряска продлилась всего 3 недели, хотя могла бы затянуться намного дольше, и уже во второй половине марта мы работали в обычном режиме.
Нам не раз удавалось оказываться в топе поисковой выдачи по трендовым тематикам, поскольку мы вовремя занялись ситуативной разработкой и почти в режиме реального времени готовили площадку к меняющимся запросам аудитории. В среднем срок запуска новых страниц сократился в 5 раз.
В результате получилось привлечь +2 миллиона трафика, и суммарно за март он перевалил за 7 миллионов уникальных пользователей, — это абсолютный рекорд за всю историю существования проекта.
Этот опыт продемонстрировал, что даже когда вам приходится работать в ситуации полной неопределенности, можно задать нужные векторы и по-человечески донести их важность до сотрудников. То, на чем базируется здоровый менеджмент, особенно помогает компании в сложное время.