Экспресс меню — сервис доставки готовой еды Азбуки Вкуса

Экспресс-меню — сервис доставки готовых блюд от поваров «Азбуки Вкуса». Проект на тысячи часов, крутой командой и огромным потенциалом. Сайт, мобильные приложения, API, интеграции с Delivery Club и Яндекс.Еда.

Экспресс-меню — сервис доставки готовых блюд от поваров «Азбуки Вкуса». Проект на тысячи часов, крутой командой и огромным потенциалом. Сайт, мобильные приложения, API, интеграции с Delivery Club и Яндекс.Еда.

Цель проекта

Запустить в Москве и Санкт-Петербурге лучший сервис доставки готовой еды. У Азбуки своя кухня высокого качества. Блюда продаются в оффлайн магазинах + прототип «Экспресс-меню v.1» показал успех. Нужно было вывести пользовательский опыт на новый уровень.

Требовалось создать новые процессы и интерфейсы к ним, интегрировать это в основные бизнес системы компании. Старт дан, пошла работа.

Команда и наша роль

Собралась крутая команда! AIC спроектировали UX и дизайн, Trinity собрали мобильные приложения, коллеги от Бизнеса отвечали за анализ и проектирование процессов, мы за всю техническую часть проекта — платформа, REST-API, сайт, интеграции, тестирование, мониторинг, отказоустойчивость и т.д.

Планирование и Agile

Для управления проектом мы выбрали комбинированный подход — взяли что-то из методологий PMI, что-то от Agile Scrum.

Построение плана в MS Project. 

Мы построили план из ~500 высокоуровневых задач, определили основные вехи, посчитали сроки. Проект вели в MS Project. Так мы визуализировали желаемый ход проекта и утвердили его с Бизнесом.

(План — вид сверху)


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

Двигаемся спринтами

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

План → это карта, спринты → манёвры. Так мы прошли весь проект.

Архитектура и анализ

Управляем технической сложностью проекта

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

Мы выбрали подход тонкого клиента на любом фронтенде и бизнес-логики на бекенде. Это значит, что:

  • сайт и мобильные приложения только отображают данные, а не принимают бизнес-решений;
  • API — это транспорт, а не логика;
  • платформа — это логика и интеграции.

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

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

Отказоустойчивая архитектура

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

  • резервирование — когда выходит из строя основной сервер нужно прозрачно переключиться на резервный;
  • бекап и быстрое восстановление.

Активный мониторинг и логирование событий

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

Мониторинг

Мониторинг сообщает в реальном времени когда что-то на проекте идет не так. Например вызов API отвечает дольше, чем мы определили в SLA. Или заказы не отгружаются в систему учета более положенного времени. Обо всем этом сообщает мониторинг.

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

Мы же построили мониторинг за бизнес-показателями проекта.

Уведомления летят по E-mail и СМС команде проекта, которая занимается поддержкой.

Логирование событий

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



Команда, которая сможет всё

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

Но сильная команда поддерживает друг-друга, сфокусирована на главном — проект должен запуститься. Всё удалось, проект запустился 4 Апреля 2018 года.

Что такое Экспресс-меню для пользователя?

Пользователи могут пользоваться Экспресс-меню через разные каналы.

Мобильное приложение



Сайт express.av.ru

Адаптивное веб-приложение. Поддерживаем десктоп, планшетный и мобильные режимы.





DeliveryClub и Яндекс.Еда

Для партнерский сервисов Delivery Club и Яндекс.Еда разработаны интеграционные API. Партнеры работают с реальными остатками и ценами.




Навык для Яндекс.Алиса

Это отдельная классная история! О ней мы рассказали в кейсе «Алиса для Экспресс Меню».

Выводы

Когда строишь что-то масштабное — фундамент важен:

  • команда и фокус;
  • наличие системы планирование;
  • техническая архитектура проекта;
  • принципы, которые мы пронесли через весь процесс.

Это позволило быть гибкими во время разработки. Это компоненты, которые мы закладываем в фундамент каждого крупного проекта.

Хотите навести порядок в процессах?