Найти в Дзене

Базовые элементы Event Storming


В первом посте об Event Storming, я провел опрос, чтобы узнать, насколько вам знаком этот подход к проектированию программного обеспечения. Как оказалось, для большинства из вас он нов, но вызвал искренний интерес, судя по комментариям. Поэтому я продолжу делиться материалами на эту тему.

Одним из ключевых преимуществ Event Storming является его простота: в основе методики всего семь элементов.

1. Событие (Event)
2. Действующее лицо (Actor)
3. Система (System)
4. Команда (Command)
5. Политика / Триггер (Policy)
6. Модель чтения (Read Model)
7. Проблема (Hotspot)

Согласитесь, не так уж много времени понадобится на то, чтобы разобраться и запомнить значение каждого элемента.

⚠️Тем не менее легенду с нотациями стоит всегда размещать на видном месте во время воркшопов. Это поможет участникам любого уровня подготовки быстрее ориентироваться в процессе и сэкономит время, если кто-то забудет значения стикеров.

Удивительно, но даже этого минимального набора достаточно, чтобы описать системы практически любой сложности. Для этого следует придерживаться определенных правил и использовать проверенные эвристики. Например, в зависимости от уровня детализации вам понадобятся разный набор элементов. Так, при описании общей картины (Big Picture) вы будете использовать стикеры Событий, Систем и Акторов. А уже на уровне моделирования процессов (Process Modeling) вам дополнительно понадобятся стикеры Политик, Команд и Моделей чтения.

А мои стикеры можно?

Автор подхода Альберто Брандолини не запрещает использование дополнительных стикеров, понятных только вам и вашей команде. В этом еще раз проявляется гибкость Event Storming. Однако я советую преждевременно не усложнять себе жизнь и воспользоваться преимуществами этого легковесного фреймворка.

Поверьте, семи элементов более чем достаточно. В будущих постах c хештэгом #EventStorming я обязательно это продемонстрирую на конкретных примерах.
1 минута