Skip to content

03 - 需求打磨:业务问题 → 可验收的交付标准 ​

需求没写清楚 = 项目失败的最大原因。一份合格的需求 = 谁 + 要什么 + 为什么 + 验收标准——少一个就出问题。

一句话 ​

需求打磨 = 把"模糊的业务诉求"翻译成"开发能直接动手的验收标准"——核心动作是"评审三遍":业务视角、技术视角、用户体验视角。

需求的 5 大特征 ​

合格需求必须满足:

特征解释反例
可验收有明确验收标准"做好用户体验"(不可验收)
可估算能估出大致工作量"简单加一下"(不可估算)
可独立一个需求能独立交付"支持多种支付"(太大)
有业务价值能说清为谁解决什么问题"加个配置项"(价值模糊)
优先级明确知道什么时候做"看情况"(无优先级)

需求金字塔(INCOSE C04) ​

          ┌─────────────────────┐
          │  业务需求 (Business) │   为什么做这个
          └──────────┬──────────┘
                     ↓
      ┌──────────────────────────────┐
      │ 利益相关者需求 (Stakeholder)    │   谁需要什么
      └──────────────┬───────────────┘
                     ↓
        ┌────────────────────────────────┐
        │ 系统需求 (System Requirements)   │   系统要做什么
        └──────────────┬─────────────────┘
                       ↓
          ┌──────────────────────────────────┐
          │ 软件需求 (Software Requirements)   │   软件怎么实现
          └──────────────────────────────────┘

例子(用户退款) ​

业务需求:

提升用户退款体验,减少客服工作量,预计可降低客服成本 20%。

利益相关者需求:

用户:希望 3 天内收到退款,能看到进度。 客服:希望减少 50% 的退款咨询量。 财务:希望自动对账,不要人工核对。

系统需求:

  • 用户可发起退款申请
  • 3 天内自动到账
  • 状态可查(5 个状态:申请/审核中/退款中/完成/失败)
  • 客服后台能看到所有退款记录

软件需求:

  • 接口:POST /refunds(申请)、GET /refunds/{id}(查询)
  • 数据库表:refunds(id, user_id, amount, status, created_at)
  • 状态机:申请 → 审核中 → 退款中 → 完成/失败
  • 自动任务:每 5 分钟检查待退款订单

用户故事模板 ​

最经典:

作为 [角色]
我想要 [功能]
以便于 [业务价值]

完整版(推荐):

【故事 ID】: US-2026-Q3-001
【标题】: 用户自助发起退款申请
【史诗】: EPIC-2026-Q3-支付优化
【估算】: 5 人天

【角色】
作为 已在 APP 完成支付的注册用户

【需求】
我希望 通过订单详情页申请退款
以便于 不用联系客服就能快速拿回钱

【业务背景】
- 当前退款流程:用户 → 客服 → 财务 → 用户(平均 5 天)
- 痛点:客服 30% 工作量在退款咨询
- 目标:自助率 80%,3 天到账率 95%

【验收标准】
GIVEN 用户已支付订单
WHEN 在订单详情页点击"申请退款"
THEN 系统显示退款金额选择(默认全款)

GIVEN 用户选择了退款金额
WHEN 提交申请且订单仍在 7 天内
THEN 系统创建退款记录,状态"审核中"
  AND 显示预计 3 天内到账

GIVEN 退款申请已创建
WHEN 财务审核通过
THEN 系统自动发起退款
  AND 用户收到通知
  AND 状态变为"退款中"

GIVEN 退款已发起
WHEN 银行到账成功
THEN 状态变为"完成"
  AND 用户收到到账通知

【不在范围内】
- 商家主动退款(另一个故事)
- 跨境退款(Q4 考虑)

【依赖】
- 依赖 US-2026-Q3-005(支付通道退款 API 对接)

【设计稿】
[链接到 Figma]

【技术风险】
1. 部分银行退款接口支持不全(需要 fallback 到手动)
2. 退款金额不能超过原订单金额(已确定)

需求评审 3 视角 ​

每条需求必须经 3 个视角评审——任何 1 个反对就要改需求:

视角 1:产品视角(业务价值) ​

问:

  • 这解决了谁的具体问题?
  • 不做有什么后果?
  • 投入产出比合理吗?
  • 优先级对吗?

视角 2:技术视角(可行性) ​

问:

  • 现有系统能支撑吗?
  • 要不要改架构?
  • 工作量估算合理吗?
  • 有没有隐藏依赖?

视角 3:测试/QA 视角(可测性) ​

问:

  • 验收标准能转化成测试用例吗?
  • 边界条件覆盖了吗?
  • 异常路径清晰吗?
  • 上线后怎么监控?

验收标准(AC)的写作 ​

好的 AC 满足 SMART 原则:

  • Specific(具体)——不模糊
  • Measurable(可衡量)——有量化指标
  • Achievable(可达成)——技术上能做到
  • Relevant(相关)——对应业务价值
  • Time-bound(有时限)——有截止日

反例:

AC1: 退款速度要快
AC2: 用户体验要好
AC3: 系统要稳定

正例(Gherkin Given/When/Then):

GIVEN 用户的订单已完成支付且未超过 7 天
WHEN 用户点击"申请退款"
THEN 在 1 秒内弹出退款金额选择对话框
  AND 默认选中"全额退款"
  AND 显示预计到账时间

需求拆分(INVEST 原则) ​

好的子需求满足 INVEST:

字母含义反例
I - Independent独立"做 A 和 B"(应拆)
N - Negotiable可协商必须有 X 接口(不可协商的是约束不是需求)
V - Valuable有价值"重构 X 函数"(应给业务价值)
E - Estimable可估算"支持 AI"(不可估算)
S - Small小"建一个商城"(太大)
T - Testable可测"性能要好"(不可测)

需求变更管理 ​

变更不可避免,但要可追踪:

变更请求模板:

【变更请求】: CR-2026-Q3-001
【原因】: 法务要求增加实名认证字段
【影响范围】:
  - 涉及故事:US-2026-Q3-001, US-2026-Q3-002
  - 新增工作量:3 人天
  - 推迟其他故事:US-2026-Q3-003 推迟到 Q4
【优先级】: 高(合规要求)
【决策】: 产品总负责人 ___ 日期 ___

反模式:口头变更 = 没变更。所有变更必须有书面记录。

需求工具栈 ​

小团队:

  • Notion / 飞书文档(需求池 + Roadmap + 用户故事)
  • GitHub Issues / Plane(任务卡片化)
  • Figma(设计稿)

中大型团队:

  • Jira(用户故事 + 验收标准 + 链接)
  • Confluence(需求文档 + RFC)
  • ProductBoard(需求优先级)
  • Figma(设计稿)+ Zeplin(设计交付)

需求的 10 个反模式 ​

1. 解决方案当需求 ​

❌ "加一个二维码支付"(这是方案) ✅ "用户希望快速支付"(这是需求)→ 再讨论方案

2. 不写验收标准 ​

❌ "做一个退款功能" ✅ "退款功能满足:3 天到账、状态可查、用户收到通知"

3. 验收标准用主观词 ​

❌ "界面要美观"、"性能要好"、"体验要流畅" ✅ "页面加载 < 1 秒"、"首屏 < 3 秒"、"错误率 < 0.1%"

4. 一个用户故事包含多个功能 ​

❌ "作为用户,我想要注册和登录"(应拆为 2 个故事)

5. 不写"不在范围" ​

每个故事明确"这个不做"——避免范围蔓延。

6. 估算时不用"人天"而用"小/中/大" ​

T-shirt 估算(S/M/L)适合前期粗估,但 Jira/Plane 里要换算成具体故事点(Fibonacci 1/2/3/5/8/13)或人天。

7. 业务方单方面写需求,技术只能接受 ​

双向写作:技术参与需求评审,提出隐藏成本。

8. 需求文档锁死版,不迭代 ​

需求是活文档——每次评审都更新。

9. 验收标准全是"正常路径" ​

必须包含异常路径:

  • 网络失败怎么办?
  • 重复点击怎么办?
  • 并发请求怎么办?
  • 数据缺失怎么办?

10. 验收时只看 demo ​

真实测试:在测试环境用真实数据走一遍,比 demo 更有说服力。

需求评审会议 ​

会前:

  • 提前 24 小时发需求文档(让大家有阅读时间)
  • 明确议程:哪些需求要讨论(不要全过)

会中:

  • 不超过 90 分钟
  • 每个需求过 3 个视角
  • 决策(接受 / 改动 / 拒绝)当场出

会后:

  • 当天更新需求文档
  • 同步到任务系统

进入下一章 ​

需求评审通过后,下一步:

  • 04 架构与设计——把需求翻译成系统方案

作者:基于 INCOSE C04 (Requirements) + IDDD L2-L4 (业务建模) 综合 最后更新:2026-06-28

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