事件风暴法

核心观点

事件风暴法通过跨角色工作坊共同发现领域事件,并用命令、策略、聚合和阅读模型组织触发与响应关系;它擅长暴露流程分歧和形成统一语言,但模型质量取决于发散后的收敛逻辑。

事件风暴法是事件建模法的一种具体变体。它先让业务、产品和工程参与者围绕同一业务经过产生事件,再逐步寻找事件的触发源、响应关系以及受到影响的领域概念,使模型在讨论中形成,而不是由技术人员建好后再说服业务方接受。

主要元素

  • 行动者(Actor):发起行为的人或外部系统。
  • 命令(Command):行动者作出的决定或发起的行为;由行动者触发的命令称为 AIC。
  • 事件(Event):业务中已经发生、值得记录的事实。
  • 策略(Policy):对事件作出的业务响应;由策略触发的命令称为 SIC。
  • 聚合(Aggregate):执行命令并维持写入一致性的领域概念集合;探索阶段不必过早细化。
  • 阅读模型(Read Model):为判断、查询、界面或报表提供的信息,其范围可以大于聚合。
  • 系统(System):本轮无需展开内部细节的外部系统。

建模过程

  1. 让参与者通过头脑风暴列出领域事件,并沿业务时间线排列。
  2. 为事件寻找触发它的命令与行动者,区分 AIC 和由策略触发的 SIC。
  3. 寻找事件引发的策略以及后续命令,显式化事件之间的响应关系。
  4. 根据命令和事件识别受到影响的聚合,以及事件之后形成的阅读模型。
  5. 用聚合、阅读模型和事件继续细化领域概念,并回到正常流程、边界和异常场景检验完整性。

适用边界

事件风暴适合需要跨角色共同还原流程、快速暴露语言分歧或为陌生业务建立共同理解的场景。它的发散能力并不自动保证高质量模型:如果缺少明确的收敛依据,事件的合并、过滤和取舍会高度依赖主持人的经验,结果可能具有随机性。

需要稳定收敛时,可以引入四色建模法的现金、KPI 与凭证追溯逻辑;涉及合同、履约和违约时,可以继续使用8X Flow(履约建模法)。这些方法提供的是不同分析约束,不否定事件风暴的共创价值。