EventStorming是超越孤岛边界进行协作的最明智的方法。EventStorming的力量来自于一个多元的,多学科的人群,他们在一起拥有很多智慧和知识。虽然最初是为研讨会设计的,以模拟领域驱动的设计集合,但现在它的应用范围更广。从获得整个领域的全局问题空间到深入了解整个软件交付流程并制定长期计划。这些研讨会中的每一个都有相同的基本要求和需求。
在这里,您会发现有关EventStorming核心概念的术语表的组合,这些术语表以一致而全面的术语表记录下来。只是要确保尽量避免使用行话,因为这会造成不必要的内部人员-外部人员区别。还有备忘单,您可以使用它简化自己的EventStorming。
核心概念
- 领域事件:域事件是EventStorming的主要概念。这是一个与领域专家相关的事件,与正在探索的领域相关。域事件是过去式的动词。EventStorming的官方颜色是橙色。
- 热点:热点用于可视化和捕获热冲突。由(语言上的)不一致,摩擦,问题,异议,异议,问题或拖延进行深入探讨而引起的冲突,但不仅限于此。EventStorming的官方颜色是霓虹粉,使用时我们也会稍微旋转一个热点。
- 时间线:EventStorming是一个功能强大的工具,当我们有故事要讲时,有时间轴时就可以使用。墙上的纸卷代表从左到右的时间。我们可以在纸卷上从上到下有并行流。
- 混沌探索:可以在EventStorming开始时使用混沌探索。每个人都自己写一个可以思考的Domain Events。他们会将这些域事件按顺序排列在纸上。
强制执行时间轴:A阶段是在混乱探索之后发生的,这意味着我们试图使时间轴保持一致并删除重复的粘性。
事件建模宏观图
Big Picture EventStorming的目标是评估现有业务范围的运行状况或探索新启动业务模型的可行性。它可以帮助团队针对公司的这一领域建立共同的心态。我们可以将输出用作Conway的法律法规的输入,在具有突发性有界上下文的团队和软件周围组织业务流程。您可以在一卷纸上与10至30多人一起进行这些研讨会。
- 机会:因为热点可能具有负面关联,所以我们也为人们提供了增加机会的机会。我们使用绿色是因为绿色具有积极的色彩。在制定了一致的时间表后,开始使用机会。
- 演员/代理人:演员或代理人是一组(一组)域事件中涉及的一群人,一个部门,一个团队或一个特定的人。官方使用的颜色是黄色的小纸条。
- 系统:系统是可部署的IT系统,用作域中问题的解决方案。完成时间线的一致性后,我们可以开始围绕“域事件”映射系统。也可以有重复项,从使用Excell到某种微服务,可以是任何东西。官方颜色是宽粉红色的便条纸。
- 价值:我们可以使时间线保持一致,就像在业务价值流程图中添加价值一样。我们这样做是为了明确价值在我们域中的位置。我们使用红色和绿色的小贴纸显示正值和负值。
- 关键事件:借助Pivotal Events,我们开始寻找流程中几个最重要的事件。对于电子商务网站,它们可能看起来像“添加到目录中的文章”,“已下订单”,“已发货订单”,“已收付款”和“已交付订单”。这些通常是最感兴趣的人参加的活动。
- 泳道:将整个流程分成水平泳道,分配给指定的演员或部门,是另一个诱人的选择,因为它提高了可读性。对于具有流程建模背景的人来说,这似乎是最明显的选择。
事件风暴流程建模
流程建模EventStorming的目标是评估公司当前流程的运行状况。它可以帮助团队针对流程的当前状态创建一种共同的心态,查找瓶颈并查找系统的各个部分以使现有软件脱钩。
- 策略本质上是一种反应,说“每当X发生时,我们就执行Y”。最终以域事件和命令/动作之间的流结束。策略可以是自动过程或手动。也可以将策略命名为反应堆,最终业务约束或规则或谎言检测器,因为策略总是比您最初想的要多。
- 命令/动作代表决策,动作或意图。它们可以由参与者发起,也可以由自动化过程发起。通常在事件存储过程中,与利益相关者相比,“行动”一词首先要好于命令。我们正式为其使用了蓝色的便利贴。
- 查询模型/信息为了做出决策者可能需要信息的决策,我们在查询模型中捕获了这些信息。对于流程而言,利益相关者可能会更了解EventStorming信息。我们正式使用绿色的便利贴来表示查询模型。
设计事件存储
设计级别EventStorming的结果是设计干净且可维护的事件驱动软件,以支持快速发展的业务。我们与业务利益相关者一起设计一种共享语言,并以一种共享模型来表示该语言,从而在有限的上下文中为解决问题带来价值。
- 聚合/一致的业务规则聚合是一种域驱动的设计模式,该模式表示域对象的群集以使无效状态无法表示。我们使用黄色的大便利贴来表示它。因为我们要避免与利益相关者一起使用DDD行话,所以我们也可以改用一致的业务规则或约束。
便利化
对于有效的EventStorming研讨会,您需要一个专门的主持人。
作为主持人:
- 您希望扮演一个中立的角色,以便您可以缩短长时间的讨论,并通过热点将其可视化。
- 您需要权衡何时进行干预以及何时进行讨论。
- 您总是第一个离开房间,最后一个离开房间,因此您可以正确设置房间,然后与他人交谈。
- 您的工作是为小组提供便利,并向他们提供有关小组互动的反馈和见解,以便他们可以决定要做什么。例如,当您看到多个人在看他们的电话时,您可以告诉“我看到,通过看他们的电话,该小组中的一部分人分心了活动”。
- 您必须观察并让小组确定他们的需求,但是有时您需要为小组不能满足的时候做出决定。
会议流程
签到:我总是以所谓的“签到”开始一个研讨会。参加研讨会的身体和心理上都至关重要。因此,在办理登机手续时,向与会者询问有关其进展情况的问题。就像周末过得怎么样,感觉如何,。总是首先以主持人的身份签入,并通过分享足够多的榜样作为榜样。然后,让小组中的参与者自己决定何时签入爆米花风格!当每个人都做完之后,重要的是总结并总结您所听到的与会人员所说的内容。
协议书:由于我们的会议室里挤满了不同观点的人,因此就研讨会期间的合作方式达成一些协议至关重要。我们希望通过将其写在活动挂图上并将其粘贴在墙上来使其明确,以便您作为主持人可以明确地指向这些内容。我撰写并讨论了深度民主组织的以下三个协议:
- 每个人都是对的。没有人能垄断真理。
- 我们开始对话以加深我们的关系。
- 我们愿意一起学习。
在您可以与与会者讨论是否自己有规则之后,他们想添加规则,并在需要添加时与他们讨论。
事件风暴:现在是时候介绍一下EventStorming了。我通常向人们讲一个微型故事,解释为什么经典的协作形式对我不起作用,以及为什么EventStorming与众不同。这些都是个人的,我建议您自己弄清楚这个故事。说明图例中域事件的基础知识。
步骤1:混沌探索首先,要求人们编写自己知道的领域事件。在这里,人们必须自己工作,以免彼此偏见。另外,请尽量避免在此时回答问题。告诉他们他们可以将自己的领域事件以他们认为正确的方式写在纸上。我们希望他们在纸上发表看法。请勿急于进行此操作;这是整个EventStorming的重要部分。当人们开始使用自己的领域事件时,他们可以开始阅读彼此的事件,但要确保他们不要开始大声讨论它们。它可以使别人偏见或仓促行事。
第2步:强制执行时间轴在确定每个人都将其域事件记录在纸上之后,我们可以开始执行时间轴了。这意味着要求与会者:
- 开始讨论这些事件,我现在希望有很多喧嚣和混乱。
- 删除重复事件,让他们讨论它们是否真的是重复事件,对于不同的概念,它可能是相同的语言。
- 在正确的时间轴上排列所有事件。
- 在需要时使用胶带添加结构,但要过早添加结构。这样做可能会丢失有价值的见解。
第3步:热点在第2步中,我们将在几种看法之间产生很多冲突,这很好。摆脱冲突,我们成长并获得新见解。但是,为了能够处理这些冲突,我们在存在冲突的地方添加了一个粉红色的粘纸。我们称这些热点。热点还可能意味着痛点或无法回答的问题。作为协调员,您在此阶段添加热点。
第4步:在需要时添加概念每当弹出另一个EventStorming概念时,我们都会将它们添加到图例中并将其介绍给组。可以解释“几乎”所有内容的图片是可以添加的概念:
退出:像签到一样,我们也想以签到结束研讨会。与所有人围成一圈,问他们对研讨会的想法。人们可以跨入圈子,发表声明,如果其他人同意,他们也可以跨入圈子。当您确定每个人都完成后,宣布完成退出。
点击标题见github上更新内容