О себе
В ИТ я с 2000-го года. Работал и программистом, и внедренцем, и аналитиком, руководителем проектов, и ИТ-директором. Так сложилось, что я много чем занимался, но проектов по мобильной разработке у меня никогда не было. У меня были проекты внедрения готовых решений, которые кем-то сделаны, но чтобы с нуля что-то разработать и внедрить по мобильной части, такого не было.
Опыт мобильной разработки у меня появился, когда я начал работать со «Вкусвиллом». Этот проект мне стал очень интересен – он начинался как эксперимент, но существует уже четыре года, развивается и модифицируется.
С чего начинался проект «Вкусвилл»
Все началось в 2015 году, когда «Вкусвилл» проводил мощное переформатирование своей розничной сети.
До этого у них были небольшие магазины с ограниченным ассортиментом, а в тот момент они стали переходить на полноценный формат «магазина у дома» с большим ассортиментом площадью порядка 100 квадратных метров.
Одновременно компания стала резко наращивать объемы открытия новых магазинов. Рост ассортимента ведет к увеличению складских площадей, числу складского персонала. До этого склады фактически работали по бумажке: брали задание в работу, люди бегали, все собирали. В итоге получалось медленно и с большим процентом пересорта.
У «Вкусвилла» в принципе нет своих складских работников, практически все вспомогательные функции вынесены на аутсорс, и аутсорсинговые компании представляют рабочую силу. Она разная по квалификации, часто меняются люди из-за этого появляются ошибки, люди не знают ассортимент и продукцию, с которой работают.
Кроме того, у компании порядка 80% позиций – это ассортимент фреша и ультрафреш, то есть скоропорт, который не складируется. Он ночью приходит, а днем уже должен быть в магазинах.
Все это накладывалась еще и на то, что склады работают круглосуточно.
Техническое решение проекта
Мы разработали следующее решение: мобильное приложение на платформе 1С обменивается информацией с учетной системой также на платформе 1С. Учетная система полностью самописная, это не коробочный, не типовой вариант, а разработанный с нуля. Поскольку «Вкусвилл» уже много лет разрабатывал свою учетную систему, нужно было подстроить наше решение под нее.
В рамках проекта была осуществлена интеграция мобильного приложения со складским оборудованием. Это bluetooth сканеры, bluetooth принтеры, оборудование электронной очереди плюс массогабаритные измерители. В перспективе «Вкусвилл» планирует открывать очень большой новый склад, и там, скорее всего, будут уже некие системы роботизации. Так что я думаю, что в перспективе мобильное приложение будет интегрировано еще с системами роботизации.
В рамках проекта были автоматизированы складские процессы. Я перечислю основные, но есть еще ряд вспомогательных. Основные это:
- Приемка
- Сборка
- Кросдокинг
- Проверка качества товара
- Списания
- Перемещения
- Отгрузка
- Инвентаризация.
Результат проекта
Проект, как я сказал, живет и развивается уже 4 года. На текущий момент можно подвести определенные итоги:
- Сейчас на этом мобильном приложении работает 2 распределительных центра площадью по 50 тысяч квадратных метров (когда стартовали, был один склад площадью 7 тысяч квадратных метров).
- В смену работает порядка 250-300 человек на каждом из складов. Изначально одновременно работали 30 человек.
- Сейчас 2 распределительных центра обслуживают более одной тысячи магазинов в Москве и в области.
Сейчас «Вкусвилл» пошел в регионы, будут открываться, дополнительные региональные РЦ. На момент старта было 40 магазинов и 250-300 розничных небольших точек, сейчас более 1000. В смену отгружается больше 200 тысяч коробок на каждом складе, а когда стартовали, было 13 тысяч. При этом процент пересорта снизился до 0,3% с 3,6%.
Особенности клиента
Расскажу немного про клиента, чтобы вы поняли, почему проект складывался именно так, как он шел.
Компания «Вкусвилл» на рынке считается «бирюзовой» компанией. Есть такая дифференциация компаний по методам и по стилю управления:
- от «красных» компаний с жесткой иерархией, где существует лидер, который всех заставляет работать, сам ставит цели и все организовывает,
- до «бирюзовых», где полная самоорганизация – руководство и владельцы никак не вмешиваются в работу, люди полностью сами организуются, работают ради какой-то цели, у них очень высокая внутренняя мотивация.
«Вкусвилл» себя считают недостаточно бирюзовой компанией, но они постоянно движутся в сторону внутренней самоорганизации. У них максимально горизонтальная организационная структура, каждый отдел может организовать работу так, как считает нужным, они могут привлекать подрядчиков для любых задач.
Также у «Вкусвилла» нет таких стандартных вещей, как KPI, бюджеты, долгосрочное планирование. Они считают долгосрочное планирование бессмысленным, потому что ситуация и процессы очень быстро меняются, они стараются работать максимально гибко. У них любой сотрудник может заказать какую-то разработку, может начать новый проект без ТЗ, без каких-то глобальных макроэкономических расчетов, как в других компаниях. Во «Вкусвилле» даже есть специальная должность – управляющий по новизне. Это человек, которой помогает генерировать проекты внутри компании, стимулирует внутреннее предпринимательство.
Как я сказал, у них очень большая гибкость процессов, процессы меняются постоянно. В частности, на складах постоянно идет какой-то процесс доработки и изменения.У них довольно высокий уровень автоматизации, они стараются все максимально переложить на ИТ, чтобы было меньше рутины.
Адаптация под заказчика
Как же работать ИТ-подрядчику с таким заказчиком? Чтобы работать с таким клиентом, нужно полностью ориентироваться на интересы заказчика, принять его идеологию и помогать ему. Здесь появляется элемент партнерства.
Зачастую заказчик сам до конца не понимает, как реализовать его проект, во что это в итоге выльется. И одна из функций ИТ-подрядчика – максимально быстро показать какой-то результат, чтобы заказчик посмотрел, и у него в голове сложилось представление, действительно ли это то, что ему нужно, или нужно что-то сразу поменять, а может, полностью отказаться от этой идеи. Во «Вкусвилле» очень не любят глобальные ТЗ, которые пишутся месяцами, месяцами согласовываются, потом выполняются, а в итоге оказывается, что это немного не то, что они хотели, потому что процессы поменялись, и все надо переделать.
Поэтому надо быть готовым максимально быстро адаптироваться под изменения требований заказчика.
Есть такая концепция предпринимательства Lean Startup. Она больше ориентирована на стартапы, на какие-то новые продукты, но, тем не менее, во «Вкусвилле» она широко применяется.
Основной ее смысл – максимально быстро создать MVP (минимально жизнеспособный продукт) или, как мы его называем, МЖП. То есть нужно максимально быстро с минимальными затратами сделать какой-то прототип, который легко протестировать в реальных условиях. И уже после этого понять, подтверждается ли ценность этой гипотезы, стоит ли вкладывать в него деньги и развивать. Или проще и дешевле прекратить его сейчас, свернуть все работы.
Если прототип подошел, мы на базе него начинаем дальше развивать продукт. Фактически у нас было несколько разных проектов MVP по различным сферам. Часть из них умерли, так как заказчик решил, что не стоит этим заниматься. Часть из них живет и развивается, например, мобильное приложение «Розница», мобильное приложение «Склад». Было такое мобильное приложение, как автоматизация транспорта, но оно не взлетело, потому что транспорт у «Вкусвилла» на аутсорсе, и аутсорсинговые компании не смогли организовать использование этого мобильного приложения.
Есть еще мобильное приложение «Аренда», оно пока в живом состоянии, но используется исключительно бэковая часть, а само мобильное приложение как-то не заинтересовало пользователей, его не стали использовать. В компании «Вкусвилл» считают, что в этом нет ничего страшного, любая ошибка, эксперименты – это нормально.
Организация работ на проекте
В данном случае классика не совсем подходит, здесь использован итерационный подход:
- сбор требований от заказчика;
- предварительный анализ;
- согласование функциональных требований;
- этап разработки;
- этап тестирования на наиболее опытных пользователях, которые могут дать адекватную обратную связь;
- доработка по результатам тестирования;
- запуск в работу;
- постоянный сбор обратной связи;
- улучшения.
Когда я этим начал заниматься, то сделал для себя вывод, что с точки зрения мобильных приложений очень важно пропустить через себя то, что вы делаете. Потому что программист, тем более, когда он работает удаленно, живет и разрабатывает в своей парадигме, а когда смотришь на продукт глазами конечного пользователя, картина получается другая.
Я всегда старался проверить всю функциональность сам. Выезжал на склад с пользователями, смотрел, как они работают, сразу делал какие-то замечания, и мы дорабатывали какие-то моменты прямо на лету.
Исследование технологий и выбор решения
Я уже говорил, что у меня опыта мобильной разработки не было, и я начал изучать, как же сделать мобильное приложение. Есть несколько вариантов:
- Native решения;
- веб-приложения;
- готовые, уже существующие WMS решения с мобильными приложениями;
- использование RDP.
Все эти варианты были рассмотрены.
Native решения мы не стали использовать, так как у нас не было своих программистов, надо было искать подрядчиков. Но поскольку не было четкого ТЗ, подрядчики заламывали очень высокую стоимость и сроки, дальнейшая доработка и все изменения были проблематичны.
Вариант с готовыми WMS решениями мы тоже отмели, потому что это дорого,, это надо ломать существующую систему и отказываться от существующего решения. Заказчик этого категорически не хотел, он вообще не любит закрытые коробочные решения.
Использование RDP – тоже не вариант. Это только онлайн работа, проблемы с внешним оборудованием, с подключением.
И мы стали смотреть в сторону мобильной платформы, как именно сделать на ней MVP.
Вообще идея была такая: так как у нас полно 1С-ников, мы сейчас быстренько сделаем MVP, протестируем его, по результатам посмотрим, что получилось. А на основании этого сделаем нормальное ТЗ, чтобы можно было отдать подрядчику, который смог бы нам разработать Native решение. Мы, конечно, читали в интернете опасения по поводу стабильности работы, насколько это все вообще реально. Но как раз вышла версия 8.3.6 с расширенным функционалом, с повышенной стабильностью работы, и мы стали ее использовать.
Собрали требования к MVP. Основные из них:
- создать очень простой интерфейс для низкоквалифицированного персонала;
- максимально жесткий процесс без возможности отклонения от стандарта;
- возможность офлайн работы, так как не везде удалось обеспечить Wi-Fi покрытие. Есть камеры заморозки, где никакой Wi-Fi не работает, и нужно было, чтобы приложение могло функционировать в таких зонах в режиме офлайн;
- так как мы опасались сбоев, сразу было заложено, что если пользователя выкинуло из приложения, он заходит снова и может продолжить работу с того же места;
- также мы ограничили функциональные требования к MVP одной операцией – операцией приемки;
- выбрали в качестве устройства ТСД на Android.
Последствия выбранного решения
После 1,5 месяца работы (это программирование, подбор оборудования, собственно запуск, какие-то первичные исправления) мы поняли, что мобильная платформа в принципе работает неплохо – все, что мы хотели, мы можем на ней реализовать. У нас появился уже готовый продукт, который сразу с первого же дня начал активно использоваться. Мы поняли, на что нужно обращать внимание с точки зрения программирования мобильных решений, и на базе этого MVP стали развивать и наращивать функционал. Так приложение развилось до текущего состояния.
Выбор оборудования
Был интересный момент по оборудованию.
Вначале мы использовали обычный ТСД на Android. Но оказалось, что это очень неудобно. Сборщики работают с коробками, они постоянно их перемещают, грузят. ТСД падает, разбивается, его надо куда-то засовывать. Кроме того, на тот момент у ТСД были ограниченные мощности.
Сотрудники «Вкусвилл» постоянно ездят обмениваться опытом в Европу, в Америку, общаются с ритейлерами. В одной из поездок они увидели решение – сканер в виде кольца на палец и мобильное устройство, закрепленное на предплечье. И они решили, что ТСД не нужен, нужен другой вариант.
Мы стали искать какие-то решения в России. Но на тот момент нужных готовых решений не было, и мы стали подбирать и тестировать оборудование, стали думать, как все это привязать к мобильной платформе. Но тогда было мало вариантов, и пришлось привлекать отдельного Android-программиста. Он написал драйвер, который взаимодействует с bluetooth сканером и передает данные в 1С.
Была выбрана очень хорошая модель – промышленный сканер. Плюсы этой модели:
- у кладовщика/ комплектовщика свободные руки;
- сканер очень хороший, практически не убиваемый: за время четыре года были безвозвратно утеряны порядка 10 сканеров. И то, когда на них наезжали загруженным погрузчиком или роняли на них ящики;
- вместе с ним можно использовать дешевый китайский смартфон.
Минус – сканер все-таки вышел дорогой, на уровне среднего ТСД. Но заказчика это устроило, и он от этого формата работы отказываться не хочет.
Плюсы и минусы мобильной платформы
По результатам можно назвать плюсы и минусы мобильной платформы.
Для компании франчайзи, которая специализируется на 1С, мобильная платформа – это палочка-выручалочка, когда возникает какая-то задача, связанная с мобильными приложениями. Можно быстро силами своих программистов, относительно легко сделать мобильное приложение для тестирования прототипа. Это очень удобно.
И никаких особых дополнительных затрат, дополнительного ПО никакого не нужно.
Минусы мобильной платформы, наверное, все, кто с ней сталкивался, знают них. Это:
- баги;
- нестабильность работы на некоторых устройствах;
- определенная ограниченность функционала, хотя сейчас он развивается, но на тот момент он был довольно слабым;
- проблемы по организации красивого интерфейса. Но если делать приложение для внутренних целей, не на внешний рынок, то это не минус.
Немного об инфраструктуре
Очень важно, когда ты занимаешься таким проектом, – всегда думать об инфраструктуре: как обновлять эти приложения, как обслуживать, заряжать, ремонтировать, настраивать. Покрытие Wi-Fi надо хорошо организовать. Очень важный аспект, про который обычно все забывают, – это подменный фонд.
Изначально мы не планировали, но оказалось очень важно логирование событий. Когда мы начали запускать проект, пошли ошибки, проблемы по непонятным причинам. Потому что не всегда можно выехать на склад, посмотреть что случилось, подключиться к смартфону тоже не всегда возможно, чтобы увидеть ситуацию. Поэтому мы сделали инструмент логирования, и каждый клик, каждая клавиша на экране, каждое событие от сканера – все логировалось, чтобы потом можно было посмотреть, в чем же проблема. На смартфонах (это связано с Wi-Fi) необходимы инструменты для тестирования скорости связи. Это данные мы тоже добавили в логгирование.
И еще желательно минимизировать разнообразие парка устройств, это связано с нестабильностью работы платформы: на одних устройствах работает так, на других почему-то по-другому. Поэтому желательно минимизировать используемые варианты устройств.
Выводы
Мобильная платформа способна работать больше чем на 500 устройствах одновременно. Это только на складах, а еще есть более тысячи магазинов. Она способна работать, закрывать задачи.
Ее очень быстро можно адаптировать под персонал, под устройство. Стабильность работы зависит от устройства, но если устройство нормальное, все работает без особых проблем. Если необходимо интегрировать с внешним оборудованием, такая возможность существует с помощью android-программистов или внешнего компонента.
В целом вывод такой: мобильная платформа вполне подходит для решения задач автоматизации. Пока у нас нет таких задач, с которыми бы мы на ней не справились.
Вопросы
- Расскажите, пожалуйста, про сканер, что это за модель, как он работает, потому что у нас та же самая проблема и, действительно, с ТСД больше проблем, чем их производительность.
- Мы используем RS6000. Это последняя модель. Очень удобный сканер, надежный, и у него куча функций. Очень хорошо считывает.
- Хочу уточнить, по этому сканеру. Это, я так понимаю, сканер штрих-кодов обычный, просто такая модель?
- Да. Просто форм-фактор специфический,с крепежом на пальце.
- Какова стоимость полученного комплекса – сканера плюс мобильного устройства?
- Я не знаю, за сколько их берет «Вкусвилл», потому что у них крупный заказ и свои условия, но сканер довольно дорогой – порядка 60 тысяч рублей в розницу. Плюс телефон за 5-6 тысяч.
- Вы говорили, что большинство персонала аутсорс, но складской персонал, я так понимаю, все-таки не аутсорс. И большинство работающих с устройствами это все-таки свои люди?
- Там есть свои кладовщики, которые отвечают за приемку, за какие-то наиболее ответственные операции. Но есть и сборщики, комплектовщики – это аутсорс. И свои люди и все аутсорсеры оснащены этими устройствами поголовно. Потому что сейчас там все делается через сканер. В принципе работнику надо отсканировать штрихкод товара или документа, потом на мобильном устройстве нажать кнопки «завершить» и «подтвердить», и по большому счету больше ничего делать на надо.
- Я просто не очень понимаю, как такое количество народу может быть на аутсорсе. У нас часто в России, когда говорят про аутсорс, понимают отдельное юридическое лицо, которое на самом деле обслуживает конкретного заказчика.
- Нет, это вообще сторонние компании, они меняются, «Вкусвилл» привлекает с рынка новых.
- А обучение? Если там больше 300 пользователей?
- Обучение минимальное: приложение сделано так, что даже малограмотный человек может с ним разобраться буквально за час-полтора.
- А масштабировать данное решение на работу непосредственно самих складских фирм, которыми пользуется «Вкусвилл», не думаете? Им же, по идее, это тоже может быть полезно.
- Не знаю. Пока ничего не могу сказать, к нам таких запросов не поступало.
- Был ли у вас опыт разработки приложения, связанного с логистикой, которое считывает определенные заказы и отмечает их доставку – такого, где есть интеграция с навигатором?
- Лично я не делал, но, насколько я помню, у нас было какое-то приложение, связанное с автотранспортом, с логистикой. Но я не делал, нюансов не знаю.
- Меня интересует, можно ли реализовать на мобильной платформе приложение, которое будет работать в филиалах, доставлять товары по городу?
- Да. Я даже видел уже такое. Ко мне приезжал курьер, он отмечал заказ на устройстве. Я не узнавал детали, но было видно, что это сделано на мобильной платформе.
- Ты рассказывал про проекты, которые у тебя были успешны, и те, которые у тебя провалились. А какой первый проект был, когда вы начали внедрять мобильную платформу – успешный или провальный?
- Успешный. Первый проект у нас был мобильное приложение «Розница». Там была задача – облегчить работу мерчендайзеров. Мерчендайзер ездит и проверяет выкладки товаров по магазинам. Это все очень трудоемко, когда много магазинов, и нужен целый штат сотрудников. Заказчик попросил сделать так, чтобы все делалось через телефон. То есть нужно фотографировать выкладки, в офисе их проверят, поставят оценки, тут же дадут обратную связь, что убрать, что поменять. Именно с этого начиналась мобильная разработка на этом проекте. Там конечно, был чудовищные объемы данных,, гигабайты фотографий ходили туда-сюда со всех магазинов.
- Я спросил, потому что часто бывает, что внутри компании хотят внедрить мобильную платформу, назначают какого-то специалиста. Человек пытается, у него что-то не получается, даже в силу того, что он не захотел в чем-то разобраться. Не всегда же виновата мобильная платформа в своих багах, как это было в самом начале. И человек просто опускает руки, говорит, что виновата мобильная платформа, она не работает. Первый проект провальный, и руководителю компании или ответственным лицам дается настрой, что мобильная платформа не работает. И все потому, что первый проект оказался либо неправильно подобранный (то есть он подобран был не под те задачи, на которые рассчитана мобильная платформа), либо специалист неправильно с ней работал. Поэтому я поинтересовался, первый проект был провальным или успешным.
- Первый проект мог быть провален из-за проблем с мобильной платформой, но нам помогла компания 1С. Мы обратились, и нам быстро помогли эти проблемы решить. Поэтому он не стал провальным.
- Какой лучше использовать драйвер?
- Сейчас масса есть вариантов, в том числе, можно создать его самим. Но тогда у нас не было никаких компетенции в Android, мы привлекли программиста, который нам его написал. Мы его используем до сих пор, но я чувствую, что надо его модернизировать.
- У меня вопрос по синхронизации данных. Этих мобильных устройств у работников достаточно много, есть центральная база. Каким образом обмениваются информацией данные устройства? Человек же выполняет работу, это должно регистрироваться, это должны видеть управленцы.
- Тут два потока. Для части данных, таких как логи, идут фоновые обмены с определенной периодичностью. А когда он берет в работу конкретный документ или завершает ее, то данные онлайн идут.
- А что с безопасностью? Вы только что сказали, что у вас идут какие-то фоновые обмены, и что мешает человеку прийти с этим приложением на склад, просто так понажимать на кнопки. Как происходит авторизация пользователя? И как вообще безопасность соблюдается?
- Чтобы кто-то пришел на склад с диверсией, таких ситуаций не было. У нас идет авторизация, каждому сотруднику распечатывают бэйджик со штрих-кодом, он по нему авторизируется, может код набрать руками на устройстве.
- Вы сказали, что нужно хорошее покрытие Wi-Fi, что вы постоянно контролируете связь, скорость связи. А если Wi-Fi все-таки нестабилен, насколько будет онлайн работа с заказом адекватна?
- Если Wi-Fi в каких-то местах нестабилен, человек ищет, где стабильная связь, отмечает, что берет в работу задание. Потом он возвращается, все собирает, и снова возвращается в место со связью и завершает работу. Такой формат.
****************
Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2019.