战略领域驱动设计五个步骤 - nick


如果您想学习或练习如何将大型企业分解为多个领域并将其用作软件架构和团队组织的基础,nick的个战略性的领域驱动Github项目可能会很有用,它基于使用名为 Delivericious 的虚构业务进行在线外卖订购和交付的行业。您可以在此处找到 Miro图表板。使用上面的链接打开 Miro 板,然后将所有内容复制并粘贴到您自己的 Miro 板上。这一切都是完全免费的:没有任何捐款或咨询服务广告的请求,并且它适用于非付费 Miro 帐户。
 
结构
4 个部分:

  • 第 1 部分:域发现(审查预先准备的事件风暴)
  • 第 2 部分:设计域边界(将事件风暴分成域/子域)
  • 第3部分:选择核心域小号(模拟策略)
  • 第 4 部分:设计域协作(设计端到端流程以识别耦合和验证职责)

您不必执行所有部分,也不必按此顺序执行它们。总的来说,它需要大约 6-8 小时,但它可以很容易地分成 2 或 3 个较小的会话。我建议将第 1 + 2 部分组合成一个会话,然后将第 3 部分和第 4 部分作为单独的会话运行。
设计领域边界是一项跨职能活动,需要业务、产品和技术投入,因此您几乎可以邀请任何人参加这些研讨会。
 
第 1 部分:域发现
研讨会这一部分的目标是让与会者了解他们将在整个 Kata 中使用的业务示例。我提供了关于 Delivericious 的公司简介和准备好的事件风暴,供与会者查看。该模板还包括一个域测验。以小组为单位,与会者需要回顾整个事件风暴并了解业务如何运作才能回答问题,然后让他们开始在第 2 部分中开始设计域边界。
我建议将与会者组织成 4-5 人一组。
 
第 2 部分:设计领域边界
在第 2 部分中,每个组都有自己的事件风暴副本,首先确定关键事件,然后在事件风暴上绘制域边界。
在每项活动之后,对每个小组的解决方案进行简短回顾是讨论替代设计选项的绝佳机会。这是研讨会的关键部分,与会者讨论各种解决方案的权衡,并看到其他小组产生不同的解决方案。我认为如果您想在公司中建立良好的设计文化,这种类型的讨论很重要。
 
第 3 部分:选择核心域
研讨会的第 3 部分通常会产生很多很好的意见和见解。在这部分中,每个组都必须将每个域放在核心域图表上,以确定它是核心、支持还是通用。这些分类是关于确定企业认为可以在哪些方面获得竞争优势。
将每个域放在核心域图表上后,与会者将被要求预测核心域如何随时间变化,以及可能会出现哪些新的核心域。
与大多数研讨会一样,正确或错误的答案很少。重要的是参与者用于选择的理由,以及他们如何分析替代方法的权衡。
 
第 4 部分:设计领域协作
最后一部分是将各个域连接在一起,以便绘制端到端的业务流程。此步骤有助于验证域边界并确信它们作为团队边界和软件边界是有意义的。此步骤使用域消息流建模
在每个小组对特定场景建模后,例如处理订单,接下来就是设计审查会议。设计审查基本上是代码审查,但用于架构。重要的是,这项活动再次讨论了各种设计决策的权衡,并帮助与会者提高他们的分析和设计思维。