mcpField
O
opportunity-solution-tree

opportunity-solution-tree

github.com/avelikiy生产力10841 次安装今天更新
代码仓库

关于 opportunity-solution-tree

这项产品发现技能将一个可衡量的目标结果与客户机会、候选方案和验证实验相连接,帮助产品团队先探索客户需求,再决定解决方案。

主要功能

  1. 01按四个层级组织产品发现
  2. 02将机会表述为客户需求
  3. 03用机会评分确定需求优先级
  4. 04为每个机会生成多个方案
  5. 05设计用于检验假设的实验
  6. 06根据研究持续更新机会树

适用场景

  1. 01将研究发现映射到客户机会
  2. 02按重要性和满意度比较客户需求
  3. 03在产品开发前测试候选方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/avelikiy/great_cto --skill opportunity-solution-tree

安装后在 Claude Code 中输入/opportunity-solution-tree确认已加载。

详细介绍

机会解决方案树(OST)

通过连接期望成果 → 客户机会 → 解决方案 → 实验,构建产品探索框架。避免在验证问题空间之前就跳到解决方案。

基于 Teresa Torres 的《Continuous Discovery Habits》(2021 年)。


4 层结构

                    ┌─────────────────────┐
                    │   DESIRED OUTCOME   │  ← single measurable metric
                    └──────────┬──────────┘
               ┌───────────────┼────────────────┐
        ┌──────┴─────┐  ┌──────┴─────┐  ┌──────┴─────┐
        │Opportunity │  │Opportunity │  │Opportunity │  ← customer pain/need
        │     A      │  │     B      │  │     C      │
        └──────┬─────┘  └──────┬─────┘  └────────────┘
        ┌──────┴───┐    ┌──────┴───┐
    ┌───┴──┐ ┌───┴──┐ ┌───┴──┐ ┌───┴──┐
    │Sol 1 │ │Sol 2 │ │Sol 3 │ │Sol 4 │  ← possible solutions
    └───┬──┘ └──────┘ └───┬──┘ └──────┘
  ┌────┴────┐         ┌───┴────┐
  │ Exp 1   │         │ Exp 2  │          ← fast experiments
  └─────────┘         └────────┘

关键原则:

  • 一次只关注一个期望成果——不要试图解决所有问题
  • 机会是客户的问题或需求,绝不是解决方案
  • 每个机会至少提出 3 个解决方案,再选出一个
  • 实验是验证假设成本最低的方式
  • 这棵树是动态文档——随着认知不断更新,每周维护

如何构建 OST

步骤 1 — 定义期望成果

确认或协助用户明确树顶端的一个可衡量成果。

好的成果:

  • “将 7 天留存率从 20% 提升至 35%”
  • “将首次获得价值的时间从 3 天缩短至 1 天”
  • “将免费转付费的转化率从 2% 提升至 5%”

不好的成果(应拒绝):

  • “打造更好的引导流程”——这是解决方案
  • “改进产品”——无法衡量
  • “发布功能 X”——这是产出

如果用户无法说出一项指标:询问“要让你认为这项工作取得了成功,需要满足什么条件?”

步骤 2 — 根据研究梳理机会

根据客户访谈、分析数据、支持工单或 NPS 反馈,找出 3–7 个客户机会(痛点、未满足的需求、愿望)。

从客户的角度描述每个机会:

  • ✅“我很难判断哪个套餐适合自己”
  • ✅“我无法快速找到以前的购买记录”
  • ✅“我担心自己的数据是否安全”
  • ❌“用户需要更好的搜索功能”——这是解决方案

使用机会评分进行优先级排序(Dan Olsen,《The Lean Product Playbook》):

Opportunity Score = Importance × (1 − Satisfaction)

调查客户:让他们分别为每项需求的重要性(0–1)和当前满意度(0–1)评分。

  • 高重要性 + 低满意度 = 最高评分 = 最佳机会
  • 在重要性与满意度图表上绘图——左上象限是最佳区域
步骤 3 — 提出解决方案(先发散,再收敛)

针对每个优先级最高的机会,从三个角度集思广益,提出至少 3 个解决方案:

  • PM 视角:什么 UX/产品变更可以解决这个问题?
  • 设计师视角:可以做出什么交互或视觉方面的改变?
  • 工程师视角:可以采用什么技术方案?(通常最具创意)

规则:

  • 不要一开始就选定第一个想法——要比较和权衡
  • “最佳想法往往来自工程师”——也要考虑技术方案
  • 解决方案应彼此独立(针对同一机会提出不同方案)
步骤 4 — 设计实验

针对最有希望的解决方案,设计 1–2 个快速实验:

实验待验证的假设方法成功指标投入
<实验名称><要验证的信念><A/B 测试 / 假门 / 原型 / 访谈><指标 + 阈值><1d / 3d / 1w>

假设类别(按以下顺序优先验证):

  1. 价值:用户会想要这个吗?(最应优先测试)
  2. 易用性:用户能弄明白怎么用吗?
  3. 可行性:我们能实现吗?
  4. 商业可行性:商业论证成立吗?

低成本实验类型:

  • 现有产品:A/B 测试、假门、原型、用户访谈、数据分析
  • 新产品:XYZ 假设(“至少有 X% 的 Y 会做 Z”)、着陆页、礼宾式 MVP
步骤 5 — 可视化并记录

编写 docs/discovery/OST-<outcome-slug>.md:

# Opportunity Solution Tree: <Outcome>

**Desired outcome**: <metric> from <current> to <target> by <date>
**Last updated**: <date>

## Opportunity map

| # | Opportunity | Importance | Satisfaction | Opportunity Score | Priority |
|---|------------|-----------|-------------|-------------------|---------|
| A | <customer need> | 0.8 | 0.3 | 0.56 | 1st |
| B | <customer need> | 0.7 | 0.6 | 0.28 | 3rd |
| C | <customer need> | 0.6 | 0.2 | 0.48 | 2nd |

## Solutions for top opportunities

### Opportunity A: <name>
| Solution | Description | Experiment |
|---------|-------------|-----------|
| Sol A1 | <description> | <experiment> |
| Sol A2 | <description> | <experiment> |
| Sol A3 | <description> | <experiment> |

## Active experiments

| Experiment | Assumption | Status | Result |
|-----------|-----------|--------|--------|
| <name> | <assumption> | Running / Done | <result or pending> |

## Learning log

- <date>: Discovered <insight> from <source>. Killed <solution> / promoted <opportunity>.

与 /spec prd 集成

机会得到验证并选定解决方案后: → 使用已验证的机会作为问题陈述,运行 /spec prd → OST 的机会评分数据可直接用于 PRD §3(成功指标)和 §4(目标用户)


反模式

❌ 机会 = 伪装成方案的解决方案:“用户需要一个搜索栏”是解决方案。“用户找不到过去的购买记录”才是机会。

❌ 跳过发散阶段:为每个机会选出第一个解决方案。选择前务必至少提出 3 个方案。

❌ 耗时超过 1 周的实验:如果需要超过 1 周才能得出结论,那就不是实验,而是一项功能。

❌ 只更新一次树:OST 是一项持续的实践。随着不断学习,每周更新一次。

❌ 结果太多:每棵树对应一个结果。如果有多个结果,请使用多棵树,或选择优先级最高的结果。

评论

支持 Markdown