EventStorming 由 Alberto Brandolini 于 2013 年推出,继承自 DDD(领域驱动设计),是一个协作软件设计研讨会,旨在打破组织部门之间的孤岛,帮助人们达成对业务流程的共同理解。EventStorming 可以帮助您揭露任何组织或系统的不一致之处,并帮助人们确定需要改进的领域。
直观地描述业务流程,同时寻求参与者之间的共识,以促进组织内的决策。通过使理解所有系统组件成为可能,EventStorming 可以帮助参与者以明智的方式做出明智的决策,可能是结构化的和决定性的。
事件风暴通常首先描述给定域内发生的事件,对该域与外部系统之间可能的交互进行建模,然后识别摩擦点和风险。之后,您应该更精确地定义可以触发这些事件的操作(或命令)以及相关决策所涉及的参与者(角色)。
然后,您应该描述表征业务逻辑的策略。它包含由命令触发并产生事件的处理块以及事件本身之间的因果逻辑。EventStorming 的另一个重要目标是了解领域概念或对象并创建与领域专家共享的语言。
最后,研讨会可以通过起草必要的视图(读取模型)来设计界面,以通知相关参与者的决策,这些视图可能是屏幕、文档或报告。
EventStorming 的不同用途
根据所需目的,有多种 EventStorming:
- Big Picture EventStorming非常适合启动项目;
- 设计级事件风暴提供有关如何实施系统的输入;
- 价值驱动的事件风暴是一种根据事件的故事来绘制价值链的方法;
- UX-Driven EventStorming专注于用户旅程,以提供最佳体验;
- EventStorming作为回顾性研讨会,利用事件链作为寻找机会的方式;
- EventStorming作为一种学习工具,可以帮助新团队成员更好地了解他们将参与的系统。
参与者的组成取决于研讨会的目的。例如,大局事件风暴通常涉及领域专家、开发团队的代表,可能还包括架构师。相比之下,设计级事件风暴不一定涉及领域专家。
EventStorming 有哪些组件?
EventStorming 使用精确的颜色代码。由于系统的表示很快就会变得相对复杂和广泛,因此强烈建议遵守此代码。这将帮助您保持工件易于理解:
- 橙色便签用于与域相关的事件。这些事件表示域对象上发生的状态更改。它们必须使用业务对象的名称后跟过去分词动词来命名。
- 浅黄色矩形(或正方形)便签可用于识别领域概念或对象。它们对于更好地可视化过程很有用。
- 为了识别事件链中的问题和机会,使用两种颜色:
- 深绿色便利贴突出了可能的机会;
- 深紫色便签表示可能的摩擦点或已识别的风险。最敏感的问题,即必须优先处理的问题,可通过将粘性部件旋转 90°(形成菱形)来区分。
- 粉色矩形(或正方形)便签代表触发某些事件所涉及的外部系统。
- 蓝色便签描述了用户在系统上的操作(或命令)。它们通常与深黄色便签相关联,该便签指定了命令所涉及的角色。
- 浅绿色即时贴表示必须提供给用户以帮助他们决定命令的视图。您可以将线框图与它们关联起来。视图也可以是系统生成的文档或报告。更一般地说,它是向用户或涉及的其他系统展示业务模型的状态。
- 淡紫色矩形(或正方形)便签用于描述导致事件发生或由事件发生引起的任何规则(政策)。
如何举办 EventStorming 研讨会
步骤 1:研讨会的第一步是定义构成系统的不同事件(橙色便签)并按时间顺序对它们进行排序。
步骤 2:然后,您应该确定流程每个阶段可能出现的问题(紫色便签)和机会(绿色便签)。此步骤至关重要,因为它会影响您接下来要关注的系统部分。
步骤 3:您现在可以通过识别角色(黄色便签)、命令(蓝色便签)和外部系统(粉色矩形便签)来更详细地描述系统。
步骤 4:然后,您应该描述可以限制某些事件发生的规则(淡紫色矩形便签)以及必须提供给用户以帮助他们做出决定的信息(绿色便签)。
步骤 5:为了使流程更易于理解,您可以围绕某个领域或业务概念聚合多个事件(浅黄色矩形便签)。