Во время пандемии коронавируса покупатели не рискуют лишний раз ходить в магазин, потому что боятся заразиться. Многие клиенты крупных сетей стали чаще заказывать еду и продукты на дом. Летом 2020 года Delivery Club заключил партнерское соглашение с федеральной сетью «Магнит». Запланировали запустить экспресс-доставку. Клиенту понадобилось новое мобильное приложение. У Delivery Club уже есть основное приложение, где клиенты заказывают еду. Нужен был вариант для сборщиков продуктов (пикеров), который легко интегрировать с существующим.
Надо было придумать систему, при которой клиент делает заказ, а пикер сразу видит его и идет собирать продукты. После этого согласовывает все с клиентом, а тот дистанционно оплачивает покупку. Все должно проходить легко — чтобы заказ доставили быстро.
Разработали приложение на Kotlin для Android. Покупатель заходит в основное приложение и собирает товары в корзину — выбирает количество или вес (например, 300 г сыра). Как только клиент оформляет заказ, пикеру приходит уведомление в его приложении на смартфоне.
Сборщику не нужно ничего записывать и уточнять детали. Вся информация находится в одном месте. Если есть вопросы или товар в магазине закончился, сборщик может связаться с клиентом через приложение. Клиент оплачивает заказ прямо в приложении. Оповещение об оплате приходит туда же.
Нам нужно было успеть к официальному релизу экспресс-доставки. Поэтому на создание продукта был всего месяц. Мы занимались только разработкой. Дизайн был на стороне клиента, бэкенд — тоже. Его делали на stage-сервере Mail.ru. У нашей команды не было к нему доступа. То есть протестировать, как работает приложение, мы не могли.
Разработка велась через GitHub: как только команда клиента выкладывала часть кода, мы оперативно включались в работу. Если на той стороне были паузы, нам приходилось ждать. Тестирование проводили за неделю до релиза. Мы раздали 10 устройств пикерам — все отметили, что приложение удобное и понятное.
Достаточно жесткий дедлайн и «слепая» схема работы с бэкендом. Но все это держало нас в тонусе.
Договаривались о типе данных, обсуждали swagger-спецификацию и то, как передавать данные. Промежуточные билды отправляли на сторону заказчика. Оттуда получали обратную связь.
Чтобы уложиться в дедлайн, мы ввели фиксированную команду. В предыдущих проектах состав разработчиков мог меняться: вначале подключались одни, затем другие ребята. Тут же над продуктом работали одни и те же люди.
«Мы назначили тимлида, который все контролировал, ведущего разработчика, в работу которого никто не лез, и других специалистов. У каждого была своя роль в команде. Возможно, благодаря такому разделению мы справились с проектом почти в срок. Дедлайн пришлось сдвинуть на неделю. Но это было связано с паузами на стороне заказчика, а не нашей».
Мы передали все наработки клиенту. Дальше приложением будет заниматься его команда. Заказчик остался доволен. Свою задачу мы выполнили: помогли сделать важную часть работы максимально быстро.
Сейчас мы делаем новый продукт — административную панель для управления учетными записями пикеров и магазинов.
Пикеры определенного магазина видят список заказов. Сборщик сам выбирает, какую заявку взять.