1、为什么"用户说的"和"用户要的"不一样

一个经典故事:客户说"我要一匹更快的马",而真正的需求是"更快地到目的地"。如果团队照着字面做,交出去的就是一匹养不起的马。

需求获取(Requirements Elicitation)之所以难,是因为:

  • 用户说不清:他们描述的是"解决方案",不是"问题"。
  • 用户不说全:日常习惯性的东西,他们觉得"这还用问?"
  • 用户之间会打架:销售要灵活,财务要管控,运维要稳定。
  • 用户也不知道未来要什么:需求本身是逐步浮现的。

所以需求获取不是"抄录用户口述",而是和用户一起把问题问清楚、把假设摆出来。

2、需求从哪来:六类常见来源

来源能拿到什么注意
直接访谈目标、痛点、期望要找真正用的人,不只是买单的人
问卷广度、共性、优先级初排序问题设计差会得到垃圾数据
观察/影子跟随真实工作流、隐性规则用户"说"的和"做"的常常不同
现有系统与文档历史包袱、既有字段老系统的字段不代表新需求
数据与日志真实使用频率、瓶颈用数据反驳"我觉得大家都需要"
竞品与行业规范行业惯例、法规约束抄功能容易,抄不清背后的取舍
关键动作:先画干系人地图(第 3 课),再决定"该访谈谁"。 漏掉一个关键角色,后面就会在验收会上第一次听到他的意见。

3、访谈:问对问题的艺术

访谈三禁忌:

  1. 问"你要什么功能?"——他会给你一个半成品方案。
  2. 问"是不是这样?"——引导性提问,只会得到点头。
  3. 只听、不追问——「好的」「还行」背后往往藏着坑。

推荐问法:

  • 问场景:"上次发生这个问题时,你当时在做什么?"
  • 问频率:"这事一周发生几次?"(频率决定优先级)
  • 问代价:"如果做错了,会有什么后果?"(风险等级)
  • 问替代:"现在你是怎么绕过去的?"(临时方案往往是真需求)
  • 追问五个为什么(5 Whys):从"想要导出 Excel"问到"因为要给老板看日报",真正的需求可能是"自动日报"。

访谈记录要当场确认:"我复述一遍,你看我理解得对不对"——这是最便宜的错误拦截。

4、问卷与观察:补充手段

  • 问卷适合:已经知道问什么、需要覆盖很多人、需要量化排序。

    • 少用开放题,多用单选/多选 + 李克特量表(1~5 分)。
    • 题目要避免双重问题("你觉得速度快吗?"——快=响应快还是上手快?)
  • 观察适合:流程复杂、用户说不清、存在大量隐性操作。

    • 现场记下:他点了几次?在哪卡住?用了哪个 Excel 绕过?

问卷和观察都不是访谈的替代品,而是交叉验证:访谈说"大家都要这个功能",问卷一跑才发现只有 3% 的人用。

5、用户故事:敏捷的通用语言

敏捷团队不写厚厚的需求规格书,而是用用户故事(User Story)描述需求:

作为 <某类用户>,
我想要 <某个能力>,
以便 <获得某种价值>。

例:

作为 项目负责人,
我想要 一眼看到本周所有逾期任务,
以便 及时调整人力而不是等周报。

为什么故事比规格书好用? 它逼你写清"谁、要什么、为什么"。很多需求一看就知道不成立——因为"以便"那半句写不出来。

关键认知:故事是"对话的占位符",不是需求的全部。 卡片上写不下所有细节,细节靠沟通补齐,共识靠验收标准固定(第 7 课)。

6、INVEST 原则与 3C

一个好故事要满足 INVEST:

字母含义反例
Independent尽量独立,不互相绑定"必须先做 A 才能做 B"
Negotiable可协商,不是死合同卡片写得像法律条文
Valuable对用户有价值"重构数据库"(是任务不是故事)
Estimable团队能估出大小"让系统更智能"
Small足够小,一个迭代内能做完"做完整套权限系统"
Testable可验证"体验要流畅"

3C 原则:Card(卡片)+ Conversation(对话)+ Confirmation(确认)。卡片只是引子,对话产生理解,确认(验收标准)锁定范围。

敏捷里最贵的不是写卡片,而是那张卡片引发的对话。

7、史诗、主题与故事地图

需求不是散点,而是有层次的:

主题(Theme)/ 史诗(Epic)        —— 大块价值,如"任务协作"
   └─ 用户故事(Story)            —— 可在一个迭代内交付
        └─ 任务(Task)            —— 工程师的执行单元

史诗拆分的常见切法:

  • 按流程步骤拆(创建 / 编辑 / 归档)
  • 按业务规则拆(先做基础规则,再加例外)
  • 按用户角色拆(先普通成员,再管理员)
  • 按数据范围拆(先小数据量,再做批量)

故事地图(Story Map):横轴是用户使用流程(从左到右),纵轴是优先级(从上到下)。它能让你一眼看到"先做哪条主线就能跑通整个流程"——MVP 的骨架就这样浮出来。

8、需求获取里最常见的五个坑

  1. 只找买单人:老板说"要个报表",真正的用户是天天填数据的专员——他才是决定产品好不好用的人。
  2. 把方案当需求:"加个导出按钮"背后可能是"不想每天手工汇总"。
  3. 假设没写下来:所有"我以为"都是未来的事故源,必须写进假设清单。
  4. 跳过非功能需求:"要快""要安全"必须量化成可测指标(第 7 课展开)。
  5. 一次性问完就散:需求是逐步涌现的,敏捷用迭代反复校验,而不是一次会谈定终身。

9、动手实验 🎯

任务:为你的「团队任务清单」项目做一轮需求获取。

  1. 列出 5 类干系人,为每类写一句"他最关心什么"。
  2. 挑 1 位真实或假想用户,做一次 20 分钟访谈,用 5 Whys 追到根因,记录原话。
  3. 把访谈结果写成 8~12 条用户故事(严格用"作为…我想要…以便…"格式)。
  4. 用 INVEST 逐条检查,把不合格的(不可测、太大、无价值)标出来并改写。
  5. 画一张 故事地图:横轴是"登录 → 建任务 → 指派 → 提醒 → 完成 → 统计",纵轴按优先级排,圈出 MVP 的最小闭环。
  6. 写一份 假设清单(至少 5 条"我们假设…")与 待确认问题清单。

做完这步,你手里就有一份"从用户嘴里捞出来、还带假设标注"的原始需求池——下一课把它整理成可管理、可验收的规格。

10、今天你带走的三句话

  1. 用户给的是方案,你要挖的是问题——5 Whys 和场景追问比列功能清单有用得多。
  2. 用户故事是对话的占位符,卡片之外还必须补验收标准,否则"做完了"没人认。
  3. 用好故事的三把尺子:INVEST 判断质量,3C 保证共识,故事地图找出 MVP 主线。

下一课我们进入需求分析与需求管理——把这一堆故事变成有优先级、有验收标准、有基线、可追溯的待办列表。

标签: 软件工程, 项目管理, 开发流程

添加新评论