使用DDD将领域发现转化为产品和组织改进 - Nick


我想在这篇文章中强调的是,我看到很多团队在发现领域后陷入困境,不知道下一步该做什么。这里概述了我使用的一般方法:绘制域图,确定可能的演变,构建故事,如果您试图将 DDD 方法引入您的组织,请使用 DDD Exemplar 。
通常,公司希望将对其产品的改进与对其运营模式和工作方式的改进结合起来。在我的工作中,人们通常希望将 DDD 实践引入他们的工作方式中。我建议运行一个 DDD Exemplar 项目。
DDD Exemplar 是一个项目,理想情况下可以在一个季度内实现,它会导致域的改进和团队构建产品的方式的改进。示例的目标是展示如何在特定组织内应用 DDD。它为其他团队复制和适应奠定了基础。这是团队如何构建产品的概念验证。
(您不必在您的组织中称其为“DDD Exemplar ”,欢迎您使用任何您喜欢的名称。)
 
为什么会在领域发现后陷入瓶颈?
在拥有众多团队和数百万行代码(包括大量遗留问题)的公司中,产品、软件和组织中可以改进的地方无穷无尽。选择关注什么是一个重大决定,错误的选择可能对企业和个人产生重大影响。
一些技术领导者觉得他们没有经验和技能来自信地领导重大技术和组织现代化。他们习惯于以较小的规模进行管理,但公司已经发展壮大,他们已经超出了自己的舒适区。
 
领域情形的演进
领域发现技术(如大图事件风暴)的一个主要目的:是绘制当前的情形上下文状态,捕捉业务流程、社会技术结构等概念以及客户和同事等角色。
您想要对产品组合进行的任何更改,无论是面向内部的还是面向外部的,都将改变您的领域情形。您将投资于一个或多个域,以使其更具差异化或降低运营成本。
在发现域之后,我建议使用核心域图表绘制您的域格局,并探索可能的演变。此活动的目的是将选项可视化,从发现转向行动。
 
DDD Exemplar
下一步是做出投资决策:您应该选择哪一项提议的改进来增加差异化或消除复杂性?
DDDExemplar 是一个项目,它将以一种有意义的方式发展领域格局,同时也通过 DDD 技术提升团队的技能。DDD 范例最重要的方面是它将提供组织模型的基础,如果成功,它可以应用于其他团队。
这是一个域演变的示例,它非常适合 DDD 示例。在业务、技术和组织改进之间取得了良好的平衡。

  • 目前的流程是高度手动的,涉及分散在不同团队中的 20 多人。大图事件风暴可用于绘制当前流程,并有助于在产品、工程和其他学科之间建立持久的协作方法。
  • 未来的自动化流程需要精心设计,而不仅仅是复制现有的手动流程。另一个使用协作 DDD 技术的机会,这次是设计新流程。
  • 该领域有许多错综复杂的挑战,这将为团队提供一个很好的机会来练习和提高他们的软件领域建模技能。
  • 该域是一个支持域,但它是现有和未来核心域的关键推动者。消除操作复杂性将更容易支持核心领域的未来变化。
  • 可以在一个季度内交付有意义的结果,这将使业务利益相关者感到满意——新流程将腾出大量时间并减少支持案例。

如果您喜欢 DDD 中的概念,但不确定它们是如何组合在一起的,那么DDD Starter Modeling Process是我推荐的起点。它可以指导您完成前几个发现、策略和实施周期,然后您将处于一个很好的位置来指导自己。
 
领域故事
建立叙事很重要,至少有两个原因。第一个原因是检查您的计划:您对 DDD 示例的提议是否具有商业意义,还是由您个人对发展最感兴趣的领域的个人兴趣驱动?
第二个原因是你可能需要出售这个想法以获得支持和投资。我见过很多好的想法未能实现,因为它们没有以正确的方式提出。
我的建议是使用 Simon Wardley 的 Strategy Cycle 作为你叙述的基础。
从目的(道、目标)开始,您的组织要实现什么目标?贵公司面临的最重要的挑战或机遇是什么?
我最近采访过的两家公司也面临着类似的挑战:他们在商业模式上做出了重大调整,并正在打造一个新行业。他们已经验证了这个概念并获得了大量资金。在开发新的商业模式的同时,他们还需要扩大组织规模。这是我用来开始叙述的商业环境类型。
叙事的第二部分是景观情形(地利)。为此,您可以使用您创建的当前状态的核心域图表。您需要围绕核心域图表添加详细信息,但该图表可以总结当前和可能的未来状态。
叙事的第三部分是气候(天时)。您的景观如何根据外部压力演变?您的核心领域可能会向左移动,因为您的竞争对手推出了一项新的创新,使您的领域变得过时。
叙述的第四部分是教义(法)。这侧重于您的组织的运作方式。在您对 DDD 示例的叙述中,您可能希望突出某些 DDD 实践中的弱点,例如协作设计,如果组织想要实现其目标,就必须改进这些弱点。
当组织扩大规模时,其工作效率低下的成本会被放大。我包含这类信息是为了强调教义的重要性。
最后一部分是领导力。这是您的核心领域图表和您的提案的可能演变,这可能是 DDD 示例或其他内容。
 
我不主张您按照本文中的每个步骤按顺序执行并提出 DDD 示例。每家公司都有独特的挑战、目标和人员背景,制定良好战略决策的秘诀绝非易事。