Мерката
- Заказчик:
- Множество независимых розничных точек, поставщики и производители ТНП
- Руководитель проекта со стороны заказчика
- Поставщик
- Мерката
- Год завершения проекта
- 2017
- Сроки выполнения проекта
- Январь, 2015 — Ноябрь, 2017
- Масштаб проекта
- 70000 человеко-часов3000 автоматизированных рабочих мест
- Цели
- Мерката автоматизирует цепочку поставок от Производителя ТНП до малоформатных (несетевая розница и микросети) розничных магазинов. Сокращает затраты на торговые команды производителей/дистрибьюторов на 30%. Повышает показатель доступности товара на полке на 10%. Сокращает потребность в оборотном капитале за счет достоверных данных об остатках и продажах в канале традиционной розницы (минимизация страхового запаса на всех этапах цепочки поставок). Снижает "эффект хлыста" во всей цепочке поставок. Позволяет обеспечить контроль трейдмаркетинговых активностей товаропроизводителей. Обеспечивает электронное взаимодействие поставщиков и традиционной розницы (бизнес-процесс заказ-поставка).
Уникальность проекта
Реализуемый проект позволяет софрмировать из независимых розничных точек виртуальную розничную сеть. При этом сохраняется эффективное управление на местах, тк каждой точкой управляет предприниматель и обеспечивает гибкое ассортиментное планирование исходя из потребностей конкретного окружения магазина. Автоматизация взаимодействия торговых точек с поставщиками и товаропроизводителями позволила добиться качественного улучшения логистических показателей (снизить страховой запас, обеспечить качественное планирование поставок исходя из реальной уходимости товаров), торговые команды получили возможность обслуживать больше торговых точек. На следующих этапах планируется реализовать бизнес-процессы управления трейд-маркетинговыми активностями товаропроизводителей.На текущий момент созданный продукт становится реальной основой для нового витка развития супер-дистрибьюторов и канала независимой розницы, кооперативов. Фактически это единственный доступный инструмент для построения реальной устойчивой альтернативы действующим федеральным розничным сетям.
- Использованное ПО
- Мерката - мини ERP и front-office (касса) собственной разработки. Облачная часть (товароучетка) реализована на технической базе Microsoft Azure. Фронт-офис - нативное кассовое приложение на Windows/Android, мобильное приложение на Android.
Технологии в разработке
1. Отказоустойчивость и масштабирование серверной площадки
Сервис представляет собой совокупность отказоустойчивых кластеров подсистем хранилища данных, системной шины сообщений и фронт-офисов, устойчивых к выходу из строя отдельных серверов в кла-стерах, а также поддерживающих оперативное горизонтальное автомасштабирование с целью наращи-вания производительности всей серверной площадки при росте нагрузки со стороны пользователей для поддержания рабочего комфортного отклика системы.
В качестве хранилища используется NoSQL-хранилище mongoDB, в качестве системной шины - rabbitMQ.
2. Веб: SPA, адаптивная верстка
Веб-интерфейс выполнен в виде Single Page Application (SPA) для обеспечения лучшего пользователь-ского опыта (User Experience), а также уменьшения нагрузки на back-end сервера, общение клиента с сервером осуществляется через Web API, которое также находится под контролем системы автомас-штабирования и гарантирует рабочий отклик на действия пользователя.
Верстка веб-интерфейса является адаптивной и спроектирована изначально с условием использования на мобильных планшетах.
3. Касса: Android/Windows, Xamarin, работа в оффлайне, автообновление, интеллектуальный обмен с сер-вером
Кассовое приложение выполнено в виде приложения для платформы Android/Windows, разработанной с исполь-зованием фреймворка Xamarin, что обеспечивает возможность в будущем портировать код приложения на другие платформы, если возникнет такая необходимость.
Приложение работает со своей локальной базой данных и позволяет полноценно работать в оф-флайне, накапливая данные о продажах, а затем при восстановлении связи с сервером автоматически передать их. Касса обменивается данными с серверной площадкой в облаке в фоновом режиме, исполь-зуется сжатие трафика для уменьшения его обмена и повышения скорости обмена с сервером на мед-ленных каналах связи (например, операторы сотовой связи).
4. Технология разработки и жизненный цикл задач в разработке
При разработке используется методология SCRUM, работа ведется двухнедельными итерациями, в раз-работке используется хранилище Git и методология Git Flow при работе с ветками (branch). Все задачи в разработку проходят через отдел аналитики, после чего формируется описание user story, перед оче-редной итерацией фиксируется объем задач, который не меняется в ходе итерации. После разработки все задачи проходят обязательное Code Review, в ходе которого реализация задачи проверяется други-ми разработчиками, после чего все задачи в обязательном порядке проходят тестирование.
Тестирование в большей части проводится в автоматическом режиме, разработчиками и тестировщика-ми разрабатываются интеграционные и фукциональные тесты, которые впоследствии выполняются ав-томатически в постоянном режиме, с их помощью разработчики контролируют целостность функционала и при сбое в тестах оперативно устраняют все ошибки, которые их вызывают.
После реализации новая версия развертывается на тестовой площадке и проходит функциональную приемку аналитиками, после успешного прохождения приемки - происходит
обновление боевой площадки и клиенты получают новый функционал в веб-интерфейсе и в кассовом приложении. - Описание проекта
- В рамках проекта перед командой стояли следующие задачи: 1. Обеспечить базовый гигиенический уровень кассовой и товаручетной программы 2. Обеспечить интеграцию с имеющимися на рынке фискальными принтерами 3. Обеспечить возможность работы решения на различных платформах, в разных режимах (сенсорное управление/клавиатурный ввод) 4. Обеспечить возможность интеграции с различными фронт-офисными системами, которые уже используются в торговых точках 5. Обеспечить отказоустойчивость системы и автомасштабирование исходя из реальной пользовательской нагрузки. 6. Обеспечить качественную техническую поддержку для конечных пользователей (предприниматели, линейный персонал в магазинах) 7. Реализовать интеграционный слой для обеспечения обмена с информационными системами на стороне поставщиков ТНП и товаропроизводителей. Ключевой сложностью проекта является то, что для реализации качественной связки поставщиков и независимой розницы требуются произвести значительный объем работ по каждому из вышеуказанных пунктов. Невозможно запустить работу без выполнения этих требований. На разработку системы до состояния готовности к масштабированию было затрачено 2 года и около 70000 человеко-часов разработки. В процессе реализации проекта ключевой сложностью было сохранять фокусировку команды на стратегической задаче и определить, какой функционал относится к категории "хотелок", которые можно отнести на следующие этапы, а какой функционал является ключевым дл пользователей и цепочки поставок.
- География проекта
- РФ
- Дополнительные презентации:
- 27102017_global CIO.pdf