Skip to content

子域分类 = 把业务资源投在核心 ​

一、业务问题 ​

工程团队最常犯的错:把所有子域当核心,平均用力。结果:

  • 资源分散,没有重点
  • 核心域得不到最好的人
  • 通用域(行业标准)自己造轮子
  • 战略不清晰

核心问题:如何识别业务的"核心"?如何把资源投在最值得的地方?

二、控制论视角 ​

子域分类 = 控制系统的"资源分配"

Core Domain = 控制律最复杂的部分(重点设计)
Supporting Subdomain = 通用控制律(中等投入)
Generic Subdomain = 标准件(外购或最小投入)

类比:
  - Core = 自研芯片
  - Supporting = 自研主板
  - Generic = 买现成的电源

钱学森 Ch 21 大系统理论:

"大系统的特点是规模庞大、结构复杂、目标多样。"

软件对位:

  • 大系统 = 复杂业务
  • 目标多样 = 多个子域
  • 资源按子域价值分配

三、核心概念 ​

3.1 三类子域 ​

Vernon 在 Ch 2 明确把子域分为 3 类:

类型含义投资策略实例
Core Domain业务的核心竞争力、独特价值重点投资(最好团队)电商的"个性化推荐"
Supporting Subdomain业务必需但非核心、专门定制中度投资电商的"库存预占"
Generic Subdomain业务必需但无差异、可买现成最小投资/外购邮件发送、支付

3.2 判断标准 ​

维度CoreSupportingGeneric
业务独特性高度差异化中等差异化无差异化
变更频率高(业务创新驱动)中低(行业标准稳定)
失败影响致命(核心竞争力)严重一般
外部可用不可有限充分(很多 SaaS)
投资回报高中低(买更便宜)

3.3 投入比例 ​

Vernon 强调 80% 资源投在 Core:

典型投入比例:
  Core Domain:        50-80% 资源(最好的人、最新技术)
  Supporting Subdomain: 20-40% 资源
  Generic Subdomain:   < 10% 资源(或外购)

反模式:

  • 平摊资源(每个子域 33%)→ 没有核心
  • Core 投入过少(< 30%)→ 失去竞争力
  • Generic 投入过多(> 30%)→ 浪费资源

3.4 Core Domain 的识别 ​

识别 Core 的 5 个问题:
  1. 什么让客户选我们而不是竞争对手?
  2. 什么业务变更最频繁?
  3. 什么业务规则最复杂?
  4. 什么失败会让我们失去市场?
  5. 什么专业能力最难复制?
  
  ≥ 3 个 ✓ → Core
  否则 → Supporting / Generic

四、工程实践 ​

实战 1:电商系统的子域划分 ​

业务:电商平台
子域:
  1. 商品搜索 + 个性化推荐  → Core(核心竞争力)
  2. 订单 + 库存预占       → Supporting(必需但非独特)
  3. 支付 + 物流          → Generic(用第三方)
  4. 用户认证 + 权限       → Generic(用现成 IAM)
  5. 营销活动             → Supporting(业务必需但相对通用)

投入:
  Core(搜索推荐): 70% 资源(AI 团队、算法工程师)
  Supporting(订单/营销): 25% 资源
  Generic(支付/认证): 5% 资源(接 SaaS)

实战 2:识别 Core Domain ​

步骤:
  1. 列出业务的所有子域
  2. 对每个子域问 5 个问题(见 3.4)
  3. 评估投入回报比
  4. 决定分类

例:金融科技公司
  - 风控:5 个问题全 ✓ → Core(投入 60%)
  - 账户:3 个 ✓ → Supporting(投入 25%)
  - 支付通道:1 个 ✓ → Generic(外购,投入 5%)
  - 反洗钱:2 个 ✓ → Supporting(投入 10%)

实战 3:Core Domain 的团队配置 ​

原则:
  - 最好的工程师在 Core
  - 资深业务专家配合 Core
  - Core 团队小而精(< 9 人)
  - Core 团队有自治权

反模式:
  - Core 团队被"老员工"占据
  - Core 团队跨多个子域
  - Core 团队被"救火"工作淹没

五、性能指标 ​

指标衡量
Core 投入比例Core 域的资源占比(应该 50-80%)
Core 团队质量Core 团队平均资历/能力(应该最高)
Core 域变更频率Core 域的代码变更频率(应该高)
Generic 外购率Generic 域外购比例(应该 > 80%)

六、边界判断 ​

何时用 Core:

  • 业务核心竞争力
  • 高度差异化
  • 失败影响致命

何时用 Supporting:

  • 业务必需但非独特
  • 中等差异化
  • 外部可用但需要适配

何时用 Generic:

  • 行业标准子域
  • 无差异化需求
  • 第三方 SaaS 可用

何时重新分类:

  • 业务模式变化(如 ToC → ToB)
  • 竞争格局变化(被超越)
  • 技术变革(如 AI 改变游戏规则)

七、与其他 L 层方法论的关系 ​

方法论关系
bounded-contextCore → 独立 BC;Generic → 共享 BC
context-map-relationsCore → Customer-Supplier 关系
risk-driven-architectureCore → 用复杂架构;Generic → 用简单架构
architecture-evolution(主题)Core 优先演化

八、钱学森原话 ​

Ch 21 §21.3(大系统理论): "大系统理论所研究的对象是:由许多子系统组成的复杂系统,这些子系统之间存在复杂的相互关联。大系统的特点是规模庞大、结构复杂、目标多样。"

Ch 21 §21.3(资源分配): "大系统的协调控制不是平摊资源,而是按子系统的战略价值分配。"

九、总结 ​

子域分类 = 战略资源的优先级排序:

步骤行动
1列出所有子域
2用 5 个问题评估每个子域
3决定分类(Core/Supporting/Generic)
4按 50-80% / 20-40% / < 10% 分配资源
5Core 团队 = 最好的人
6Generic 域优先外购

核心原则:

  • Core = 重点投资(不是平摊)
  • Generic = 外购优先(不自造)
  • 业务独特性是分类的核心判据

一句话总结:子域分类 = 把最好的资源投在让业务赢的地方。

从名家方法论与工程化思路中蒸馏出自己的工程体系。