mcpField
E
epic-hypothesis

epic-hypothesis

github.com/deanpeters生产力7.7k2.8k 次安装2 周前更新
代码仓库

关于 epic-hypothesis

面向产品团队的史诗假设构建技能,将想法整理为可检验的 if/then 假设,并定义轻量实验和可衡量的验证标准。它帮助团队在全面开发前明确假设、检验用户成果,而非把史诗当成已承诺交付的需求。

主要功能

  1. 01将史诗写成 if/then 假设
  2. 02明确目标用户与预期成果
  3. 03设计轻量发现实验
  4. 04制定量化验证标准
  5. 05根据结果决定后续开发

适用场景

  1. 01探索路线图中的新功能
  2. 02验证新能力的产品市场契合度
  3. 03以实验方式排序待办事项
  4. 04向利益相关者说明不确定性

安装

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

$npx skills add https://github.com/deanpeters/product-manager-skills --skill epic-hypothesis

安装后在 Claude Code 中输入/epic-hypothesis确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

template.md
examples/
sample-industrial.md
sample.md

详细介绍

目的

使用 if/then 结构将史诗(epic)构建为可测试的假设,明确说明行动或解决方案、目标受益者、预期结果,以及如何验证成功。通过明确假设、定义轻量级实验(“微型探索行动”),并在决定全面开发之前设定可衡量的成功标准,借此管理产品开发中的不确定性。

这不是需求规格说明——这是一个待验证的假设,而不是你承诺要交付的功能。

输入

最适用的内容: 计划或史诗的构想,无论目前是什么形式——一句话就够。 也有帮助的内容: 目标用户、预期结果,以及你可能采用的衡量方式(此技能会帮助你完善这三项)。

随调用一同提供的任何内容——技能名称之后的文本、粘贴的上下文,或附加的 ARGUMENTS: 行——都视为已提供的答案。请使用这些内容,并跳过其中已涵盖的问题;不要重复询问。

空手而来?也没关系。 此技能会询问计划是什么、面向谁,然后与你一起构建 if/then 假设。

调用示例: Frame as an epic hypothesis: adding usage-based alerts so account admins catch overages before invoice shock.

核心概念

史诗假设框架

该结构受 Tim Herbig 的 Lean UX 假设格式启发:

If/Then 假设:

  • 如果我们 [代表目标角色采取行动或提供解决方案]
  • 为 [目标角色]
  • 那么我们将 [实现或达成理想结果或待完成的工作]

微型探索行动实验:

  • 我们将通过以下方式验证假设:
    • [实验 1]
    • [实验 2]
    • [根据需要添加更多实验]

验证指标:

  • 如果在 [时间范围] 内
  • 我们观察到以下情况,就可以确认假设成立:
    • [可量化的定量结果]
    • [可衡量的定性结果]
    • [根据需要添加更多结果]
这种结构为何有效
  • 以假设为驱动: 迫使你明确陈述自己的信念(以及可能出错的地方)
  • 以结果为重点: “那么我们将”强调用户受益,而不是功能产出
  • 实验优先: 鼓励在全面开发之前进行轻量级验证
  • 可证伪: 明确的成功标准有助于尽早淘汰糟糕的想法
  • 风险管理: 将史诗视为押注,而不是承诺
反模式(这不是什么)
  • 不是功能规格: “构建一个包含 5 张图表的仪表板”是功能,而不是假设
  • 不是必然兑现的承诺: 假设可以(也应该)被证伪
  • 不是关注产出: “在 Q2 前发布功能 X”没有抓住重点——它是否实现了预期结果?
  • 不是不做实验: 如果跳过实验,直接开始开发,那就不是在测试假设
何时使用
  • 早期功能探索(尚未决定纳入完整路线图之前)
  • 验证新能力的产品市场契合度
  • 确定待办事项的优先级(假设已验证的史诗优先级更高)
  • 管理利益相关者的预期(将工作描述为实验,而不是承诺)
何时不使用
  • 对已充分验证的功能(如果需求已得到证实,可直接编写用户故事)
  • 对琐碎功能(不要对小调整过度设计)
  • 无法进行实验时(这种情况很少见,但有时必须在测试前做出承诺)

应用

完整的填写结构请使用 template.md。

第 1 步:收集上下文

起草史诗假设之前,请确保已了解:

  • 问题理解: 这要解决什么用户问题?(参考 skills/problem-statement/SKILL.md)
  • 目标角色: 谁会受益?(参考 skills/proto-persona/SKILL.md)
  • 待完成的工作: 他们希望达成什么结果?(参考 skills/jobs-to-be-done/SKILL.md)
  • 当前替代方案: 用户今天会怎么做?(竞争产品、变通方法、什么也不做)

如果缺少上下文: 请先开展探索性访谈或问题验证工作。


步骤 2:拟定 If/Then 假设

填写模板:

### If/Then Hypothesis

**If we** [action or solution on behalf of the target persona]
**for** [target persona]
**Then we will** [attain or achieve a desirable outcome or job-to-be-done for the persona]

质量检查:

  • “If we”要具体: 不要写“改进产品”,而要写“添加任务分配时的一键 Slack 通知”
  • “For”要明确描述用户画像: 不要写“用户”,而要写“需要同时管理 3 个以上分布式团队的远程项目经理”(参见 skills/proto-persona/SKILL.md)
  • “Then we will”要描述结果: 不要写“用户会收到通知”,而要写“用户响应任务分配的速度将提高 50%”

示例:

  • ✅ “如果我们为试用用户添加一键 Google Calendar 集成,那么我们将在 30 天内将激活率提高 20%”
  • ✅ “如果我们为管理 1000 个以上项目的高级用户提供批量删除功能,那么我们将减少 70% 的清理任务耗时”
  • ❌ “如果我们构建一个仪表板,那么用户就会使用它”(含糊,无法衡量)

步骤 3:设计轻量级探索实验

在构建完整史诗级需求之前,先设计轻量级实验来验证假设:

### Tiny Acts of Discovery Experiments

**We will test our assumption by:**
- [Experiment 1: low-cost, fast test]
- [Experiment 2: another low-cost, fast test]
- [Add more as necessary]

实验类型:

  • 原型 + 用户测试: 用可点击原型模拟功能,并邀请 5-10 位用户进行测试
  • 礼宾式测试: 为少数用户手动提供该功能,观察他们是否认为它有价值
  • 落地页测试: 介绍该功能,并衡量注册量或用户兴趣
  • 绿野仙踪测试: 将该功能呈现为自动化功能,实际在幕后手动完成
  • A/B 测试(如果可行): 测试轻量版与对照组

质量检查:

  • 快速: 实验应耗时数天或数周,而非数月
  • 低成本: 避免完整的工程实现——使用原型、手动流程或现有工具
  • 可证伪: 设计能够证明你 错了 的实验

示例:

  • “制作批量删除流程的 Figma 原型,并邀请 5 位高级用户进行测试”
  • “手动向 10 位试用用户发送 Slack 通知,并跟踪响应时间”
  • “在 UI 中添加‘申请此功能’按钮,并衡量点击率”

步骤 4:定义验证指标

明确成功的标准和评估时间范围:

### Validation Measures

**We know our hypothesis is valid if within** [timeframe in days or weeks]
**we observe:**
- [Desirable quantitative, measurable outcome]
- [Desirable qualitative, measurable outcome]
- [Add more as necessary]

质量检查:

  • 时间范围合理: 不要写“6 个月内”(太慢),也不要写“3 天内”(太快)
  • 定量指标具体: 不要写“更多用户”,而要写“激活率提高 20%”
  • 定性指标可观察: 不要写“用户喜欢”,而要写“10 位用户中有 8 位表示愿意为此功能付费”

示例:

  • ✅ “在 4 周内,我们观察到:”
    • “激活率从 40% 提高到 50%(定量)”
    • “75% 的受访试用用户表示,该集成为他们节省了时间(定性)”
  • ❌ “在 1 年内,我们观察到:”
    • “收入增长”(过于含糊,耗时过长)

步骤 5:运行实验并评估
  • 执行实验: 构建原型、开展测试、收集数据
  • 衡量结果: 是否达到验证指标?
  • 决策点:
    • ✅ 假设得到验证: 开始编写用户故事并纳入路线图
    • ❌ 假设未获验证: 取消该史诗级需求,或转向其他假设
    • ⚠️ 结论不明: 开展更多实验,或收紧验证指标

步骤 6:转化为用户故事(验证通过后)

假设得到验证后,将史诗级需求拆分为用户故事:

### Epic: [Epic Name]

**Stories:**
1. [User Story 1 - reference `skills/user-story/SKILL.md`]
2. [User Story 2]
3. [User Story 3]

示例

完整的史诗级需求假设示例请参见 examples/sample.md。

简短示例摘录:

**If we** provide one-click Google Calendar integration
**for** trial users managing multiple meetings
**Then we will** increase activation rate from 40% to 50%

常见陷阱

陷阱 1:假设描述的是功能,而非结果

表现: “如果我们构建一个仪表板,那么我们就会有一个仪表板”

后果: 你描述的是产出,而非结果。这无法验证任何内容。

改进方法: 聚焦于用户结果:“如果我们构建一个显示实时任务状态的仪表板,那么项目经理花在询问状态更新上的时间将减少 50%。”


陷阱 2:跳过实验

症状:“我们会通过构建完整功能来验证假设”

**后果:**你在验证之前就承诺要构建功能。这不是假设,而是功能承诺。

**解决方法:**设计轻量级实验(原型、礼宾测试、着陆页),用时以天或周计,而不是以月计。


陷阱 3:验证指标含糊不清

症状:“只要用户满意,我们就知道它有效”

**后果:**成功标准主观且无法衡量。

**解决方法:**定义具体、可证伪的指标:“受访用户中有 80% 给该功能打 4 分或以上(满分 5 分)”或“响应时间缩短 50%”。


陷阱 4:时间范围不切实际

症状:“如果 6 个月内收入增长,我们就知道它有效”

**后果:**反馈太慢,无法指导决策。到那时,你早就已经构建完成了。

**解决方法:**以 2-4 周为一个验证周期。如果无法在此时间范围内衡量,就选择一个先行指标(例如激活率,而非年收入)。


陷阱 5:把史诗级事项当作承诺

症状:“我们已经告诉 CEO 会交付这个功能,所以必须验证它”

**后果:**实验沦为表演——无论结果如何,你都会构建它。

**解决方法:**在做出承诺之前,将史诗级事项表述为假设。如果利益相关者需要确定性,就解释构建未经验证的功能所带来的风险。


参考资料

相关技能
  • skills/problem-statement/SKILL.md — 假设应针对经过验证的问题
  • skills/proto-persona/SKILL.md — 定义“面向 [角色]”部分
  • skills/jobs-to-be-done/SKILL.md — 为“那么我们将”这一结果提供依据
  • skills/user-story/SKILL.md — 经过验证的史诗级事项可拆解为用户故事
  • skills/user-story-splitting/SKILL.md — 如何将经过验证的史诗级事项拆分为故事
外部框架
  • Tim Herbig,《Lean UX Hypothesis Statement》——“如果/那么”假设格式的来源
  • Jeff Gothelf 和 Josh Seiden,《Lean UX》(2013)——以假设为驱动的产品开发
  • Alberto Savoia,《Pretotype It》(2011)——用于验证想法的轻量级实验
  • Eric Ries,《The Lean Startup》(2011)——构建-衡量-学习循环
Dean 的作品
  • Backlog Epic Hypothesis Prompt(受 Tim Herbig 的框架启发)
来源
  • 改编自 https://github.com/deanpeters/product-manager-prompts 仓库中的 prompts/backlog-epic-hypothesis.md。

**技能类型:**组件 建议文件名:epic-hypothesis.md 建议放置位置:/skills/components/ **依赖项:**引用 skills/problem-statement/SKILL.md、skills/proto-persona/SKILL.md、skills/jobs-to-be-done/SKILL.md 使用者:skills/user-story/SKILL.md、skills/user-story-splitting/SKILL.md

评论

支持 Markdown