瀑布阶段验收要同时回答两个问题:缺陷是否收敛到可接受范围,交付物是否齐备到可以交接。把“验收通过”拆成缺陷线和交付物线分别量化,设定一票否决项与加权判定规则,才能让阶段评审有据可依。本文给出缺陷门槛的分级、分母与时间窗口径,交付物完整性的清单判定方法,并用算例演示从取数到给出结论的过程。
要点总览(TL;DR)
- 瀑布阶段验收把“能不能过”拆成缺陷线和交付物线分别判定,再合并为通过、有条件通过、不通过三档结论。
- 缺陷门槛按致命、严重、一般、轻微分级:致命缺陷清零作为一票否决,严重缺陷设极低遗留上限,一般与轻微缺陷设数量上限并列入遗留清单。
- 缺陷指标要写清分母与时间窗,关闭率按本阶段新增缺陷计算,统计截止到评审前固定时点,保证任何人按同一规则都能复算出相同结果。
- 交付物完整性用清单逐项判定缺失、草稿、可评审、已签署四种状态,按权重汇总完成率,关键交付物缺失作为一票否决。
- 门槛数值没有通用标准,需在阶段启动时结合项目类型与历史数据约定并写入验收标准,指标用于阶段决策,不宜直接作为个人考核依据。
阶段验收要回答的两个问题:能不能过、缺什么
阶段验收的决策目标是把“这个阶段能不能结束”转化为可判定的条件。缺陷线回答“质量是否收敛到可以进入下一阶段”,交付物线回答“该交付的东西是否齐备、可评审、可交接”。两条线各自独立判定,再合并为阶段结论,避免用一句“整体感觉还行”代替评审。
验收结论建议分为三档,并在项目启动时写入验收标准:
| 结论 | 判定条件 | 后续动作 |
|---|---|---|
| 通过 | 两条线均无一票否决项,且加权得分达到约定阈值 | 阶段关闭,进入下一阶段 |
| 有条件通过 | 无一票否决项,但存在允许遗留项或完整性未达阈值 | 列出整改项、责任人与复验时点,限期关闭 |
| 不通过 | 触发任一一条否决项,或加权得分低于下限 | 阶段不关闭,整改后重新评审 |
设定门槛前需先确认三件事:阶段范围(本阶段从哪个里程碑到哪个里程碑)、基线(需求基线、计划基线、交付物清单版本)、统计截止时点。范围与基线不清,缺陷分母和交付物清单都会漂移,结论无法复算。门槛服务于阶段决策,用于判断“能否进入下一阶段”,不宜直接作为个人绩效考核依据。
缺陷门槛:按严重度分级设限,写清分母与时间窗
缺陷门槛的核心是把“缺陷可控”拆成可计算的规则:哪些缺陷必须清零,哪些允许遗留,遗留多少算可接受,统计到哪一刻为止。建议按严重度分四级设定处理规则:
| 严重度 | 典型定义 | 门槛规则 |
|---|---|---|
| 致命 | 系统不可用、数据丢失、安全漏洞、核心流程中断 | 一票否决:本阶段必须清零,未关闭即不通过 |
| 严重 | 主要功能不可用或结果错误,无合理规避手段 | 一票否决或设极低上限(如遗留不超过约定条数且均有规避方案与关闭计划) |
| 一般 | 功能可用但存在偏差,有规避手段 | 设数量上限或缺陷密度上限,超出则降档为有条件通过 |
| 轻微 | 界面、文案、易用性问题 | 允许遗留,计入遗留清单并约定后续版本处理 |
一票否决项与允许遗留项的区别在于是否阻断阶段关闭:否决项未满足,无论其他指标多好都判不通过;允许遗留项则进入整改清单,作为有条件通过的条件。严重度上限的具体数值没有通用标准,需结合项目类型、系统影响面和历史数据在启动时约定。
分母必须写清楚。缺陷关闭率建议按本阶段新增缺陷计算:关闭率 = 本阶段已关闭缺陷数 ÷ 本阶段新增缺陷数 × 100%,统计范围限定为本阶段范围内提出且严重度在约定级别以上的缺陷。若关注整体收敛情况,可另设累计遗留缺陷数作为辅助指标,但两者不可混用同一门槛。重开率 = 统计期内被重开的缺陷数 ÷ 同期已关闭缺陷数 × 100%,用于识别“关闭但未真正修复”的情况。
时间窗要截止到验收评审前的固定时点,例如评审会前一个工作日结束,之后提出的缺陷计入下一阶段。取数来源需在验收标准中写明:缺陷管理工具中的状态、严重度字段,以及统计导出时间。时间窗和取数口径固定后,任何人按同样规则都能复算出相同结果。
交付物完整性:清单化判定,而不是凭印象打分
交付物完整性用清单逐项判定,每项给出明确状态,再汇总为完成率。清单在阶段启动时确定并纳入基线,评审时按同一版本核对。常见交付物包括:需求规格与设计文档、测试计划与测试报告、部署与回滚说明、培训材料、验收记录、遗留问题清单等,具体构成按项目类型裁剪。
每项交付物设四种判定状态,并赋予对应得分:
| 状态 | 判定标准 | 建议得分 |
|---|---|---|
| 缺失 | 清单中有、实际未产出 | 0 |
| 草稿 | 已有内容但未经评审,或关键章节不完整 | 0.5 |
| 可评审 | 内容完整,已提交评审并可被干系人查阅 | 0.8 |
| 已签署 | 评审通过并有签署或确认记录 | 1 |
完整性完成率 = Σ(各项得分 × 权重)÷ Σ权重 × 100%。权重用于区分关键交付物与一般交付物:关键交付物(如设计基线文档、测试报告、部署说明)权重更高,且缺失时作为一票否决项;一般交付物(如培训材料初稿)允许处于草稿状态并列入整改。是否将某项定为关键交付物,取决于它是否是下一阶段的必要输入,需在清单中标注而非评审时临时判断。
计算与评估步骤:从取数到给出验收结论
评估流程按固定顺序执行,保证结论可复算、可追溯:
- 确认取数范围。锁定阶段起止里程碑、缺陷统计时间窗截止时点、交付物清单版本,记录数据导出时间与来源系统。
- 计算缺陷指标。按严重度统计本阶段新增缺陷数、已关闭数、遗留数,计算关闭率与重开率,单独列出致命与严重缺陷的未关闭清单。
- 计算完整性完成率。逐项核对交付物状态,按权重汇总得分,列出缺失与草稿项。
- 对照门槛判定。先检查一票否决项:致命缺陷是否清零、关键交付物是否缺失。任一触发即判不通过;无否决项时,再看缺陷上限与完整性完成率是否达到约定阈值,达到判通过,未达到判有条件通过。
- 形成整改清单。有条件通过时,逐项写明整改内容、责任人、完成时间与复验方式,复验时点一般不晚于下一阶段首个里程碑。
这套流程中的缺陷状态、严重度分布和交付物状态需要在同一处可查。ONES 支持缺陷跟踪管理并统计缺陷状态分布,提供多种图表形态的报表,可自定义数据范围和维度进行项目度量;项目计划可按交付物或项目阶段分解工作,并用里程碑标记决策点,计划和里程碑可设基线用于对比偏差。将缺陷字段与交付物清单状态放在项目内维护,评审时按固定时间窗导出,能减少口径争议。具体字段配置与报表口径需在实际环境中确认。
一个算例:某阶段验收如何判定
以下为演示情景,数字仅用于说明计算过程。某瀑布项目进入系统测试阶段验收,约定:致命与严重缺陷一票否决(严重缺陷允许遗留不超过2条且须有规避方案),一般缺陷遗留上限为10条;关键交付物缺失即否决,完整性完成率阈值90%,低于80%判不通过。
缺陷数据:本阶段新增缺陷60条,其中致命2条、严重8条、一般35条、轻微15条;截至评审前一个工作日,致命已关闭2条,严重已关闭6条、遗留2条(均有规避方案),一般已关闭28条、遗留7条,轻微已关闭10条、遗留5条。关闭率 = 46 ÷ 60 × 100% ≈ 76.7%;同期关闭缺陷中重开3条,重开率 = 3 ÷ 46 × 100% ≈ 6.5%。致命清零、严重遗留2条在允许范围内、一般遗留7条低于上限10条,缺陷线无否决项。
交付物清单共8项,权重合计10:设计文档(权重2,已签署)、测试报告(权重2,可评审)、部署说明(权重1.5,可评审)、验收记录(权重1,草稿)、培训材料(权重1,草稿)、遗留问题清单(权重1,可评审)、数据迁移说明(权重1,已签署)、运维手册(权重0.5,缺失)。得分 = 2×1 + 2×0.8 + 1.5×0.8 + 1×0.5 + 1×0.5 + 1×0.8 + 1×1 + 0.5×0 = 7.5,完成率 = 7.5 ÷ 10 × 100% = 75%。关键交付物无缺失,但完成率低于80%,判不通过,需补齐运维手册、推进验收记录与培训材料评审后重新评审。
边界情况:若某阶段新增缺陷为0,关闭率分母为零,此时不计算关闭率,改以遗留缺陷数和严重度分布作为判定依据,并在记录中注明“本阶段无新增缺陷”。若缺陷数据缺失或导出不完整,按不通过处理并要求补数,不以估算值替代。
解读与限制:门槛是闸门,不是质量保证
指标达标只说明在约定口径下满足了进入下一阶段的条件,不能等同于产品质量结论。缺陷数量受发现能力影响:测试覆盖不足时缺陷少,不代表质量好;统计口径变化(严重度定义调整、统计范围扩大)会让不同阶段的数据不可直接比较。跨阶段对比时需确认严重度定义、分母范围和统计时间窗一致,否则只做同口径内的趋势观察。
门槛数值应随阶段和项目类型调整:设计阶段侧重交付物评审,测试阶段侧重缺陷收敛,上线前阶段对致命与严重缺陷的要求更严。项目类型不同(新建系统、改造升级、外部交付),允许遗留的级别和数量也不同。调整原则是在阶段启动时与干系人对齐并写入验收标准,评审时按约定执行,避免事后放宽。
验收指标适合判断阶段能否关闭,不适合直接用于个人考核。缺陷数与个人绩效挂钩容易导致漏报、延迟提报或严重度降级,反而削弱数据可信度。若需用于团队改进,应结合缺陷发现阶段分布、重开原因分析等过程证据一起解读,把门槛当作阶段决策的闸门,把改进动作放在评审后的复盘里。
常见问题
阶段验收时缺陷关闭率的分母应该取本阶段新增缺陷还是累计遗留缺陷?
建议以本阶段新增缺陷作为关闭率的分母,公式为:关闭率 = 本阶段已关闭缺陷数 ÷ 本阶段新增缺陷数 × 100%。这个口径反映的是本阶段投入的测试与修复是否收敛,适合作为阶段关闭的判定依据。
如果还需要观察整体质量趋势,可以另设累计遗留缺陷数作为辅助指标,单独设定观察阈值,不与关闭率共用同一门槛。两个口径混用时,分母范围会随阶段推移不断变化,同一数值在不同阶段之间失去可比性,评审时容易产生口径争议。无论选哪个口径,都要在验收标准中写明统计范围和取数来源。
致命缺陷已经全部关闭,但严重缺陷还有几条未修复,这种情况能判通过吗?
取决于验收标准中对严重缺陷的约定。常见做法有两种:一种是把严重缺陷也纳入一票否决,未清零即判不通过;另一种是设极低遗留上限,例如允许遗留不超过约定条数,但每条都必须有规避方案和明确的关闭计划。
采用第二种做法时,遗留的严重缺陷应进入整改清单,作为有条件通过的条件,写明责任人、完成时间和复验方式。需要注意,允许遗留的前提是这些缺陷有可用的规避手段,不影响下一阶段的必要工作;如果遗留缺陷会阻断下一阶段的关键路径,即使数量在上限内,也应判不通过。具体上限数值需在阶段启动时与干系人对齐并写入验收标准。
交付物完整性完成率达到了阈值,但某项关键交付物还是草稿状态,应该怎么判?
关键交付物的判定优先于完成率。如果验收标准中已将某项交付物标注为关键交付物,并约定缺失或未达可评审状态即触发一票否决,那么即使加权完成率达到阈值,也应判不通过或有条件通过,具体取决于标准中对关键交付物状态的约定。
实际操作中,建议在阶段启动时就在清单里标注哪些是关键交付物,判断依据是它是否为下一阶段的必要输入,例如设计基线文档、测试报告、部署说明。评审时按清单核对,避免临时判断某项是否关键。关键交付物处于草稿状态时,应明确补齐评审的时间点,并将其作为复验的重点项。
某个阶段新增缺陷为零,关闭率无法计算,验收该怎么处理?
分母为零时不计算关闭率,改以遗留缺陷数量和严重度分布作为缺陷线的判定依据,并在验收记录中注明“本阶段无新增缺陷”,说明统计范围和取数时间。这样处理可以避免出现除以零的错误,也保留了判定过程的可追溯性。
同时要确认新增缺陷为零的原因:是测试范围确实很小,还是测试执行不充分导致缺陷未被发现。如果是后者,缺陷数据本身不足以支撑质量结论,应在评审中说明测试覆盖情况,必要时补充测试后再评审。缺陷数据缺失或导出不完整时,按不通过处理并要求补数,不用估算值替代实际数据。
验收门槛的数值可以沿用上一个项目的标准吗?
可以参考历史数据,但不宜直接照搬。缺陷上限和完整性完成率阈值受项目类型、系统影响面、阶段位置和团队历史数据影响:新建系统与改造升级的风险不同,设计阶段与上线前阶段对缺陷收敛的要求也不同。直接沿用其他项目的数值,可能出现门槛过松导致风险漏判,或过严导致评审反复。
更稳妥的做法是在阶段启动时,结合本项目的历史缺陷数据和交付物清单,与干系人对齐门槛数值并写入验收标准,评审时按约定执行。跨阶段对比数据时,还要确认严重度定义、分母范围和统计时间窗一致,否则只做同口径内的趋势观察。
