EventStorming术语表与速查表
EventStorming是跨越部门界限进行协作的最智能方法。EventStorming的力量来自于一群多学科背景的人,他们共同拥有丰富的智慧和知识。虽然最初是为建模领域驱动设计聚合而发明的研讨会,但现在它有了更广泛的应用。从获得整个领域的大局问题空间,到深入了解整个软件交付流程并制定长期计划。这些研讨会都有相同的基本要求和需求。
在这里,你会找到EventStorming核心概念的术语表,以一致和全面的方式写成。请尽量避免使用行话,因为它会造成不必要的内部人-外部人区分。还有一份速查表,可以用于主持你自己的EventStorming活动。
术语表
核心概念
领域事件 领域事件是EventStorming的主要概念。它是与领域专家相关且对所探索领域有意义的事件。领域事件是过去时态的动词。EventStorming的官方颜色是橙色。
热点 热点用于可视化和捕捉热点冲突。这些冲突由(但不限于)不一致(语言上的)、摩擦、问题、异议、反对意见、问题或推迟深入探讨等原因引起。EventStorming的官方颜色是霓虹粉,使用时我们还会稍微倾斜热点。
时间线 当我们有故事要讲、有时间线时,EventStorming是一个强大的工具。墙上的纸卷从左到右代表时间。我们可以在纸卷上从上到下有平行的流。
混沌探索
混沌探索可以在EventStorming开始时使用。每个人独自写下他们能想到的领域事件。他们会按照认为事件发生的顺序把这些领域事件放在纸卷上。
强化时间线
混沌探索之后的一个阶段,意味着我们试图使时间线一致并移除重复的便签。
全景EventStorming
全景EventStorming的目标是评估现有业务线的健康状况或探索新创业商业模式的可行性。它帮助团队就公司该领域的愿景创建共同的思维状态。我们可以将输出用作康威定律对齐的输入,围绕团队和软件组织业务流程,形成新兴的限界上下文。你可以在一个纸卷上与10-30多人进行这些研讨会。
机会
因为热点可能有负面联想,我们也给人们机会添加机会。我们使用绿色,因为它与积极的事物有关联。在我们使时间线一致后开始使用机会。
参与者/代理
参与者或代理是一群人、一个部门、一个团队或围绕(一组)领域事件的特定人。官方使用的颜色是小黄色便签。
系统
系统是用作领域问题解决方案的可部署IT系统。当我们完成时间线一致性后,我们可以开始在领域事件周围映射系统。也可能有重复,它可以是从使用Excel到某些微服务的任何东西。官方颜色是宽粉色便签。
价值
我们可以像在价值流图中那样添加价值,在使时间线一致后进行。我们这样做是为了明确我们领域中的价值所在。我们使用红色和绿色小便签来显示正面和负面价值。
关键事件
通过关键事件,我们开始寻找流程中几个最重要的事件。对于电子商务网站,它们可能看起来像"文章添加到目录"、"下单"、"订单发货"、"收到付款"和"订单交付"。这些通常是最多人感兴趣的事件。
来源: https://leanpub.com/ddd_first_15_years – 通过EventStorming发现限界上下文 — Alberto Brandolini
泳道
将整个流程分成水平泳道,分配给给定的参与者或部门,是另一个诱人的选择,因为它提高了可读性。对于有流程建模背景的人来说,这似乎是最明显的选择。
来源: https://leanpub.com/ddd_first_15_years – 通过EventStorming发现限界上下文 — Alberto Brandolini
新兴限界上下文
从全景EventStorming中,我们可以描绘新兴限界上下文。它们是开始深入探讨围绕业务问题设计限界上下文的首要指标。
来源: https://leanpub.com/ddd_first_15_years – 通过EventStorming发现限界上下文 — Alberto Brandolini
流程建模EventStorming
流程建模EventStorming的目标是评估公司当前流程的健康状况。它帮助团队创建对流程现状的共同思维状态,找出瓶颈并识别需要从现有软件中解耦的系统部分。
来源: https://leanpub.com/introducing_eventstorming
政策
政策是一种反应,表示"每当发生X,我们就做Y",最终在领域事件和命令/动作之间的流程中结束。我们使用大的淡紫色便签表示。政策可以是自动化流程或手动流程。政策也可以被称为反应器、最终业务约束或规则,或谎言检测器,因为政策总是比你最初想象的更复杂。
命令/动作
代表决策、动作或意图。它们可以由参与者发起或来自自动化流程。在流程EventStorming期间,通常"动作"一词比命令更容易被利益相关者理解,因为它更容易掌握。我们官方使用蓝色便签表示。
查询模型/信息
为了做出决策,参与者可能需要信息,我们将这些信息捕捉在查询模型中。对于流程EventStorming,信息可能更容易被利益相关者识别。我们官方使用绿色便签表示查询模型。
强制颜色编码
强制颜色编码是按规则进行EventStorming。通常在强制时间线期间或之后使用,它创造了不同的动态。下面你可以看到颜色编码以及它们在时间线流程中的使用方式。
软件设计EventStorming
设计级EventStorming的成果是设计干净且可维护的事件驱动软件,以支持快速发展的业务。我们与业务利益相关者一起设计共享语言,并将其表示在共享模型中,为解决限界上下文内的问题带来价值。
约束
约束是我们在问题空间中执行命令/动作时所拥有或需要设计的限制,另一个词可能是一致的业务约束或规则。官方使用的颜色是大黄色便签。它以前被称为聚合,现在在EventStorming中是一个正式的遗留词,因为我们更喜欢不与业务利益相关者使用聚合一词。
备忘单
准备工作
邀请
邀请对于成功举办研讨会至关重要。你要邀请所有能带来知识和需要知识的人,通常是领域专家和工程师。你要添加关于研讨会目标以及什么是事件风暴的信息。我总是向与会者发送 Alberto Brandolini 的视频《50,000张橙色便利贴之后》,以及 eventstorming.com 的资源页面。
材料
没有合适的材料是非常烦人的,所以你要确保准备好所有需要的东西。我在这里写了一篇博文,去看看吧!
房间布置
最好的图片仍然是 leanpub 上《事件风暴》一书中的那张。基本思路是有一个6-8米长的建模表面,一张用于放置材料的桌子,以及一个人们可以看到的可见图例。我们不希望看到任何座位。此外,你最好选择可以打开窗户的房间,这样可以让新鲜空气进入房间,并且放一些食物或糖果。
来源: https://leanpub.com/introducing_eventstorming
引导
为了举办一场有效的事件风暴研讨会,你需要一位专门的引导者。
作为引导者:
- 你要保持中立角色,这样你可以缩短冗长的讨论并用热点来可视化它们。
- 你需要找到平衡,知道何时介入以及何时让讨论自由流动。
- 你总是第一个进入房间,最后一个离开,这样你可以正确布置房间并在之后与人交谈。
- 你的工作是引导小组并给他们关于小组互动的反馈和见解,让他们决定要做什么。例如,当你看到多人看手机时,你可以说"我看到部分小组成员因看手机而分心了"。
- 你必须观察并让小组自己弄清楚他们的需求,但有时当小组无法决定时你需要为他们做决定。
研讨会流程
签到
我总是以所谓的签到开始研讨会。在身体和精神上出席研讨会是至关重要的。所以在签到时,问与会者一些关于他们近况的问题。比如他们的周末如何,他们感觉如何,他们今天希望从研讨会中得到什么。你一定不要讨论任何与研讨会或工作相关的故事。作为引导者,总是先签到并以身作则分享适量信息。之后,让小组成员自己决定何时以爆米花式签到!当每个人都完成后,作为引导者,总结你听到参与者说的内容很重要。
协议
因为我们有一屋子不同观点的人,所以就如何在研讨会期间合作达成一些协议是至关重要的。我们要通过在白板上写下这些并贴在墙上来明确表达,这样你作为引导者可以明确指出这些。我写下并讨论以下三个来自深度民主的协议:
- 每个人都是对的;没有人垄断真理。
- 我们开始对话是为了加深我们的关系。
- 我们愿意一起学习。
之后你可以与与会者讨论他们自己是否有想要添加的规则,并与他们讨论是否需要添加这些规则。
事件风暴
现在是时候介绍事件风暴了。我通常会给人们讲一个微型故事,解释为什么传统的协作形式对我不起作用,以及为什么事件风暴是不同的。这些都是个人的,我建议你为自己想出这样一个故事。在图例上解释什么是领域事件的基础知识。
来源: https://leanpub.com/introducing_eventstorming
第1步:混乱探索 首先让人们为自己写下他们知道的领域事件。在这里,人们必须独立工作,这样我们就不会相互影响。同时,尽量避免在这个时候回答问题。告诉他们,他们可以按照自己认为正确的方式将领域事件放在纸上。我们想要他们的看法出现在纸上。不要急于完成这一部分;这是整个事件风暴中最重要的部分。当人们开始放置他们的领域事件时,他们可以开始阅读彼此的事件,但要确保他们不会大声讨论;这可能会影响或催促其他人。
来源: https://leanpub.com/introducing_eventstorming
第2步:强制时间线 确定每个人都完成了将领域事件放在纸上后,我们可以开始强制执行时间线。这意味着要求与会者:
- 开始讨论事件,我预计现在会有很多噪音和混乱。
- 移除重复的事件,让他们讨论这些是否真的是重复的事件,可能是相同的语言用于不同的概念。
- 按正确的时间线排序所有事件。
- 在需要时用胶带添加结构,但要小心过早添加结构。这样做可能会失去宝贵的见解。
第3步:热点 在第2步期间,我们会遇到许多不同看法之间的冲突,这很好。通过冲突我们成长并获得新的见解。然而,为了能够管理这些冲突,我们在有冲突的地方添加一个粉红色的便利贴。我们称这些为热点。热点也可能意味着痛点或未回答的问题。作为引导者,你在这个阶段添加热点。
第4步:在需要时添加概念 每当出现另一个事件风暴概念时,我们将其添加到图例中并向小组介绍。解释"几乎"所有内容的图片是你可以添加的概念:
签退
就像签到一样,我们也希望以签退结束研讨会。与每个人站成一圈,问他们对研讨会的看法。人们可以走进圈子,发表声明,如果其他人同意,他们就和他们一起走进圈子。当你确定每个人都完成后结束。
请记住,Alberto 将事件风暴比作披萨。纸卷和领域事件是你披萨的基础,面团,但你可以按照自己喜欢的方式在上面放配料(只要不是菠萝😉)。
来源
- EventStorming.com
- Leanpub: 介绍事件风暴
- Leanpub: DDD 前15年 – 用事件风暴发现限界上下文 — Alberto Brandolini
- Alberto Brandolini
贡献者
感谢所有现有和未来的贡献者以及以下为事件风暴词汇表和备忘单做出贡献的个人:
贡献和反馈
事件风暴词汇表和备忘单可供你免费使用。此外,我们欢迎你的反馈和想法来改进这项技术或创建替代版本。
如果你有问题,可以联系我们或开一个Issue。
也欢迎你向我们发送带有你的示例或经验报告的拉取请求。
本作品采用知识共享署名4.0国际许可协议进行许可。