В начале февраля мы анонсировали конкурс для аналитиков Analyze.ME. Для участия в проекте все желающие могли зарегистрироваться в период с 3 по 23 февраля 2021 года на специальном сайте.
Далее, с 26 по 28 февраля добровольцам нужно было представить решения для предложенных организаторами конкурсных заданий.
В итоге побороться за призовой фонд в 360 000 рублей изъявили желание более 400 участников. 28 февраля из них были определены 12 финалистов. Под катом подробный рассказ о конкурсных задачах и информация о победителях.
Введение
Поскольку соревнование проводили мы, то и задачи были напрямую связаны с нашим бизнесом. В торговой сети «М.Видео-Эльдорадо» свыше 1000 магазинов, в более чем 250 городах. Современные реалии требуют от нас быть ближе к клиентам: повышать скорость оформления заказов и предлагать им удобные и быстрые способы доставки товаров. Для этого требуется менять многочисленные процессы и ИТ-системы.
Пандемия значительно ускорила трансформацию нашей компании. Раньше для внедрения крупной доработки требовалось несколько месяцев. Сейчас мы всё чаще используем итеративный подход, чтобы поставлять сначала MVP, а затем последовательно добавлять какие-то возможности.
Например, когда из-за карантина закрылись все наши магазины, мы буквально за несколько дней запустили MVP экспресс-доставки товаров на такси, а затем итеративно его развивали. Сначала было ручное оформление, затем мы автоматизировали вызов такси, потом начали оптимизировать процесс оформления заказа на сайте. Но некоторые улучшения до сих пор трудно внедрить из-за legacy-технологий на сайте.
К сожалению, мы не можем в одночасье изменить и улучшить все свои системы: в «М.Видео-Эльдорадо» за годы развития накопилось много устаревших систем. Мы это прекрасно понимаем, непрерывно переписываем и обновляем их.
К примеру, сейчас запущены проекты по полному переносу сайта на новый стек технологий. Также мы оптимизируем мобильное приложение, переводя его на Core-сервисы. Но для избавления от legacy требуется немало времени и сил.
Поэтому мы идём двумя путями: внедряем новую функциональность, стремясь к централизации общей логики, разрабатывая слой core-микросервисов, которыми пользуются фронт-системы и постепенно переписываем розничные системы, сайты, CRM-систему и так далее.
Столь длинное вступление понадобилось нам, для объяснения общего контекста представленных на наш конкурс задач.
Первая задача
Сначала — вводные данные.
Клиент заходит на сайт, выбирает товары, кладёт их в корзину, меняя её содержимое как угодно, а потом выбирает удобный способ получения. Сейчас товар можно получить самовывозом, доставкой со склада, быстрой доставкой из магазина или из партнерских пунктов выдачи.
Для каждого исполнителя доставки могут задаваться ограничения по весу и габаритам заказа. Мы стараемся использовать больше пеших курьеров, потому что автотранспорт экологически вреден, хотя в машину может поместиться гораздо больше, чем в рюкзак. Цена доставки может зависеть от ряда параметров.
Например, от стоимости корзины заказа (для более дорогих покупок доставка дешевле или бесплатна) или расстояния до клиента. Если товар есть в наличии поблизости, то это тоже снижает стоимость доставки. На такси мы сейчас можем доставлять только заказы, оплаченные на сайте. Участники могли предложить снять это ограничение.
Выбрав способ получения заказа, покупатель подтверждает заказ. При оплате учитываются скидки и бонусы. В магазине или на складе собирают заказ. Товары по оформленным на сайте заказам должны дождаться своего покупателя, магазины не могут их продать. При этом в магазине товары находятся в двух зонах: на складе и в торговом зале. Ради экологичности и экономии бумаги заказ должен передаваться курьеру без бумажного подтверждения: всяких квитанций, товарных чеков, накладных и прочего.
Курьеры разных компаний могут работать в собственных информационных системах, с которыми можно интегрироваться по API. Покупатель может на сайте или в мобильном приложении посмотреть статус своего заказа. В магазинах есть розничная информационная система — будем считать, что она еще legacy — в которой ведется учет товарных остатков, продаж и так далее.
В каждом магазине есть свой экземпляр этой розничной системы с базой данных, серверными приложениями, приложениями кассиров, кладовщиков и так далее. И есть центральная база данных, в которую через определенные интервалы передаются данные из каждого магазина.
При переработке архитектуры этой системы участники могли выбирать любой способ интеграции. Также у нас есть сервис для расчета заказа с учетом примененных скидок и сервисы, возвращающие мастер-данные по товарам (каталог, наименование, характеристики), цены, промо-акции и так далее.
А теперь перейдём к самой задаче. Участникам предлагалось описать в любой нотации бизнес-процессы оформления заказа от открытия клиентом сайта до получения заказа. Включая действия, которые выполняются без участия клиента.
Задача состояла из двух частей:
- описание процесса и архитектуры системы;
- предложение новых способов получения заказа, чтобы клиентам было еще удобнее.
Участники могли пользоваться любыми открытыми источниками с информацией по ассортименту, расположению наших магазинов, количеству товаров, их габаритам и так далее.
После описания бизнес-процессов на примере какого-нибудь одного способа доставки нужно было описать архитектуру проекта либо составить компонентную диаграмму с интеграционными потоками. Компоненты, не указанные в описании задачи, можно было добавлять по своему усмотрению.
После этого необходимо было выбрать одну из интересных систем, получившихся в архитектуре, и подробнее расписать функциональные (варианты использования, диаграммы активности) и нефункциональные требования к этой системе.
По желанию можно было использовать любые другие диаграммы, например, диаграмму состояний, последовательностей и так далее. Полезно было описать и логическую модель данных для выбранной системы (в любой нотации).
Вторая задача
Вторая задача была предназначена не для бизнес-аналитиков, а для кросс-системных аналитиков. В чём между ними различие? Кросс-системные аналитики — те же самые аналитики, просто они смотрят на задачу под другим углом.
Обычные бизнес-аналитики работают внутри одной системы, то есть аналитик плотно и ежедневно взаимодействует в рамках определенной функциональности или конкретного продукта. А кросс-системные аналитики используются тогда, когда требуется решить задачу, затрагивающую сразу несколько функций внутри «М.Видео — Эльдорадо».
Например, сейчас в стране вводится обязательная маркировка определённых групп товаров. Это коснулось и нашего ассортимента. Внедрять маркировку требуется в двух наших брендах, в шести наших фронтальных решениях. Необходимо доработать бэк-офис, большое количество сервисов, и такого рода задачи берут на себя кросс-системные аналитики.
Таким образом, результатом работы кросс-системного аналитика является не требование к системе, не функциональное или техническое задание, а проектные решения: документы, в которых описано, какая задача решается, какие бизнес-процессы компании подвергаются изменению, как должны протекать эти процессы в разрезе систем.
То есть в какой момент времени, какая операция и в какой системе должна быть выполнена, когда система должна обратиться к другой системе, какие действия сотрудника сопровождают это событие, насколько изменяется процесс относительно текущего.
Вторая задача на соревновании была сформулирована так же, как и первая, но решить её нужно было в виде достаточно подробного описания бизнес-процессов, в виде проектного решения. Нужно было описать предлагаемые процесс и необходимые доработки во всех системах, включенных в выполняемое изменение.
Дополнительно участникам нужно было составить чек-лист для проверки корректности созданной функциональности. В нашей компании это является неотъемлемой частью работы кросс-системного аналитика.
Победители
В соревновании приняли участие 426 человек. До полуфинала дошли 107, а в финале встретились 12 человек, решавших задачу для бизнес-аналитиков, и 6 — решавших задачу для кросс-системных аналитиков.
Все предложенные финалистами решения были очень интересными и выполненными на высоком уровне. Так что выбрать победителей было действительно сложно.
Призёры, решавшие задачу для бизнес-аналитиков:
Третье место с призом в 30 тысяч рублей заняла Элина Семенова. Она описала процесс оформления и исполнения заказа, детально проработал систему управления доставкой.
Второе место с призом в 50 тысяч рублей завоевал Павел Бобров. Он уделил много внимания архитектуре, а также верхнеуровнево описал бизнес-процесс.
И первое место с призом в 100 тысяч рублей жюри единодушно отдало Алексею Никитину. Он подробно описал процесс заказа и доставки товара, на архитектурой схеме предложил свое видение реализации этих процессов. Алексей отлично презентовал результат своей работы, рассказал о целях и проблемах, которые хотел решить.
Алексей Никитин:
— Я участвовал в подобном конкурсе впервые. Не потому, что раньше это было мне не интересно, а потому, что не встречал таких мероприятий. Поэтому, когда увидел объявление, то сразу побежал записываться.
Задачу выбрать было не сложно. Организаторы сделали так, что формулировка бизнес-проблемы была в обоих треках одна и та же, но в треке для кросс-системных аналитиков нужно было описать больше систем, пусть и не так подробно. Поэтому я решил сперва поработать над первой задачей, а потом переключиться на вторую. Задача была интересная, и у меня было несколько идей. Но я решил остановиться на том варианте, который, как мне показалось, мне будет проще объяснить.
В первый день мне удалось описать все процессы, которые хотел. Но на второй день я начал спотыкаться на каких-то мелочах, которые не стыковались, тратил на них время, и в какой-то момент понял, что описал 80 % того, о чём хотел сказать, и отложил ручку в сторону. Качественно описать и оформить вторую задачу я уже никак не успевал, и внутренний перфекционист посоветовал не позориться.
Предложил ли я что-то уникальное? Не думаю. Но я сам не так давно заказывал в «М.Видео» стиральную машину, и должен сказать, что ожидать курьера с 10 до 18 — это плохой опыт. Поэтому мне не нужно было влезать в шкуру клиента, я просто описал, как это было бы удобно для меня.
В голове я держал сценарий Яндекс.Лавки, которая анонсировала в Москве доставку по звонку в течение 15 минут. Но даже там речь не шла о доставке за 15 минут, а лишь о том, чтобы клиенту было удобно, пусть даже с доставкой на следующий день. Думаю, это невозможно масштабировать по всей стране, где клиенты живут не так плотно, поэтому я старался сделать удобно для людей, но не гнаться за минимальным временем доставки.
Призёры, решавшие задачу для кросс-системных аналитиков:
Третье место с призом в 30 тысяч рублей завоевал Павел Оразбаев. Он предложил самое чётко прописанное решение, а в качестве подрядчика по доставке предложена конкретная компания — «Достависта». Было рассчитано, почему она может иметь преимущества перед остальными компаниями. Павел даже предложил, как можно реализовать способ доставки заказов в течение получаса тем покупателям, которые хотят получить свои покупки в конкретный день.
Второе место с призом в 50 тысяч рублей заняла Ксения Алексеева. Ее решение тоже сделано на более высоком уровне в части проработки процессов, в нём использованы разные типы UML-диаграмм.
И первое место с призом в 100 тысяч рублей досталось Михаилу Березовскому. Его решение максимально четко совпадало с критериями приемки задания, спроектировано именно на том уровне, который был задан.
Михаил Березовский:
— Я первый раз участвовал в таком конкурсе, и раньше ничего подобного не встречал. Задачи были очень похожи, и я, можно сказать, «выбирал душой». Вторая показалась сложнее сложная, поэтому её и выбрал.
Сценарий, на мой взгляд, настоящий, не про придумывание «самого красивого космического корабля», а про решение реальной задачи, стоящей перед игроками retail-сектора. Мне это было интересно, так как я больше люблю описывать решения, которые на следующий день можно начать реализовывать.
Постановка задачи позволяла предлагать сложные архитектурные решения или пытаться работать в стиле «бритвы Оккама». Я пытался не впадать в крайности и усложнял только в тех случаях, где это было действительно необходимо.
Я исходил из того, что в моей категории соревнуются специалисты, которые должны предлагать схемы взаимодействия многих систем, поэтому попытался сделать «фичей» саму архитектуру решения. В итоге описал сценарий, который позволил бы компании менять клиентский опыт с минимальным time to market, что, как мне кажется, и сыграло в мою пользу.
Минувшее соревнование стало первым нашим конкурсом для аналитиков. К концу года мы планируем удвоить свой IT-департамент, и приглашаем на работу специалистов не только из России, но и живущих за рубежом. Работаем на удаленке и возвращаться в офисы не планируем, а рабочий ноутбук доставим вам на дом.
Если вы заинтересованы в интересной работе, смелее заходите на сайт или пишите сразу на почту: dmitry.treskunov@mvideo.ru.