先把问题定义清楚
交付手记:从需求到上线 · 第 1 章
客户说的需求往往不是问题本身。开工前先搞清楚谁在用、解决什么、什么算成功。
返工通常源于这一步省略了
需求没搞清楚就动手,最后大概率要重做。我在写下第一行代码之前,会先把三件事写清楚:谁在用、解决什么问题、什么算成功。
这三句话看着简单,能把它们完整写出来,说明你确实理解了业务。
客户说的需求,常常是方案
「我要一个报表导出功能」,背后可能是「每周要花两个小时手工汇总数据」。前者限定了实现方式,后者留出了讨论空间——也许真正该解决的是数据录入环节,而不是导出环节。
遇到这种情况,我会把对方的方案翻译回问题,再用一句话复述给他确认。确认过的问题,才是后面所有工作的基准。
一个可执行的判断标准
- 能用一句话复述问题,且对方点头
- 把「成功」写成可验证的判断标准,而不是形容词
- 明确写出这一次不做什么
第三条最容易被忽略,但它往往决定了项目能不能按期交付。
延伸阅读
如果项目已经进入方案阶段,可以参考 Web 系统定制开发 中的范围与交付说明,或直接看下一篇《用范围换确定性》。