Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Event Storming. Удачное пополнение в арсенале методов фасилитации общения о процессе

Event Storming. Удачное пополнение в арсенале методов фасилитации общения о процессе

Выступление на конференции DUMP 21 апреля 2023

Andrew Shapiro

April 21, 2023
Tweet

More Decks by Andrew Shapiro

Other Decks in Design

Transcript

  1. Event Storming.
    удачное пополнение
    в арсенале методов
    фасилитации общения
    о процессе
    Андрей Шапиро, Byndyusoft

    View full-size slide

  2. Андрей Шапиро
    — Методолог, арт-директор в Byndyusoft


    View full-size slide

  3. 1 год 👨🚀👍

    View full-size slide

  4. Почему стоит послушать этот доклад
    — Зажечься❤🔥 методом


    — Расширить арсенал методов сбора требований


    — Получить сравнительную характеристику с другими методами

    View full-size slide

  5. Зачем ещё один метод?
    — Самый простой для донесения метод
    коммуникации о процессе
    в группе любого состава


    — всего 6 элементов языка


    — При этом дающий


    — пластичность


    — двуслойность

    View full-size slide

  6. Автор Event Storming — Альберто Брандолини
    2013 · 2015 · · · · · 2021 · ·
    📙
    📰 🏁
    Статья Публикация книги (Last Edit)
    Хронология появления
    метода в публичном
    пространстве

    View full-size slide

  7. Метод и его конфигурации

    View full-size slide

  8. Три основные конфигурации
    1. Уровень процесса
    с высоты вертолётчика
    2. Уровень процесса
    в деталях
    3. Уровень
    проектирования

    View full-size slide

  9. 1. Уровень процесса
    с высоты вертолётчика

    View full-size slide

  10. 1. Уровень процесса с высоты вертолётчика. Шаблон

    View full-size slide

  11. Легенда по карточкам Event Storming
    — Событие предметной области
    записывается в форме глагола или
    причастия в прошедшем времени:
    отправлен отчёт, получено письмо


    — Хотспот записывается
    на перевёрнутой на 45% карточке
    в произвольной форме констатации
    проблемной ситуации

    View full-size slide

  12. 1. Уровень процесса с высоты вертолётчика. Пример

    View full-size slide

  13. Основные преимущества режима
    — Не требуется подолгу думать над формулировками


    —» легко включить любой коллектив


    —» низкая когнитивная нагрузка


    —» легко «конспектировать» процесс


    —» больше времени на сутевые вопросы


    — При высокой пластичности на выходе всегда есть
    артефакт, описывающий процесс и проблемы в нём

    View full-size slide

  14. 2. Уровень процесса в деталях

    View full-size slide

  15. 2. Уровень процесса в деталях. Шаблон

    View full-size slide

  16. Легенда по карточкам Event Storming
    — Функциональная роль или агент


    — Чаще всего человек, но можно
    расписать деятельность робота или
    сервиса


    — Примеры: продавец, кладовщик, HR,
    агент доставки

    View full-size slide

  17. Легенда по карточкам Event Storming
    — Команды или решения подаются
    агентами или деятелями


    — Могут рассматриваться как сигнал
    в ту или иную внешнюю систему


    — Примеры: Сканировать штрихкод,
    Хочу повышение, Включить свет

    View full-size slide

  18. Легенда по карточкам Event Storming
    — Подсистема или внешняя система


    — Используется как «чёрный ящик»,
    в котором скрыта некая логика


    — На выходе всегда событие


    — Примеры: Apigee, Camunda,
    Amazon S3

    View full-size slide

  19. Легенда по карточкам Event Storming
    — Предъявление данных


    — Можно смотреть на это двояко:


    — как на конкретные данные
    для экранов UI,


    — как на формат данных
    в контрактах API

    View full-size slide

  20. Легенда по карточкам Event Storming
    — Элемент ветвления в схеме.
    Отвечает на вопросы когда или
    при каких условиях


    — Не путать с событием. Политика
    только реагирует на какое-то
    из событий


    — Например: раз в месяц, товара нет,
    есть расхождения

    View full-size slide

  21. 2. Уровень процесса в деталях. Шаблон

    View full-size slide

  22. 2. Уровень процесса в деталях. Пример

    View full-size slide

  23. 2. Уровень процесса в деталях. Пример

    View full-size slide

  24. 3. Уровень проектирования

    View full-size slide

  25. 3. Уровень проектирования. Шаблон

    View full-size slide

  26. 3. Уровень проектирования. Пример

    View full-size slide

  27. 3. Уровень проектирования. Пример

    View full-size slide

  28. «Меню» конфигураций метода

    View full-size slide

  29. «Меню» ситуаций применения метода
    — Общая картина — запуск проекта, стартовая встреча со всеми
    заинтересованными лицами


    — Уровень проектирования — заглубиться в возможную реализацию,
    с применением DDD-CQRS/ES7


    — С упором на ценность — быстрый способ прыгнуть в схематизацию
    потока ценности, используя сторителлинг как платформу


    — С упором на UX — похож на предыдущий, фокусируется на путь
    пользователя/потребителя и преследует цели создания
    бесшовного опыта с максимальным удобством.


    — Для ретроспективы — использует события предметной области
    для компоновки последовательности и расширяет рамку проекта
    с целью поиска возможностей по улучшению


    — Как инструмент обучения — превосходно для максимального
    погружения вновь пришедших сотрудников в процессы компании

    View full-size slide

  30. Границы применимости

    View full-size slide

  31. Зоны уверенного применения Event Storming
    — Поверхностная беседа о процессе


    — Детальная фиксация процесса AS-IS


    — Фиксация ландшафта ИТ-систем с их вкраплениями
    в процесс. Впервые на одной схеме! ❤🔥


    — Синтез будущего процесса TO-BE на детальном уровне
    с элементами решений

    View full-size slide

  32. 💪 Сильные стороны Event Storming
    — Простота: события сильно легче называть, чем точки контакта, операции
    и куски процесса


    — Лаконичность: 6 базовых элементов «процессного языка» — легко ввести всю
    нотацию на глазах у участников


    — Скорость: можно уложиться с цельным процессом за встречу, нет сопротивления
    инструмента как в BPMN/USM


    — Слитность: подмешивание архитектурных решений в схему процесса


    — Конструктивная пластичность: хоть стикерами, хоть квадратиками
    на электронной доске с минимумом правил


    — Гибкий выбор уровня абстрагирования


    — опциональность актора/агента


    — опциональность деталей о реализации

    View full-size slide

  33. 🤕 Слабые стороны Event Storming
    — Не годится


    — для прикрепления артефактов к элементам процесса.
    Лучше подойдут табличный CJM или USM


    — там где нет процесса или нужно описать организованность
    другого типа


    — в качестве исполняемого BPM-инструмента


    — Неявное выделения зон ответственности (дорожек и пулов) — уступает
    BPMN и Service Blueprint


    — Хлопотно втыкать новое событие в поток. Дороже, чем в BPMN — нужно
    переклеивать стикеры или реорганизовать пространство схемы вручную


    — Трудно ориентироваться в развесистой схеме — решается группировкой
    с именованием частей процесса

    View full-size slide

  34. Товар
    добавлен
    в корзину
    Определить
    местопо-
    ложение
    Местопо-
    ложение
    определено
    Страница
    товара
    Служба
    геолокации
    Добавить
    товар
    в корзину
    Изменилось
    количество
    товаров в
    корзине или
    товар удалён
    Изменить
    количество
    товара в
    корзине
    ?
    Местопо-
    ложение не
    определено
    Корзина
    Товар
    закончился
    Отображаем
    количество
    товаров в
    корзине
    Отображаем
    количество
    товаров на
    странице
    товара
    Оформить
    заказ
    Товары
    доступны
    Обновлена
    доступность
    товара, цены
    и сроки
    Выбрать
    адрес и
    способ
    доставки
    Страница
    чекаута
    Авторизо-
    ваться
    Пользователь
    авторизовался
    Пользователь
    не смог Делаем что-то?
    Рассчитаны
    сроки и
    стоимость
    доставки
    заказа
    Нет
    доставки
    по адресу
    Что-то делаем?
    Платёжный
    шлюз
    Оплатить
    заказ
    Заказ
    оплачен
    Ошибка
    оплаты
    Вышло
    время
    оплаты
    заказа
    Политика
    оплаты
    заказа
    Успешно
    опла-
    ченный
    заказ
    Отправить
    заказ в
    DWC
    Интегр
    с DW
    Впервые
    открыл
    сайт
    Политика
    геолокации
    Найти по
    partnumber
    Товар найден у
    одного
    производителя
    Товар
    не
    найден
    Деталь,
    замены,
    аналоги,
    цены сроки
    Нет
    наличия
    Показываем
    товар,
    наличие нет
    Найден у
    нескольких
    производителей
    Не
    найден
    товар
    Маршрутизация
    по брендам
    Карточка
    товара
    Политика:
    оригинал
    / нет
    Похожие
    товары
    Оставляем
    ссылку
    Политика
    редиректа
    Редирект
    на сайт
    (?)
    Редирект
    для страны,
    которая у
    нас есть
    Оставляем
    ссылку
    Выбрать
    страну
    Страна
    выбрана
    Изменить
    количество
    товара на
    странице
    заказа
    Товар
    закончился
    Страница
    чекаута
    Обновлена
    доступность
    товара, цены
    и сроки
    Заказ в
    истории
    Опустошить
    корзину
    Создан
    заказ
    Политика
    создания
    заказа
    Открыть
    платёжный
    шлюз
    Повтороно
    открыл
    сайт
    Политика
    редиректа
    Редирект
    на
    сайт (?)
    Ничего
    не
    делать
    Отправить
    письмо
    Пользователь
    разлогинился
    отложено на 1-м
    ТЛП
    добавлен
    в корзину
    Создан
    тикет по
    заказу
    отложено на 1-м
    Выйти из
    системы
    отложено на 1-м
    Задать
    вопрос
    отложено на 1-м
    Определить
    местопо-
    ложение
    (страна)
    Страна
    определена
    Страница
    товара
    Служба
    геолокации
    Добавить
    розничное
    ТПЛ по товару
    в корзину
    Изменить
    количество
    товара /
    удалить из
    корзины
    Страна
    не определена
    Корзина
    Отображаем
    добавленное
    количество
    товаров на
    странице товара
    Оформить
    заказ (всю
    или часть
    корзины)
    Проверка
    содержания
    корзины
    Обновить
    доступность
    товара, цены
    и сроки
    Выбрать
    адрес и
    способ
    доставки
    розница под переделку
    Страница
    чекаута
    Авторизо-
    ваться
    отложено на 1-м
    Пользователь
    авторизовался
    отложено на 1-м
    Пользователь
    не смог
    отложено на 1-м
    Рассчитаны
    сроки и
    стоимость
    доставки
    заказа
    Нет
    доставки
    по адресу
    Оплатить
    заказ
    через
    шлюз
    Впервые
    открыл
    сайт
    Политика
    геолокации
    Найти по
    partnumber
    Товар найден у
    одного
    производителя
    Товар
    не
    найден
    Карточка
    товара: товар,
    замены,
    аналоги,
    цены сроки
    Нет
    наличия
    Карточка товара:
    нет товара,
    замены, аналоги,
    цены сроки
    Найден у
    нескольких
    производителей
    Не
    найден
    товар
    Маршрутизация
    по брендам
    Карточка
    товара
    Политика:
    оригинал
    / нет
    отложено на 1-м
    Похожие
    товары
    Оставляем
    ссылку
    Политика
    выбора
    страны
    Выбрать
    страну на
    том же
    домене
    Страна
    выбрана
    на том же
    домене
    Оставляем
    страну по
    умолчанию
    Выбрать
    страну
    Страна
    выбрана,
    домен тот
    же
    Страница
    чекаута
    Интеграция
    с чатом
    поддержки
    отложено на 1-м
    Создан
    заказ
    Повторно
    открыл
    сайт
    Политика
    редиректа
    Выбрать
    страну как
    было
    выбрано
    ранее
    Авторизован
    отложено на 1-м
    Авторизоваться
    отложено на 1-м
    Редирект
    на другой
    домен
    Отображена
    разница между
    ранее
    запрошенным
    и доступным
    Запрошено
    оформление
    заказа
    Корзину
    можно
    выкупить
    Корзину
    выкупить
    нельзя
    Корзина
    Обновить
    страницу
    Актуализировали
    сь наличие,
    размер пака,
    цена, стоимость
    доставки
    Изменилось
    количество
    товаров в
    корзине или
    товар удалён
    Обновить
    страницу
    Актуализировали
    сь наличие,
    размер пака,
    цена, стоимость
    доставки
    Невозможно
    доставить,
    введите
    другой
    postal-код
    Проверерено
    содержания
    корзины
    и формы её
    доставки
    Нет
    изменений
    блокирующих
    создание
    заказа
    Изменились
    доступность
    товара, цены или
    сроки,
    невозможно
    выкупить
    Хэй!
    Здесь
    возят опт
    оптовый
    Получен
    прайслист
    оптовый
    Получить
    скидки
    оптовый
    Проценить
    товары по
    списку
    оптовый
    Получить
    предложение
    в форме
    XLS-файла
    оптовый
    Заказы
    Баланс
    оптовый
    Генератор
    товарно-логи
    стиских
    прайс-листов
    оптовый
    Система
    оптовика
    оптовый
    Сгенерировать
    свой прайс,
    получить
    заказы
    оптовый
    Получен
    потоварный
    запрос
    оптовый
    Информатор
    о скидках
    оптовый
    Мультиподбор
    торгово-логисти
    ческих
    предложений по
    списку
    оптовый
    Перечень
    товаров
    добавлен в
    корзину
    оптовый
    Вы можете
    Добавить
    ТЛП из
    перечня
    в корзину
    оптовый
    Выбрать
    другое
    направление
    доставки
    оптовый
    Перегруппировка с
    пересчётом
    стоимости и сроков
    доставки по
    новому маршрута
    оптовый
    Направление
    изменено
    оптовый
    Корзина
    с группировкой
    по направлениям и
    сроками
    оптовый
    Указать
    биллинг
    адрес
    оптовый
    Описать или
    выбрать
    получателя
    оптовый
    При разных получателях
    расщепить чекаут по
    группам
    оптовый
    Оплатить
    с баланса
    оптовый
    Страница
    чекаута
    Не хватает
    денег на
    балансе
    оптовый
    Изменить
    тип
    упаковки
    оптовый
    Стоимость
    доставки
    изменена
    оптовый
    Пересчёт
    стоимости и
    сроков
    доставки
    оптовый
    Проценить
    Принципы
    Получен
    перечень ТПЛ
    для исполнения
    заказа
    оптовый
    Оформить
    заказ
    через API
    оптовый
    API/
    веб?
    оптовый
    Получен
    перечень ТПЛ
    для
    запрошенных
    товаров
    оптовый
    Веб
    API
    Недостаточно
    средств на
    балансе
    Пополнить
    баланс
    оптовый
    Баланс
    пополнен
    Пополнить
    баланс
    оптовый
    Виджет
    чата
    поддержки
    отложено на 1-м
    Поддержка
    Авторизация
    Мультипроценка и API
    Поиск
    Идентификация страны/ витрины
    Чекаут
    Без и с группировкой
    названиями (под чертой)
    частей процесса

    View full-size slide

  35. Что дальше?

    Что можно сделать уже завтра

    View full-size slide

  36. Как начать?
    Сделайте Event Storming
    в следующий раз, когда вам нужно
    будет верхнеуровнево
    снять процесс.

    View full-size slide

  37. Материалы
    по Event Storming
    — Наш шаблон в Миро


    — Статьи про уровни:
    Process Level, Design Level


    — Книга Альберто Брандолини
    bit.ly/es-dump

    View full-size slide

  38. Event Storming.
    удачное пополнение
    в арсенале методов
    фасилитации общения
    о процессе
    Андрей Шапиро, Byndyusoft


    [email protected]


    @ashapiro в ТГ
    Спасибо за внимание!
    Проголосуйте,
    если доклад
    вам понравился

    View full-size slide