
Цель проекта
Запустить в Москве и Санкт-Петербурге лучший сервис доставки готовой еды. У Азбуки своя кухня высокого качества. Блюда продаются в оффлайн магазинах + прототип «Экспресс-меню 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. Партнеры работают с реальными остатками и ценами.


Навык для Яндекс.Алиса
Это отдельная классная история! О ней мы рассказали в кейсе «Алиса для Экспресс Меню».Выводы
Когда строишь что-то масштабное — фундамент важен:
- команда и фокус;
- наличие системы планирование;
- техническая архитектура проекта;
- принципы, которые мы пронесли через весь процесс.
Это позволило быть гибкими во время разработки. Это компоненты, которые мы закладываем в фундамент каждого крупного проекта.