第二章 需求分析实战:从用户故事到功能列表
需求分析这件事,说简单也简单,说复杂能让你掉一层皮。我见过太多项目,开发到一半才发现「咦,用户要的不是这个啊」。嗯,今天我们就来聊聊,怎么把一句「我想要个某某系统」变成一份靠谱的功能列表。
2.1 用户故事:别让用户写需求文档
你想想看,让业务方写需求文档是什么结果?要么是几百页没人看的 Word,要么是「跟某某系统一样就行」。这两种我都踩过坑。
我个人习惯用用户故事来破冰。用户故事不是需求文档,它只是一个沟通工具。标准格式就三句话:
作为 <角色>
我希望 <功能>
以便 <价值>
举个例子:
好的用户故事:
作为 仓库管理员,我希望 扫码后自动填充入库单,以便 减少手工录入错误。
坏的用户故事:
作为 用户,我希望 系统好用,以便 提高效率。
看出区别了吗?好的故事有具体角色、具体操作、具体价值。坏的故事说了等于没说。
我的经验:写用户故事时,角色一定要具体。「用户」这个词太模糊了。是管理员?是普通员工?还是外部客户?角色不同,功能设计完全不同。
2.2 从故事到功能列表:拆解的艺术
用户故事收集完了,下一步就是拆成功能列表。这一步很多新手会犯一个错误——把故事直接当功能。
一个用户故事往往对应多个功能点。比如「扫码自动填充入库单」,拆开来看:
- 扫码枪接入功能
- 条码解析与校验
- 自动匹配商品信息
- 入库单模板填充
- 异常条码处理(扫不出来怎么办)
你看,一个故事拆出 5 个功能点。我曾经在一个项目中,20 个用户故事拆出了 120 多个功能点。不拆细一点,开发排期就是一笔糊涂账。
功能列表的格式我建议这样:
| 功能编号 | 功能名称 | 关联故事 | 优先级 | 预估工时 |
|---|---|---|---|---|
| F-001 | 扫码枪接入 | US-003 | P0 | 2人天 |
| F-002 | 条码解析与校验 | US-003 | P0 | 3人天 |
| F-003 | 自动匹配商品信息 | US-003 | P0 | 4人天 |
| F-004 | 入库单模板填充 | US-003 | P1 | 2人天 |
| F-005 | 异常条码处理 | US-003 | P1 | 3人天 |
注意:功能编号一定要有。后期测试用例、Bug 追踪都靠这个编号关联。别偷懒,不然后面哭都来不及。
2.3 优先级排序:不是所有功能都值得做
功能列表出来了,但资源有限,先做哪个?我见过最蠢的做法是「按用户说的顺序做」。用户说的时候可没考虑技术依赖和业务价值。
我个人常用 MoSCoW 方法,简单粗暴:
- Must have(必须有):没有这个功能,系统没法上线。比如登录、核心业务流程。
- Should have(应该有):很重要,但可以等一等。比如报表导出。
- Could have(可以有):锦上添花,有时间再做。比如深色模式。
- Won't have(这次不做):明确告诉用户,这次版本不包含。
排序的时候,我建议你画一张四象限图:
把功能点往这四个象限里一放,优先级一目了然。左上角(高价值低难度)先做,右下角(低价值高难度)直接砍掉。
我的习惯:每次排优先级,我都会拉上产品经理和核心用户一起过一遍。让他们自己把功能往象限里放,比我们拍脑袋准得多。
2.4 需求评审:别让评审变成走过场
需求评审是很多团队的痛点。要么没人说话,要么吵成一锅粥。我参加过不下 50 场需求评审,总结了几条铁律:
评审前:准备比会议重要
- 提前 2 天发功能列表和用户故事
- 要求参会者提前看,带着问题来
- 准备好原型或流程图(哪怕手画的也行)
评审中:控制节奏
- 先过整体流程,再扣细节
- 每个功能点确认:理解是否一致
- 争议点记录下来,不现场拍板
- 控制在 1 小时内,超时另约
评审后:输出比讨论重要
- 当天发出评审纪要
- 明确每个争议点的决策人和截止时间
- 更新功能列表状态(已确认 / 待确认 / 已驳回)
我曾经踩过的坑:有一次评审会开了 3 小时,大家聊得很嗨,结果会后没人写纪要。一周后开发按自己的理解做了,跟用户想要的完全不一样。从那以后,我坚持「无纪要,不散会」。
2.5 需求变更:拥抱变化,但要有代价
需求不变更的项目是不存在的。但变更不能是「你说改我就改」。我建议建立一套变更流程:
- 提出变更申请(写清楚为什么变、变什么)
- 评估影响范围(哪些功能要改、工时增加多少)
- 评审是否接受(变更的价值 vs 代价)
- 更新功能列表和排期
说白了,变更可以,但要让大家知道代价。我曾经在一个项目中,用户要求加一个「导出 Excel」的功能,看起来很简单。一评估才发现,涉及 5 个模块的数据整合,要加 3 天工时。用户听完自己就放弃了。
核心原则:需求分析不是一次性的工作。从用户故事到功能列表,再到优先级排序和评审,这是一个持续迭代的过程。别想着一步到位,那是不可能的。