name: wardley-mapping description: “Wardley映射用于战略定位和情境感知。涵盖价值链映射、进化阶段、景观分析、游戏模式以及战略决策。适用于技术战略、竞争分析和架构投资决策。” allowed-tools: Read, Write, Glob, Grep, Task
Wardley映射
一种战略映射技术,用于理解竞争格局、技术进化,并做出明智的架构决策。
何时使用此技能
关键词: wardley映射、价值链、进化、起源、定制、产品、商品、战略、景观、原则、游戏模式、情境感知、战略定位、技术雷达
在以下情况下使用此技能:
- 做出技术投资决策时
- 评估构建、购买或外包时
- 理解竞争定位时
- 规划技术进化战略时
- 向利益相关者传达架构战略时
- 识别战略机会和威胁时
- 决定聚焦创新努力的领域时
什么是Wardley映射?
由Simon Wardley创建的Wardley映射通过可视化以下内容,为战略决策提供情境感知:
- 价值链: 满足用户需求所需的组件
- 进化: 组件如何随时间变化
- 景观: 竞争环境
- 移动: 景观如何变化
映射结构
进化
起源 定制 产品 商品
↓ ↓ ↓ ↓
┌──────────────────────────────────────────┐
│ │
可见 │ 用户需求 ● │ ← 锚点
│ │ │
│ ↓ │
│ 组件 A ●──────────→ ● │
│ │ │
│ ↓ │
│ 组件 B ● │
│ │ │
隐藏 │ ↓ │
│ 组件 C ● │
│ │ │
│ ↓ │
│ 组件 D ● │ ← 商品
│ │
└──────────────────────────────────────────┘
Y轴: 可见性(对用户)
X轴: 进化(确定性)
进化阶段
阶段特征
evolution_stages:
genesis:
position: "最左侧"
characteristics:
- "新颖、独特、不确定"
- "理解不足"
- "高失败率"
- "需要实验"
activities:
- "研究与开发"
- "探索"
- "概念验证"
examples:
- "量子计算(对于大多数用例)"
- "新型人工智能架构"
- "实验性材料"
custom_built:
position: "中心偏左"
characteristics:
- "理解但实现独特"
- "定制解决方案"
- "差异化"
- "高成本、高专业度"
activities:
- "定制开发"
- "集成工作"
- "专业团队"
examples:
- "定制推荐引擎"
- "定制交易平台"
- "专业分析"
product:
position: "中心偏右"
characteristics:
- "逐渐被理解"
- "多个供应商/选项"
- "功能差异化"
- "竞争加剧"
activities:
- "购买与构建决策"
- "供应商评估"
- "配置优先于编码"
examples:
- "CRM系统"
- "电子商务平台"
- "分析工具"
commodity:
position: "最右侧"
characteristics:
- "充分理解"
- "基本、预期"
- "低差异化"
- "批量运营"
activities:
- "实用消费"
- "成本优化"
- "运营卓越"
examples:
- "云计算(IaaS)"
- "电子邮件服务"
- "支付处理"
进化指标
| 指标 | 起源 | 定制 | 产品 | 商品 |
|---|---|---|---|---|
| 普遍性 | 罕见 | 罕见-常见 | 常见 | 广泛 |
| 确定性 | 不确定 | 不确定-定义 | 定义 | 定义 |
| 市场 | 未定义 | 形成中 | 成熟 | 实用 |
| 失败模式 | 研究 | 学习 | 差异化 | 运营 |
| 人才 | 先驱者 | 定居者 | 城镇规划者 | 公用事业 |
创建Wardley映射
步骤1:识别锚点
anchor:
definition: "被服务的用户需求"
questions:
- "用户是谁?"
- "他们需要什么?"
- "他们期望什么可见结果?"
placement: "映射顶部,对用户可见"
examples:
- "客户需要在线购买产品"
- "开发者需要部署应用"
- "分析师需要生成报告"
步骤2:构建价值链
value_chain:
approach: "从用户需求向后工作"
questions:
- "需要哪些组件来满足此需求?"
- "每个组件依赖于什么?"
- "哪些组件对用户隐藏?"
tips:
- "列出能力,不仅仅是技术"
- "包括人员、实践和数据"
- "映射技术和业务组件"
- "依赖关系向下流动"
步骤3:定位进化阶段
positioning:
method: "评估每个组件的进化阶段"
criteria:
- "它的理解程度如何?"
- "存在多少替代方案?"
- "它是商品化还是独特?"
- "市场成熟度如何?"
common_mistakes:
- "基于年龄而非成熟度定位"
- "混淆内部不熟悉与市场起源"
- "不考虑行业背景"
步骤4:添加移动
movement:
notation: "箭头显示进化方向"
types:
natural_evolution: "→ 组件随时间向右移动"
inertia: "× 对移动的阻力"
acceleration: ">> 强制快速进化"
considerations:
- "所有组件随时间向右进化"
- "进化可通过竞争加速"
- "惯性可减缓移动"
映射模板
标题: {映射名称}
锚点: {用户需求}
日期: {ISO-8601}
起源 定制 产品 商品
│ │ │ │
▼ ▼ ▼ ▼
可见 ┌───────────────────────────────────────┐
│ │
│ {用户需求} │
│ │ │
│ ↓ │
│ {组件1} ●──────→ │
│ │ │
│ ├───────────────┐ │
│ ↓ ↓ │
│ {组件2} {组件3} │
│ ● ● │
│ │ │ │
│ ↓ │ │
│ {组件4} │ │
│ ● │ │
隐藏 │ │ │ │
│ ↓ ↓ │
│ {组件5}───────┘ │
│ ● │
│ │
└───────────────────────────────────────┘
图例:
● = 当前位置
→ = 移动方向
× = 惯性
原则
战略中普遍有用的模式:
doctrine_categories:
communication:
- "使用共同语言"
- "挑战假设"
- "聚焦用户需求"
development:
- "为进化阶段使用适当方法"
- "思考小型(基于细胞的结构)"
- "管理惯性"
- "在适当处使用标准"
operation:
- "思考快速、廉价、克制、优雅"
- "适当管理失败"
- "优化流程"
learning:
- "使用系统学习机制"
- "了解你的用户"
- "了解你的细节"
leading:
- "成为所有者"
- "快速移动"
- "接受战略是迭代的"
原则评估模板
doctrine_assessment:
communication:
common_language:
score: "{1-5}"
evidence: "{战略语言如何标准化?}"
challenge_assumptions:
score: "{1-5}"
evidence: "{假设如何被质疑?}"
development:
appropriate_methods:
score: "{1-5}"
evidence: "{敏捷/精益/六西格玛是否按上下文应用?}"
cell_based:
score: "{1-5}"
evidence: "{团队是否小而自治?}"
# ... 继续所有原则点
游戏模式
基于景观理解的战略行动:
进攻模式
offensive_gameplay:
tower_and_moat:
description: "在商品基础上构建差异化能力"
when: "存在强定制组件"
action: "商品化依赖项,投资于差异化"
map_signature: "具有商品依赖项的定制组件"
land_and_expand:
description: "以狭窄产品进入市场,从那里扩展"
when: "新市场进入"
action: "从简单开始,随时间添加组件"
open_source_play:
description: "商品化竞争对手的差异化点"
when: "竞争对手依赖于你可复制的定制组件"
action: "开源替代品以加速商品化"
ecosystem:
description: "创建他人构建的平台"
when: "控制基础设施组件"
action: "让他人在你的平台上构建"
two_factor:
description: "用一个平台满足两个市场"
when: "平台可服务多种用户类型"
action: "连接市场两侧"
防御模式
defensive_gameplay:
patents_and_ip:
description: "法律保护创新"
when: "起源/定制阶段的创新"
action: "申请专利,保护商业机密"
creating_constraint:
description: "减缓你控制的组件的进化"
when: "进化威胁你的位置"
action: "限制互操作性,创建切换成本"
embrace_and_extend:
description: "采用标准然后差异化"
when: "商品/产品威胁差异化"
action: "添加专有扩展"
战略决策
构建、购买或外包
build_buy_outsource:
build:
when:
- "组件处于起源/定制阶段"
- "核心差异化点"
- "无合适市场替代品"
- "从所有权获得战略优势"
examples:
- "核心推荐算法"
- "专有交易逻辑"
buy:
when:
- "组件处于产品阶段"
- "非核心差异化点"
- "存在多个供应商选项"
- "需要更快上市时间"
examples:
- "CRM系统"
- "营销自动化"
outsource:
when:
- "组件是商品"
- "无差异化可能"
- "规模经济有利于专家"
- "运营负担不值得"
examples:
- "云基础设施"
- "支付处理"
- "电子邮件交付"
创新投资
innovation_investment:
genesis:
investment_type: "探索"
approach: "实验、概念验证、研究"
metrics: "学习速度、创建选项"
failure_tolerance: "高"
custom:
investment_type: "差异化"
approach: "产品开发、定制构建"
metrics: "功能完成、用户采用"
failure_tolerance: "中等"
product:
investment_type: "增强"
approach: "集成、配置"
metrics: "价值时间、总拥有成本"
failure_tolerance: "低"
commodity:
investment_type: "优化"
approach: "成本降低、自动化"
metrics: "每单位成本、可用性"
failure_tolerance: "非常低"
.NET/C# 架构含义
进化适当的开发
namespace Architecture.Strategy;
// 用于跟踪组件进化的模型
public record WardleyComponent
{
public required string Name { get; init; }
public required EvolutionStage Evolution { get; init; }
public required double EvolutionPosition { get; init; } // 0.0 (起源) to 1.0 (商品)
public required double Visibility { get; init; } // 0.0 (隐藏) to 1.0 (可见)
public List<string> DependsOn { get; init; } = [];
public MovementDirection? Movement { get; init; }
public bool HasInertia { get; init; }
public string? StrategicNotes { get; init; }
}
public enum EvolutionStage
{
Genesis, // 0.0 - 0.25
CustomBuilt, // 0.25 - 0.50
Product, // 0.50 - 0.75
Commodity // 0.75 - 1.0
}
public enum MovementDirection
{
None,
Evolving, // 自然向右移动
Accelerating, // 比正常进化更快
Decelerating // 惯性减缓进化
}
public record WardleyMap
{
public required string Title { get; init; }
public required string Anchor { get; init; }
public required string UserNeed { get; init; }
public DateOnly MapDate { get; init; }
public List<WardleyComponent> Components { get; init; } = [];
public List<StrategicPlay> IdentifiedPlays { get; init; } = [];
}
public record StrategicPlay
{
public required string Name { get; init; }
public required GameplayPattern Pattern { get; init; }
public required string Rationale { get; init; }
public List<string> AffectedComponents { get; init; } = [];
public string? ExpectedOutcome { get; init; }
public string? RiskAssessment { get; init; }
}
public enum GameplayPattern
{
TowerAndMoat,
LandAndExpand,
OpenSourcePlay,
Ecosystem,
TwoFactor,
PatentsAndIp,
CreatingConstraint,
EmbraceAndExtend
}
基于进化的架构决策
public class ArchitectureAdvisor
{
public ArchitectureRecommendation Recommend(WardleyComponent component)
{
return component.Evolution switch
{
EvolutionStage.Genesis => new ArchitectureRecommendation
{
DevelopmentApproach = "实验性、基于尖峰驱动",
TeamType = "小型、跨职能先驱者",
Architecture = "松散耦合、易于替换",
Practices = ["快速原型设计", "高测试覆盖率", "功能标志"],
InfrastructureApproach = "容器化、易于拆除"
},
EvolutionStage.CustomBuilt => new ArchitectureRecommendation
{
DevelopmentApproach = "敏捷、迭代",
TeamType = "聚焦产品的定居者",
Architecture = "垂直切片、有界上下文",
Practices = ["测试驱动开发", "持续集成/持续部署", "可观察性"],
InfrastructureApproach = "尽可能使用托管服务"
},
EvolutionStage.Product => new ArchitectureRecommendation
{
DevelopmentApproach = "配置优先于自定义代码",
TeamType = "集成专家",
Architecture = "适配器模式、插件架构",
Practices = ["供应商评估", "合同测试"],
InfrastructureApproach = "首选SaaS/PaaS"
},
EvolutionStage.Commodity => new ArchitectureRecommendation
{
DevelopmentApproach = "运营卓越",
TeamType = "站点可靠性工程、平台工程",
Architecture = "标准接口、实用模式",
Practices = ["成本优化", "自动化", "监控"],
InfrastructureApproach = "实用服务、无服务器"
},
_ => throw new ArgumentOutOfRangeException()
};
}
}
public record ArchitectureRecommendation
{
public required string DevelopmentApproach { get; init; }
public required string TeamType { get; init; }
public required string Architecture { get; init; }
public List<string> Practices { get; init; } = [];
public required string InfrastructureApproach { get; init; }
}
映射分析检查清单
analysis_checklist:
completeness:
- "锚点(用户需求)是否明确定义?"
- "是否包括满足需求所需的所有组件?"
- "是否显示依赖关系?"
- "是否存在移动箭头?"
positioning:
- "每个组件是否基于市场进化而非内部能力定位?"
- "商品组件是否在右侧?"
- "真正新颖的组件是否在左侧?"
insights:
- "哪些组件有惯性?"
- "哪里有机会商品化?"
- "哪些起源活动可能成为差异化点?"
- "我们在哪里有技术债务(在存在产品的地方构建定制)?"
strategic:
- "哪些游戏模式适用?"
- "我们应该在哪里投资 vs. 外包?"
- "哪些气候模式影响我们的景观?"
- "存在哪些原则弱点?"
输出格式
Wardley映射文档
wardley_map:
metadata:
title: "{映射名称}"
author: "{作者}"
date: "{ISO-8601}"
version: "1.0"
scope: "{此映射覆盖的内容}"
anchor:
user: "{用户描述}"
need: "{用户需求声明}"
components:
- name: "{组件名称}"
evolution: "{起源/定制/产品/商品}"
position: "{0.0-1.0}"
visibility: "{0.0-1.0}"
depends_on:
- "{依赖项1}"
- "{依赖项2}"
notes: "{战略笔记}"
movement: "{进化中/加速/惯性/无}"
analysis:
opportunities:
- "{机会1}"
- "{机会2}"
threats:
- "{威胁1}"
- "{威胁2}"
inertia_points:
- component: "{组件}"
reason: "{为何存在惯性}"
recommendations:
immediate:
- "{带理由的行动}"
short_term:
- "{带理由的行动}"
long_term:
- "{带理由的行动}"
与其他技能的集成
上游
- togaf-guidance - 企业架构上下文
- gap-analysis - 当前与目标状态分析
- adr-management - 文档化战略决策
下游
- team-topology-design - 将团队与进化阶段对齐
- fitness-functions - 测量进化进展
- cloud-alignment - 基于进化阶段的云战略
参考文献
更多指导:
版本历史
- v1.0.0 (2025-12-26): 初始发布 - Wardley映射技能
最后更新: 2025-12-26