EventStorming в Ecom.tech: как выстроить взаимосвязи и спроектировать архитектуру будущего

Информация о заказчике

Ecom.tech — российская IT-компания, разрабатывающая программные решения для ритейла реального времени. Продукты компании оцифровывают и автоматизируют ключевые этапы цепочки доставки: от управления закупками и логистикой до работы дарксторов, сборки заказов, курьерской доставки и управления промокампаниями.

На решениях Ecom.Tech работают Самокат и Мегамаркет.

Ситуация до старта проекта

Процессинг заказа — это критически важный элемент инфраструктуры компании, который отвечает за координацию всего жизненного цикла заказа: от подтверждения и сборки до доставки и управления статусами. Изначально созданный как монолитная система на стеке 1С, он прошел значительную эволюцию, в результате чего стали заметны архитектурные ограничения текущего решения:

  • Высокая зависимость от сервиса: поскольку сервис был глубоко интегрирован в ключевые бизнес-процессы, обеспечение его бесперебойной работы становилось особенно важным.
  • Низкая гибкость архитектуры: внесение изменений в процессы (таких как добавление нового способа доставки или интеграция с партнером) требовало значительных трудозатрат.
  • Сложность разработки и онбординга: Наличие большого количества взаимосвязей увеличивало сложность освоения системы для новых сотрудников.

«Мы осознали необходимость архитектурного обновления сервиса, — комментирует Анна Тютюнникова, Владелец продукта. — Со стороны технического блока стояла задача уйти от устаревшего стека, а со стороны бизнеса — решить проблемы отказоустойчивости, скорости разработки и интеграции новых сотрудников».

Выбор эффективного подхода

Работа началась с внутреннего анализа текущих процессов. Команда изучила различные подходы к декомпозиции сложных систем и остановила свой выбор на методике Event Storming.

«Мы изучали материалы на профильных площадках и нашли видео воркшопа Сергея Баранова, где он проводил компанию через этот метод. Это помогло команде выровнять понимание, определить основные объекты управления и процессы. Мы поняли, что нам нужен именно такой структурированный подход, и мы пришли конкретно за экспертизой Сергея», — рассказывает Анна.

Решение: Event Storming с участием всех заинтересованных сторон

Первоначально планировалось провести 12 часов работы, однако масштаб предметной области потребовал более глубокой проработки — в итоге сессии заняли около 30 часов. В сессиях приняли участие представители 10 продуктовых команд из разных вертикалей.

«Все эти команды тесно взаимодействовали с нашим сервисом и были мотивированы на улучшения, — отмечает Анна. — Несмотря на высокую загрузку и огромное количество проектов, все подключились очень активно».

На вводной встрече Сергей Баранов познакомил команды с методикой и далее участники начали выстраивать событийную модель:

  • На первых сессиях в режиме мозгового штурма представители разных доменных областей выкладывали на доску стикеры с важными событиями их предметных областей. 
  • Затем они перешли к расширению и углублению модели. К событиям начали добавляться акторы, действия, порождающие эти события, и связи между ними.  
  • На заключительных сессиях работа фокусировалась на глубоком анализе агрегатов. Участники детально разбирали определенные этапы жизненного цикла предметной области: какие данные поступают на входе и что получается на выходе, как разные действия используют одни и те же данные. Это позволило выявить текущие проблемы и наметить возможные пути улучшения системы.

Результаты и ключевые достижения

Проведенная работа позволила глубже понять устройство системы и выстроить целостное представление о ее процессах:

  • Появление четкого видения. Команда получила детальную событийную модель всего жизненного цикла заказа. Благодаря участию представителей разных доменных областей, модель оказалась максимально полной и учитывающей все аспекты: были идентифицированы новые взаимосвязи между событиями, действиями и акторами, а также определены агрегаты и потоки данных.
  • Практический план для итеративных изменений. С учетом большого количества зависимостей команда наметила последовательность изменений, позволяющую постепенно модернизировать архитектуру без остановки текущих бизнес-процессов.

«Самый ценный результат — мы разработали стратегию, позволяющую заложить основу для масштабных изменений будущего уже в рамках текущей архитектуры и развивать ее итерационно, — подводит итог Анна Тютюнникова. — Теперь у нас есть четкий план, как реализовывать улучшения шаг за шагом, сохраняя стабильность системы».

Получить консультацию