需求清单写到什么程度,判断标准不是页数多少,而是能不能让开发方据此交付、让验收方据此判断合格。对已有页面或项目的改进,清单至少要写清“改哪里、改成什么、谁提供资料、怎么算完成”四件事,写到双方对结果没有第二种理解就可以停,不必把每个按钮的颜色都写成代码。
改版需求最容易写偏的地方,是只列动作不列结果。比如“优化首页”不是需求,“首页首屏在手机宽度下显示主标题、一句说明和一个咨询按钮,滚动后按钮固定在底部”才是需求。判断一条需求是否合格,可以问自己:开发完成后,我能不能只看着页面就判断它做到了没有?如果答案是否定的,这条就还要继续写。
倒推的顺序是:先写最终交付物,再写它包含哪些页面和功能,然后写支撑这些功能需要的资料,最后写验收方式。顺序反过来,先堆功能名,往往会漏掉资料和验收,导致项目中途反复。
已有项目改进时,资料往往散在旧服务器、旧后台或某位同事手里。清单里应把资料当成交付项的一部分,而不是“到时候再说”。可以按下面的结构逐条写:
任务和责任也要对应。比如“旧文章迁移”要写明由谁导出、由谁核对数量、发现漏迁时谁负责补。责任不清的需求,执行时最容易变成互相等待。
“美观”“大气”“流畅”无法验收。可以换成能实际执行的检查项,例如:
这些检查项不需要专业工具就能做,适合作为验收依据。涉及性能、安全等难以肉眼判断的部分,可以约定用某一项公开指标或某次现场演示来确认,但不要在清单里写“必须排名靠前”这类无法由开发方单独控制的结果。
需求清单不是技术方案。具体用哪个框架、数据库怎么建表、代码怎么分层,属于开发方在实现阶段决定的内容,写进去反而会限制合理做法,也容易在验收时争论无关细节。同样,推广效果、搜索排名、访问量增长不属于网站开发交付范围,不应作为开发方的验收条件。
但影响结果的约束要写,例如必须兼容哪些浏览器、是否要保留旧后台的某些操作习惯、上线时间是否与某个活动绑定。这些是开发方做选择时的前提,不写就会返工。
把写好的清单交给没有参与讨论的同事读一遍,请他回答三个问题:改完后页面长什么样、他需要提供什么、怎么判断做完了。如果三题都能答出来,程度就够了;如果某一题答不出,就补那一部分。这个方法不依赖具体工具,也不需要额外成本,适合在提交需求前自己先做一轮。
下一步,挑出清单里责任人和验收标准仍然空着的条目,先把这两栏补齐,再和开发方逐条确认,确认后的版本就是后续变更的基准。