把功能要求写成验收项,最先要做的不是排版一份表格,而是先把每条要求改写成“在什么条件下,谁做什么操作,看到什么可判断的结果”。很多塘沽网站建设项目的需求清单写成“支持在线咨询”“后台可管理内容”“页面要好看”,这些是功能愿望,不是验收项。验收项必须让开发、设计和客户三方都能得出同一个结论:通过还是不通过。时间和人手有限时,优先处理那些影响上线、影响钱、影响后续维护的条目,其余可以放到第二批次。
“支持在线咨询”这句话看起来明确,实际无法验收。它没有说明咨询入口出现在哪些页面、点击后是弹出表单还是跳转第三方、提交失败时提示什么、留言进了哪个后台、多久内能看到。开发按自己的理解做完,客户按自己的想象检查,双方都觉得自己没错。
原因在于功能描述回答的是“要做什么”,验收项回答的是“做到什么程度算完成”。前者是方向,后者是判据。把功能要求直接当验收项用,等于把判断权留给了事后争论。
有一种情况可以例外:纯展示型页面,比如“关于我们”只放一段固定文字和一张图,验收项可以简化为“页面在常见浏览器打开后文字完整、图片不变形、联系方式与给定内容一致”。功能越简单,验收项可以越短,但不能没有。
以“在线留言”为例,可以拆成下面几项,每项都能单独打勾或打叉:
每一项都写成“操作—预期结果”的形式。例如:在联系页不填手机号直接点提交,页面停留在原处,手机号输入框下方出现提示文字,表单其他已填内容不丢失。这样的句子开发能照着做,客户能照着点。
判断标准是:换一个人来测,得到的结论是否和你一样。如果两个人可能得出不同结论,这一项就还需要再拆。
不是所有功能都值得同等对待。优先顺序可以按下面三条判断:
相对不急的包括动画效果、鼠标悬停样式、非关键页面的排版微调。这些可以写进验收项,但放在第二批确认,不必卡住上线。
假设一个项目只有三天时间做验收准备,比较合理的分配是:第一天把表单、支付、登录这类交互项逐条写成操作步骤;第二天写后台管理项和内容展示项;第三天留给样式和兼容性。这个分配是举例,实际按项目功能数量调整。
验收项写完,不要直接发给开发就结束。做一次走查:
走查时最容易发现的问题是缺失败路径。多数需求只写“提交成功”,没写“提交失败怎么办”。网络中断、必填未填、重复提交、内容超长,这些都属于要提前定好的验收条件。
如果某项暂时定不下来,比如第三方接口的返回内容还不确定,就把它单独列为待确认项,写清由谁在什么时间前确认,不要用模糊描述蒙过去。
拿出当前的需求清单,从头到尾读一遍,把每条里出现的“支持”“可以”“方便”“美观”圈出来,这些词所在的位置通常就是验收项缺失的位置。先改影响上线和影响钱的那几条,改成“操作—预期结果”的句式,再拿给开发确认一遍能否实现。剩下的条目按同样的方法处理,但不必一次改完。