把功能要求写成验收项,核心是让每一条都包含三部分:可观察的现象、可重复的操作、可判定的结果。也就是说,不写“支持用户登录”,而写“输入正确账号密码后,点击登录,页面进入个人中心并显示用户名”。在网站建设时间有限、人手紧张的情况下,验收项写得越具体,越能减少返工和反复确认,把时间留给真正必须先完成的功能。
功能要求回答“要做什么”,验收项回答“做到什么程度算完成”。例如“联系我们表单能发邮件”是功能要求;验收项要写成:在表单中填写姓名、邮箱、留言,点击提交,页面显示提交成功,且指定邮箱收到内容一致的邮件。前者容易产生理解分歧,后者可以直接操作并判断通过或不通过。
判断一条要求是否已经变成验收项,可以看它是否满足三点:第一,有明确的触发动作;第二,有明确的观察对象;第三,有明确的通过标准。缺少任何一点,都还停留在愿望层面。
下面这份清单可以直接用于时间紧、人手少的项目,按顺序逐条处理,每项都包含要查什么、怎么查、结果说明什么。
假设原要求是“后台可以管理文章”。改写时可拆成几条验收项:
这四条的适用条件是:项目已有基本后台和文章展示页。判断结果是,任何一条无法按步骤复现,就说明该功能尚未达到可验收状态,而不是“基本可用”。
优先处理影响主流程的验收项,例如注册、登录、下单、提交表单、内容发布。这些功能一旦返工,会牵连多个页面。其次是涉及数据写入和删除的操作,因为它们容易造成不可逆结果。最后才是展示层细节,例如间距、颜色、动画。这样安排的原因是,主流程验收项能最早暴露需求理解偏差,而展示层问题通常可以在不阻塞开发的情况下后补。
如果只有一个人负责验收,可以把每条验收项写成固定格式:前置条件 + 操作步骤 + 预期结果 + 实际结果。执行时只记录通过或不通过,不写长篇描述。这样即使中途换人,也能快速接手。
从当前功能列表中挑出三条最重要的要求,按上面的清单逐条改写成验收项,并标出必须通过的项目。改写过程中如果发现某条要求无法写出操作步骤,就先与提出方确认,再决定是否排入本轮网站建设时间。