SoftwareMill实现领域驱动设计的经验

💡 原文中文,约3300字,阅读约需8分钟。
📝

内容提要

SoftwareMill通过展示项目的方式传播知识和经验,实现领域驱动设计的经验。他们选择设备管理流程作为示例,并采用事件风暴研讨会来深入了解该领域。他们通过远程工作的经验来展示他们的方式。

🔎

延伸解读

保密协议下的知识分享策略

SoftwareMill 的许多客户项目受保密协议保护,无法公开细节。为了传播领域驱动设计经验,他们选择内部熟悉的设备管理流程作为示例。这种做法既遵守了保密义务,又能向社区展示其工作方法,为其他受限于保密协议的公司提供了知识分享的思路。

远程事件风暴的实践调整

传统事件风暴建议在同一房间使用实体便利贴进行,但 SoftwareMill 作为完全远程的公司,采用 Miro 在线协作。他们利用远程经验,将研讨会拆分为多个短会议,避免长时间集中导致注意力下降。这种调整适应了远程工作需求,同时保持了研讨会的效果。

领域选择与参与者安排

选择设备管理流程作为示例,是因为它足够简单便于演示,又超出基本 CRUD 操作,且团队拥有丰富领域知识。研讨会邀请了管理部门中既是用户又是设计者的同事,以及能提出正确问题的开发人员,并由擅长引导的主持人维持秩序。合适的参与者是事件风暴成功的关键。

❓

Q&A

SoftwareMill 为什么启动这个领域驱动设计展示项目?

SoftwareMill 致力于传播领域驱动设计的知识和经验,同时展示他们在远程工作中形成的独特方法。由于许多客户项目受保密协议保护,无法公开细节,他们决定选择一个内部流程作为示例来分享。

他们为什么选择设备管理流程作为示例领域?

设备管理流程是 SoftwareMill 内部完善且拥有丰富领域专业知识的流程,它足够简单可以演示,但又超出了基本的 CRUD 操作,并且大家都或多或少了解这个过程,便于掌握通用语言。

什么是事件风暴研讨会,它在这个项目中起什么作用?

事件风暴研讨会是一种用于探索业务领域、流程和参与者的有效技术。在这个项目中,它有两个目标:一是定义标准并选择要处理的领域,二是组织和开展大局事件风暴会议,以更深入地了解所选领域。

选择事件风暴研讨会参与者时需要注意什么?

需要选择能够回答开发人员或建模人员问题的合适专家,他们可能是流程的执行者、用户、主管或设计者。包括不同观点的人有益,但参与者太多也会导致混乱。在 SoftwareMill 的案例中,他们邀请了管理部门的同事,他们既是设备管理流程的用户又是设计者。

他们如何为远程事件风暴研讨会做准备?

他们向管理专家介绍了事件风暴研讨会形式,解释会议期望和准备事项(如设置 Miro 账户、确保耳机良好)。会议使用 Miro 在线进行,并安排成多个短会议(如 5 小时时段,中间休息),以保持参与者注意力和积极性。

领域驱动设计(DDD)的核心思想是什么?

DDD 强调代码的结构、逻辑和语言与业务领域相匹配,通常用通用语言表达,使软件更相关、直观、适应业务变化。它非常重视领域模型的开发,该模型作为概念框架捕获业务领域的细微差别、操作和规则,并通过开发人员和领域专家之间的协作不断完善。

🏷️

标签

➡️

继续阅读