事件风暴与领域故事的比较


DDD关键是发现有界上下文(bounded context),事件风暴(Event Storming)和领域故事(Domain Story)是两种不同的查找上下文边界方法,他们之间有什么异同?

Eric Evans在他的“领域驱动设计”一书中称他们与领域专家进行了对话,这应该引导软件开发人员更深入地了解这个领域。Evans建议开发一个共享域模型,作为领域专家和IT之间的桥梁,它以无处不在的语言编写并由应用程序代码实现。

近年来,为这些活动建立了两种现代研讨会形式:
1. 阿尔贝托·布兰多利尼(Alberto Brandolini)在2013年展示了他的“Event Storming”,同时风靡全球(双关语);
2. 2016年,Workplace Solutions公司的员工向公众展示了以“Domain Storytelling”为名的利益相关者访谈的内部格式。

这两种格式都有助于为IT专业人员提供对域的深入洞察并开发域的通用可视化模型。然而,这两种格式我想在本文中描述条目的优点和缺点。

什么是领域故事?
早在IT系统或书面记录存在之前,故事就是知识转移和人性传播的一种形式。我们进行了生物学上的改进,以便很好地内化故事。领域故事利用这一事实在域专家或IT系统用户及其开发人员之间建立一种移情的知识转移形式。

在领域故事Workshop中,要求领域专家使用故事作为示例来解释他完成特定工作流程所采取的步骤。各个工作步骤的记录以简单的象形图形式记录。

这些象形图使用符号语言来解释工作流程。此符号语言调用所谓的参与者(例如用户或系统),他们在 所谓的工作对象(例如文档,表单或数据记录)的帮助下执行活动。通过按箭头方向按照所述顺序阅读图表,他们讲述了领域专家的故事。象形图中的名称来自领域语言,因此形成了普遍存在的语言的指示。


然而,与其他流程建模符号相反,仅与系统一起制定单个示例性交互,而不是与所有可能的错误情况的所有可能交互。

什么是事件风暴?
“事件风暴”不是像领域股市那样定义明确的格式,而是一组具有相似性的相关格式。阿尔贝托通常称事件建模为:长长的墙壁(“无限建模空间”),上面贴满即时贴(“无限即时贴”),最后是人的问题以及人们的答案。

最着名的两个焦点是“大图”和“设计级别”:
1. “大图”着眼于从高处开始到结束的完整过程,并识别痛点或上下文短语。
2.  另一方面,在“设计级别”格式中,诸如聚合边界的实现细节是从领域事件导出的。
此外,还有其他格式,专注于用户体验,价值流等。但是,根据我的经验,大图片更频繁地用于领域专家的知识处理。

在格式的开头,每个参与者首先在大规模平行和混乱阶段以“在墙上”的粘滞便笺的形式投射他的主观领域。只有逐步发展的结构和参与者的个人心理模型合并为一个“大局”。


由此产生的结构是即时的,并不必与参与者在研讨会之前想到的模型相对应。领域也在这个紧急阶段用于沿时间线组织事件。领域专家沿着时间轴走过模型并试图通过一个未记录的例子来解释它。关于这些领域的知识仍然被研讨会参与者拒绝。

然而,在大型公司中,这个过程也首次出现在筒仓边界上(我引用了我的一个客户:“最后我明白你在那里做了什么!”)。关于准确性,必要性和其他流程细节,有很多有趣的讨论。Alberto将特别有争议的网站称为“热点”,在研讨会期间无法澄清或解决。在研讨会结束时,这些热点将通过“箭头”或“点投票”进行优先排序,并采取进一步行动。

这可能是特别致命的功能障碍,并且整个系统的瓶颈被曝光。然后可以公开解决这些深刻的系统性问题,并尝试解决方案。在这种形式中使用,事件风暴不仅仅是知识运算的一种形式。它是功能失调的复杂系统的一种治疗形式。

该怎么用?
这两种格式都具有领域焦点和引人注目的图形符号,非常适合与领域专家一起开发无处不在的语言和领域模型。但问题仍然存在,这些格式各自的优势是什么?

事件风暴似乎是一个创新,破坏性和高度不正常的域方法,非常有效地开发新的,突发的结构和观念(Cynefin模型的行家认为:我们在事件从创意的“混沌”域缓缓移动攻坚到“复杂”,我们看到新的解决方案出现)或为所有相关人员制定组织功能障碍。

进一步强攻事件凸显它的许多添加在这篇文章中,变体可用于其它用途,如建模单元,分析UX等的时间记录相当糟糕,被使用。所有这些使得格式非常通用。

相比之下,领域故事明显地以象形图的形式出现在易于理解的工件之前,其中需要书面的过程文档。也许这就是为什么,根据我的经验,接受领域故事更高的原因之一,特别是对于那些在文档繁重的流程中具有强大背景的参与者,而不是在事件风暴中。

这样一个领域故事的工作坊也可以很好地记录下来,从而为后人提供领域知识文档的另一种形式。事件风暴对于录制来说太混乱了,对于没有参与其创作的人来说,结果模型往往是压倒性的。

另一点是在高度分散的团队中适合领域故事,事件风暴不能使用,而领域故事可以通过视频会议系统非常有效实施。

两种格式的共同之处在于它们可以帮助在系统中查找上下文边界。我认为事件风暴在这里更快地导致结果,领域故事会对所有图标进行评估。

咋看着像机器翻译的...