进行事件风暴会议的指南

已发表: 2021-07-20

全面了解业务系统是一项艰巨的工作。 它通常涉及高级建模或复杂的过程映射。 这可能是一个技术含量高且费力的过程,涉及大量的反复试验。 创建 BPMN 图或 UML 图对于理解业务的更广泛功能非常有用,但它们本质上是技术性的,可能会排除非技术领域专家。

领域驱动设计

领域驱动设计是一种方法,它建立了一种独立于技术的语言,允许详细了解业务需求和流程。 这允许利益相关者以与语言无关的方式将他们的领域知识传达给团队的其他成员,以形成对系统的共同理解。

什么是事件风暴?

事件风暴是一种基于研讨会的领域驱动设计方法,它将技术和非技术利益相关者聚集在一起以探索复杂的业务领域。 它侧重于在业务流程或业务应用程序的上下文中生成的领域事件。 它通常涉及产品所有者、领域专家和开发人员。

事件风暴方法由 Alberto Brandolini 在 Introducing EventStorming 中介绍和宣传。 它被用作一种快速捕获解决方案设计并提高团队对设计的理解的技术。

事件风暴是小组学习的一种形式,是一种整合开发和产品团队以共同创建替代解决方案的有趣方式。 事件风暴也可能对拥有成熟产品的团队有用,以订购流程并找出瓶颈和冲突领域。

事件风暴会议通常用于:

  • 为项目开发创建商业模式。
  • 了解产品模型的所有复杂性,突出其目标和需求。
  • 可视化产品模型并集思广益替代解决方案。
  • 发现成熟产品的瓶颈和冲突领域。

事件风暴的好处

在构建产品时,开发团队精通产品运行的业务领域非常重要。它允许更清晰的初始分析和更集中的构建。 像事件风暴会议这样的研讨会可以促进业务和产品团队之间的整体合作。

快速:大多数其他业务流程建模技术都是对业务运营的深入研究。 它们涉及使用复杂的数据模型,并且可能需要数周时间才能描绘出准确的画面。 事件风暴是一种快速建模领域驱动设计的方法。 事件风暴通常是一个单日事件,可以在几个小时内映射完整的业务流程。

技术和非技术利益相关者之间的共同理解:与 UML 不同,事件风暴创建了业务流程的表示,无需任何先验技术知识即可轻松理解。

协作:事件风暴的核心概念是鼓励领域专家之间的参与和互动。 它创造了一个引人入胜的环境来创建业务模型并导致发现更有价值的见解。

有效:事件风暴的最大好处是它开始的对话。 团队可以使用在研讨会中获得的知识来为未来的建模流程和构建产品提供信息,或者可以简单地使用事件风暴来更好地理解业务流程并做出更好的决策。

举办活动风暴

要进行事件风暴,您需要将具有特定领域专业知识的各种利益相关者聚集在一起。 这可以在物理位置完成,也可以使用 Creately 等协作白板工具虚拟完成。 它允许您在单个无限画布上远程进行整个会话,并且可以用作利益相关者可以实时交流想法和想法的共享空间。

第 1 步:领域事件

第一步是识别领域事件。 它们是关于业务系统中发生的事情的事实陈述。 参与者集思广益并列出系统中发生的所有触发重要反应的事情。 然后他们将这些事件列为虚拟画布上的彩色注释。 重要的是用过去时来表达这些陈述,以便参与者可以将其框定为“发生了什么”陈述。 当参与者将事件添加到画布时,您可以开始根据事件发生的时间范围来组织它们。

领域事件示例

第 2 步 - 命令

下一步是确定事件发生的原因。 在这个阶段,团队分析触发事件的原因。 虽然事件是关于过去的事实陈述,但命令表达了我们对未来发生某事的意图。 命令通常列在蓝色注释上。 虽然事件被捕获为过去时陈述,但命令被列为现在时意图。 命令可以记录为用户和系统操作。

用于协作域设计的事件风暴模板
事件风暴模板(点击模板在线编辑)

第 3 步 - 聚合

这些是系统中发生的事情,通常发生在一组事件中。 它们是应表示为名词的高阶业务实体。

例如,“订单流程”。 聚合通常由画布上的一组笔记组成。

它由具有相应命令和责任参与者的事件集群表示。 然后可以命名该聚合并将其放置在画布上更大的颜色协调注释上。

第 4 步 - 限界上下文

这是一个高级结构,由将相关实体组合在一起的功能分类组成。 团队开始通过在相关模块周围绘制一个框或圆圈,将模块组合在一个称为有界上下文的元素中。 然后,您可以通过说明有界上下文中的模块如何与其他上下文交互来开始上下文映射。 简而言之,所有相关事件都将落入相同的有界上下文中。 例如,与购物车相关的所有事件都将落入购物车有界上下文中。

有界上下文的事件风暴会话
有界上下文的事件风暴模板(点击模板在线编辑)

举办活动风暴会议的技巧

  • 参与者:成功的活动风暴的关键方面是组织合适的人员。 参与者应由具有跨多个领域的领域专业知识的关键利益相关者组成。 一场有效的事件风暴通常由一小部分利益相关者组成,以确保自由流动的对话和协作环境。
  • 计划会议:为会议设定目标和意图。 这使您可以更专注于会话中应该涉及的内容以及应该忽略的方面。
  • 提前发送说明:让参与者了解练习的重点和对他们的期望。 发送有关密钥是什么以及不同颜色的注释代表什么的说明,以便参与者在进行会话时有一个清晰的理解
  • 以非技术语言进行讨论:确保对话不会因实施细节而陷入困境。 这些对话本质上应该更具概念性,以便每个人都可以参与,无论他们的技术背景如何。
  • 提供示例:展示完整的活动风暴画布很有帮助,这样参与者就知道他们需要做什么。

有举办事件风暴会议的经验吗? 告诉我们关于它。

您以前是否参加过或举办过活动风暴会议,我们很想听听您的经历以及您从中学到的一些知识。 在评论部分让我们知道您的想法。