DDDDDD

记一次事件风暴工作坊实践&总结

2019-11-10  本文已影响0人  rhuanhuan

起因:

项目遇到的问题?
随着团队&项目的发展,团队的业务复杂度增加。

对于上述问题,期望通过领域驱动设计的方式:

人员:

项目中的主要业务&技术成员:包括PM, PO,BA, UX,TL, DEV,QA
(基于团队对行业的理解,并未邀请专门的领域专家)

主要产出物:

准备阶段:

电梯演讲模板:
For (Target User)
Who (Statement of needs or opportunity)
The (Product/Service name)
Is a (Product/Service category)
That (Statement of benefit)
Unlike (primary competitive alternative)
Our product (statement of primary differentiation)

事件风暴工作坊流程

团队核心概念的拉齐

事件风暴

  1. 确定业务场景,最好是单一且清晰;不要同时梳理过多业务场景
  2. 用“xx 已 xx”的格式在便利贴上写下事件,所有人就事件要达成一致;
  3. 时间顺序将事件贴在白板上;
  4. 事件梳理中的可以用不同颜色便利贴记录问题点
  5. 走查关联关系,确保事件的完整性,防止遗漏。

命令风暴

  1. 常见的有:用户的UI操作、定时任务触发、外部系统触发
  2. 一个命令可以产生多个事件
  3. 可以区分发出命令的是人还是外部系统

寻找聚合

  1. 按照事件顺序提问:
    这个事件会改变的领域模型是什么?明确领域模型。(简单理解就是事件中涉及的业务名词)
    这个领域模型是否可以独立访问? 能就是聚合
    不能独立访问的话需要通过哪个领域模型来访问?
  2. 基于聚合的原则来回顾与验证上面划分的聚合,并进行调整。

聚合的原则

Aggregate Pattern示例

划分限界上下文

  1. 根据前面的聚合和领域模型,他们是否解决同一个业务问题?是则在一个限界上下文,不是就不在;
  2. 如果一个聚合在多个不同业务问题中使用,则可以进行拆分,拆分后划分到不同的限界上下文中。(概念、用法、系统依赖等等)
  3. 问题的大小划分、细节是否要考虑等等,需要和领域专家共同讨论

TIPS && 踩到过的坑

上一篇 下一篇

猜你喜欢

热点阅读