事件风暴法
核心观点
事件风暴法通过跨角色工作坊共同发现领域事件,并用命令、策略、聚合和阅读模型组织触发与响应关系;它擅长暴露流程分歧和形成统一语言,但模型质量取决于发散后的收敛逻辑。
事件风暴法是事件建模法的一种具体变体。它先让业务、产品和工程参与者围绕同一业务经过产生事件,再逐步寻找事件的触发源、响应关系以及受到影响的领域概念,使模型在讨论中形成,而不是由技术人员建好后再说服业务方接受。
主要元素
- 行动者(Actor):发起行为的人或外部系统。
- 命令(Command):行动者作出的决定或发起的行为;由行动者触发的命令称为 AIC。
- 事件(Event):业务中已经发生、值得记录的事实。
- 策略(Policy):对事件作出的业务响应;由策略触发的命令称为 SIC。
- 聚合(Aggregate):执行命令并维持写入一致性的领域概念集合;探索阶段不必过早细化。
- 阅读模型(Read Model):为判断、查询、界面或报表提供的信息,其范围可以大于聚合。
- 系统(System):本轮无需展开内部细节的外部系统。
建模过程
- 让参与者通过头脑风暴列出领域事件,并沿业务时间线排列。
- 为事件寻找触发它的命令与行动者,区分 AIC 和由策略触发的 SIC。
- 寻找事件引发的策略以及后续命令,显式化事件之间的响应关系。
- 根据命令和事件识别受到影响的聚合,以及事件之后形成的阅读模型。
- 用聚合、阅读模型和事件继续细化领域概念,并回到正常流程、边界和异常场景检验完整性。
适用边界
事件风暴适合需要跨角色共同还原流程、快速暴露语言分歧或为陌生业务建立共同理解的场景。它的发散能力并不自动保证高质量模型:如果缺少明确的收敛依据,事件的合并、过滤和取舍会高度依赖主持人的经验,结果可能具有随机性。
需要稳定收敛时,可以引入四色建模法的现金、KPI 与凭证追溯逻辑;涉及合同、履约和违约时,可以继续使用8X Flow(履约建模法)。这些方法提供的是不同分析约束,不否定事件风暴的共创价值。