• 是什么
    • 是开发建模,不是用户需求故事
    • 探索功能,找出盲点,建立共识
  • 目的
    • 统一语言
    • 出概览图(Big Picture)
    • 找商业流程的核心价值、风险与机会
    • DDD的起点
  • 优点
    • 快速
    • 简单明确
    • 参与
      • 建模变得有趣
      • 获得更有价值的见解
    • 有效
  • 问题
    • 大系统不好用
      • 讨论不完
      • 老板推翻
  • 应用场景
    • 概览图
      • 凸显合作关系、边界、责任归属
      • 找出核心价值
      • 适合新创,不适合老项目改造,容易陷入bug之争
    • 流程模型
      • 明确流程
      • 找出bug
    • 软件开发
      • 产生聚合、限界上下文
      • 用词更准确
  • 准备
      • 找正确的人
        • 领域专家(Domain expert)
        • 业务、架构、开发、运维、营销等利益相关者结合体
        • 主持人
          • 不与领域专家重复
          • 控制流程,所以不能老板
          • 准备资料, 排程, 时间, 2/3时间预警
      • 步骤
        • 领域专家简介专案需求,在中间贴第一张Event
          • 橘色便利贴:确定事件
          • 使用过去式状态,如订单已成立
          • 领域专家在乎的事件
          • 有时间性
          • 可以加上原因
        • 提出问题
          • 建立通用语言的最好机会
        • 热点问题(HotSpot)
          • 红色便利贴:解决不了的问题
          • Command: 蓝色便利贴, 事件触发器
          • Read Model: 读取的信息
          • System: 流程中新的Event
          • Policy: 未发掘的问题
          • Aggregate: 画圈聚合,状态机
      • 功能确认: 近期milestone
      • 限制最少的表面
      • 画卷纸方便收纳
      • 标明区域的海报纸,颜色
  • 事件风暴
    • 领域事件: 用户可感知状态
    • 分支小组 个人发散 小组一致 整体一致 # 不能一致表示准备不足
    • 逻辑顺序 最终流程
  • 命令风暴 # 为什么, 分色
    • 事件触发原因、方式
    • 用户角色
    • 读模型: 用户前置需求
    • 写模型: 动词
    • 描述
  • 聚合
    • 取名, 分职责
  • 持续探索