怎样在 5 分钟内写好一份软件需求?
用大白话回答五个问题:这件事是什么、现在谁在做、碰哪些工具、应该变成什么样,以及"做完"是什么样。这就足够让 Aibrify 在开工前回复书面范围和固定价。另一条路很贵:按 PMI 2014 年的深度报告,47% 不成功的项目没能达成目标,原因是需求管理不到位。
软件需求是对企业希望软件去做的一件事的简短、大白话的描述,不是规格说明书。老板用自己的话、用自己已经知道的数字来写。工作室用书面范围和固定价来回复软件需求。
Aibrify 是洛杉矶的软件工作室,有四档固定价:$100 的自动化、$300 的工具、$1,000 的应用或 $5,000+ 的系统。每个项目都从落在纸上的范围开始。这篇指南给出五个问题、两份填好的需求、一份不该写的清单,以及按下发送之后会发生什么。
为什么一段短需求胜过一份长文档?
因为项目失败是因为抓错了重点,不是因为细节不够。Standish Group 1994 年的 CHAOS 报告把用户参与(15.9%)和清晰的需求陈述(13.0%)列入前三个成功因素。五个问题的需求,就是使用者亲自写下一个需求。
在 PMI 2018 年的 Pulse of the Profession 里,项目失败的首要原因是组织优先级的变化,占 39%。其次是项目目标的变化,占 37%,以及需求收集不准确,占 35%。
同一份报告发现,过去 12 个月完成的项目里 52% 出现了范围蔓延,五年前是 43%。报告把项目表现不佳造成的浪费定为每一美元的 9.9%。
单是需求本身就有可量化的代价。PMI 2014 年的报告发现,每一美元项目支出里有 5.1% 因需求管理不到位而浪费,相当于每 10 亿美元浪费 5,100 万。它还发现 37% 的组织把"需求收集不准确"列为失败的主因,比前一年的 32% 更高。
这个模式由来已久。Standish Group 1994 年的原始 CHAOS 报告发现,只有 16.2% 的软件项目按时按预算完成。另有 52.7% 延期或超支完成,花费是原估算的 189%,还有 31.1% 被取消。

上图是 1994 年报告里被取消项目背后提及最多的六个因素,下表是同一组数字。
| 项目被取消的因素 | 回答占比 |
|---|---|
| 需求不完整 | 13.1% |
| 用户参与不足 | 12.4% |
| 资源不足 | 10.6% |
| 期望不切实际 | 9.9% |
| 高层支持不足 | 9.3% |
| 需求和规格变更 | 8.7% |
榜首的两个因素,需求不完整和用户参与不足,正好是上面两个成功因素的反面。
软件需求里的五个问题是什么?
五个问题覆盖这件事、这个人、这些工具、结果和验收。每个问题大约一分钟能答完,五个答案合起来就是需求。
1. 这件事是什么? 一句话,带触发条件和动作。"顾客预约后,前一天给他发短信"是一件事;"我们需要一个预约系统"是一个愿望。好的答案会说明这件事从哪一刻开始。
2. 现在谁在做,多久一次? 一个人、一个频率、一个大概的时长。"Mei,每天早上,大约 40 分钟。"这个答案决定了这件事值多少,也告诉工作室该用哪一档。按 Time etc 对 251 位美国创业者的调查,创业者每周 45.5 小时里 36% 花在行政事务上,所以这些分钟会累积起来。
3. 碰哪些工具? 点名:Google 表格、Square、Gmail、纸本日程、店里的电话号码。"我们的表格"可以;"我们的系统"不行,因为工作室没法为一个叫不出名字的工具报连接的价。
4. 应该变成什么样? 从顾客或老板的角度描述结果,永远不要从软件的角度。"顾客在前一天上午十点收到短信,带地址,也能回复。"不要写软件怎么实现。
5. "做完"是什么样? 一个老板自己能跑的测试,比如"我假装预约明天,然后十点收到短信"。如果没人能描述这个测试,范围就还没准备好,报出来的价也只能是猜的。

图是做成卡片的模板,下表是带示例列的同一份模板。
| 问题 | 好的答案包含 | 示例答案(餐厅等位) |
|---|---|---|
| 1. 这件事是什么? | 触发条件和动作 | 客人加入等位后,短信告知排位,桌子准备好再发一条 |
| 2. 现在谁在做,多久一次? | 一个人、一个频率、大概时长 | 领位员,周五周六晚上,每晚约 80 组客人 |
| 3. 碰哪些工具? | 点名的工具,哪怕是纸 | 纸本等位单、订位用的 Google 表格、餐厅的电话号码 |
| 4. 应该变成什么样? | 从顾客角度描述的结果 | 客人收到"您排第 6 位,约 25 分钟",稍后收到"您的桌子准备好了" |
| 5. "做完"是什么样? | 老板自己能跑的测试 | 周五晚上领位员不用出门找客人,名单显示谁何时入座 |
餐厅填好的需求长什么样?
以一家 60 个座位、周五晚上用纸本等位、让领位员出门找客人的餐厅为例。例子是假设的,里面的数字是老板自己的估计,价格是 Aibrify 的。
- 这件事。 客人加入等位后,短信告知排位,桌子准备好再发一条。
- 现在谁在做。 领位员,周五周六晚上。每晚约 80 组客人,每组都要出门找一趟。
- 工具。 纸本等位单、订位用的 Google 表格、收款用的 Square,以及餐厅的电话号码。
- 应该变成什么样。 领位员在平板上的名单里输入姓名和电话。客人收到"您排第 6 位,约 25 分钟"。领位员点"就绪",客人收到"您的桌子准备好了"。
- 做完的样子。 周五晚上领位员不用出门找客人,名单显示谁何时入座。
收到的回复是一份订位和等位短信的书面范围,$300,大约一周交付。范围内:平板上的名单、两条短信、一天的记录。范围外:网站上的在线订位,那是另一个工具;接电话,那是虚拟前台。
老板五分钟就写完了,因为每个答案都是他早就知道的事。里面没有一句在描述软件。
诊所填好的需求长什么样?
以一家前台每天下午打电话确认第二天病人的牙科诊所为例。这份需求只涉及非医疗工作:提醒里只有预约时间和回复方式,医疗问题交给员工。
- 这件事。 每次预约前一天给病人发短信确认,并让他们回复确认或要求改期。
- 现在谁在做。 前台,每天下午,为第二天的 30 位病人打大约一小时的电话和留言。
- 工具。 能导出或共享当天名单的诊所日程系统,以及诊所用来发短信的电话号码。
- 应该变成什么样。 前一天上午十点,病人收到一条带两个选项的短信:回 C 保留预约,回 R 改期。回复落在前台能看到的名单上,回复 R 的由员工回电。
- 做完的样子。 下午四点前,明天的名单显示已确认、未确认和要求改期的病人,而没有打过一个电话。
这个需求背后的证据是公开的。在一项儿科诊所的随机试验中,有短信提醒的爽约率是 23.5%,没有的是 38.1%,见 Lin 等人的研究。一篇涵盖 29 项研究的综述算出,自动提醒每次 €0.14,员工打电话每次 €0.90,见 Hasvold 和 Wootton。
收到的回复是一份减少爽约的预约提醒范围,$300,大约一周。范围外:短信里任何医疗内容。生成 PDF 的问诊表是首页诊所类里列出的另一个 $300 工具。
需求里不该写什么?
不要写技术选型、设计偏好、未来功能、竞品功能清单和账号信息。每一样都会让报价变慢或变错。
技术选型。 "用 X 来做"或"用这个平台"在理解这件事之前就绑住了工作室的手。点名企业已经在用的工具,其余交给工作室来选。
设计偏好。 颜色、字体和版式在范围之后再谈。一份从页面长相开始的需求,还没有说清这个页面做什么。
未来功能。 "以后它还应该……"是一个 $300 的工具还没做出来就变成 $5,000 系统的方式。为三个月后仍然重要的那件事写需求。优先级的变化是 PMI 2018 年调查里失败的首要原因。
竞品功能清单。 "像街对面美发店用的那个应用一样"描述的是产品,不是一件事。工作室需要的是这件事,产品可以以后再看。
账号信息。 短信或邮件里不要放密码、卡号或病人姓名。访问权限在范围签署后,通过老板自己的账号安排。
发出需求之后会发生什么?
Aibrify 在一个工作小时内用短信、邮件或微信回复,要么是一个问题,要么是书面范围。五个答案清楚之后范围随即跟上,并且一定在开工之前。
- 说需求。 五个答案,用短信、邮件或微信发出。附一张纸本等位单的照片或表格的截图会更好。
- 定范围与固定报价。 一份书面文件,列出输入、输出、涉及的工具、不包含什么、固定价和工期。价格附在这份文件上。
- 开发与检查。 工作室用老板的真实数据开发。老板在手机上跑第五个问题里的"做完"测试。
- 交付与移交。 代码归客户,可以搬到任何地方。托管在 Aibrify 可选,每月 $10 到 $30,交付范围内的故障修复包含在内。
如果范围比预想的大,就拆开。第一个交付物应该是大需求里包含的那个 $100 的自动化或 $300 的工具。$1,000 的应用等第一个跑满一个月再做。

上图是从业者报告的所在组织 12 个月内完成项目的情况,下表列出书面范围要防的那些数字。
| 过去 12 个月完成的项目中 | 报告占比 |
|---|---|
| 达成原定目标和业务意图 | 69% |
| 在最初预算内完成 | 57% |
| 在最初排定的时间内完成 | 52% |
| 出现范围蔓延或失控的变更 | 52% |
| 被判定为失败 | 15% |
书面范围加固定价,把预算风险转到工作室;范围里写明的工期才是保护进度的东西。文件之外的任何东西是一份新报价,不是意外。代码归谁讲移交包含什么。
什么时候五分钟的需求不够用?
五分钟的需求有四个边界。流程还没定、这是一个多角色系统、没人能描述"做完",或者要的是一个产品。
流程还没定。 如果餐厅每个周末都在改等位的做法,软件会把错的版本固化下来。先在表格上跑两周,再写需求;表格加自动化还是定制应用讲分界线在哪。
这是一个多角色系统。 带员工视图和客户视图的客户门户,或分档价格的批发系统,属于 $5,000+ 那一档。五个问题仍然是第一条消息,但范围要一起写,不止一次沟通。
没人能描述"做完"。 需求本质上是一个测试。如果第五个答案是"看到了就知道",工作室的回复应该是更多问题,而不是价格。
要的是一个产品。 "像大连锁店用的那种应用"是一个内含几十件事的产品。挑出这周最花时间的那一件事来写需求。自建还是购买讲什么时候现成产品是更好的答案。
还有一种情况是受欢迎的。如果这份需求描述的是你这一行每家店都需要的东西,把它发到心愿墙。Aibrify 每月免费做一个大家点名的工具,所有人都能用。
常见问题
什么是软件需求?
软件需求是企业希望软件去做的一件事,用大白话分五部分描述。这五部分是:这件事、现在谁在做、碰哪些工具、应该变成什么样,以及“做完”是什么样。它不是技术规格说明书,工作室用书面范围和固定价来回复它。
软件需求该写多长?
五个答案各一到三句话,就足够为 $100 的自动化或 $300 的工具拿到固定报价。更长的需求往往多出来的是技术选型和未来功能,而这两样正是工作室报价前必须先放到一边的东西。一张现在怎么做的照片比多写几页更有用。
写需求需要懂技术吗?
不需要。需求点名企业已经在用的工具,比如表格或收款应用,并从顾客的角度描述结果。选技术是工作室的事;一份指定技术的需求,等于逼工作室在理解这件事之前先给一个限制条件定价。
如果我不知道这件事现在要花多久呢?
估一个,并说明是估的。"大概每天一小时吧"是可用的答案,因为工作室要的是量级,不是工时表。Time etc 调查里的创业者每周 45.5 小时有 36% 花在行政上;合适的单位是每周几小时,不是几分钟。
发出需求后多快能拿到报价?
Aibrify 在一个工作小时内(太平洋时间)用短信、邮件或微信回复。回复要么是一个澄清的问题,要么是带固定价的书面范围,范围一定在开工前给出。五个问题都答到的需求,已经给了工作室不用再问一轮就能写范围的全部信息。
报价之后范围变了怎么办?
书面范围之外的任何东西,在做之前都会另行书面报价,所以原价永远不动。交付范围内的故障修复包含在内。优先级和目标的变化是 PMI 2018 年调查里失败的前两大原因,这正是范围要书面固定的原因。
可以用中文发需求吗?
可以,用短信、邮件或微信,任一语言都行,因为 Aibrify 用中文和英文工作。书面范围会用需求的语言回复。做好的工具可以显示英文、中文或双语,在固定价内不另收费。
$5,000 的系统也能用这份需求吗?
可以,作为第一条消息:带集成的多角色系统要一起定范围,不止一次沟通。五个问题仍然是开场,因为它们找出最重要的那一件事。先做一个 $300 的工具把流程跑通,是通往系统的稳妥第一步。
接下来该做什么?
今晚就在手机上开一条备忘,挑出这周最花时间的那一件事,为它回答五个问题。一张现在怎么做的照片,纸本清单或截图都行,顶得上一段话。
用短信或邮件把备忘发给 Aibrify;一个工作小时内会收到回复,然后是带固定价的书面范围。范围在开工前给出,五问的格式最适合 $100 的自动化或 $300 的工具,代码归客户。备忘通过开始一个项目发来;现行价格就在同一个页面上。



