严重程度不是给 Bug 贴一个“高、中、低”的标签,而是回答一个更具体的问题:如果这个缺陷继续存在,用户、业务和系统会受到多大影响?我在缺陷评审中最常见的争议,不是大家看不懂故障现象,而是有人按“修起来有多难”定等级,有人按“谁提的”定等级,还有人把严重程度和修复优先级混为一谈。要从 0 到 1 建立缺陷分级,关键不是设计一张看起来精细的表,而是让不同角色面对同一类影响时,能做出相近、可解释、可复盘的判断。
一、先讲核心结论:严重程度衡量损害,不衡量声量
1. 严重程度回答“影响有多大”
我会把严重程度定义为:缺陷在当前版本、当前用户范围和当前业务场景下,对核心功能、数据正确性、资金安全、合规要求及用户完成任务能力造成的实际或潜在损害。它首先是对影响的描述,而不是对修复工作量的估算,也不是对提单人情绪的评分。
例如,一个按钮颜色错误可能需要前端改动多个组件,但用户仍能正常完成任务;另一个偶发的订单重复扣款问题,可能只需要改一行幂等判断,却会造成资金损失。前者开发成本可能更高,后者的严重程度通常更高。实现难度不能替代业务影响。
2. 优先级回答“什么时候处理”
严重程度和优先级有关联,但不是同一个字段。严重程度描述问题本身的损害等级;优先级还要结合修复时机、版本窗口、依赖关系、用户承诺、资源和风险接受度。一个高严重程度缺陷可能需要立即止损,但彻底修复要等数据库迁移;一个低严重程度缺陷也可能因为即将发布的大客户演示而被临时提前。
我建议在缺陷单中分别记录“严重程度”和“处理优先级”。如果团队只有一个字段,讨论就很容易变成“这个 bug 到底是不是最高级”的拉扯,实际却没有说清楚“要不要暂停发布、是否先关闭开关、谁来通知受影响用户”。
3. 从 0 到 1,先建立可执行的少数等级
初建规则时,我通常建议从四级开始,而不是一开始就做七级、十级。四级足以区分不可用或高风险、核心能力受阻、局部功能受影响、轻微体验或展示问题。每一级都要有清晰的判断条件、例子、响应动作和升级路径。
分级名称可以是 S0,S3,也可以是 P0,P3 或“致命、严重、一般、轻微”。名称并不重要,重要的是团队能回答:这个级别意味着什么、谁来确认、多久响应、发布前必须满足什么条件。没有行动后果的等级,只是标签,不是管理机制。
| 等级 | 判断重点 | 典型响应 | 发布判断 |
|---|---|---|---|
| S0 致命 | 核心链路不可用,或资金、数据、隐私、安全存在重大风险 | 立即止损并拉齐负责人,持续跟踪 | 通常暂停发布或关闭受影响功能 |
| S1 严重 | 重要功能明显受阻,影响范围较大,暂无可靠替代路径 | 尽快确认绕行方案和修复计划 | 需要产品、研发、测试共同评估 |
| S2 一般 | 部分用户或非关键场景受影响,有可接受的临时办法 | 纳入迭代或明确修复时间 | 评估风险后可发布,需有记录 |
| S3 轻微 | 轻度体验、文案或视觉问题,不妨碍主要任务完成 | 进入常规缺陷池并择机处理 | 通常不单独阻断发布 |
二、背景和真实场景:同一个现象,影响可能完全不同
1. 先描述用户任务,再描述页面现象
缺陷描述常从“页面报错”“按钮没反应”“数据不对”开始,但这些只是表象。要判断严重程度,我会先追问用户当时正在完成什么任务:付款、审批、保存、查询、导出,还是查看信息?任务是否有替代路径?失败后是否会产生不可逆结果?用户是否知道操作已经失败?
“保存按钮没反应”至少可能对应三种完全不同的情形:点击后数据已经保存,只是页面没有提示;点击后保存失败,但用户可以复制内容重试;点击后数据被覆盖且无法找回。表面现象相似,严重程度却应当不同。判断的对象不是屏幕上的错误,而是任务结果和后续损害。
2. 影响范围不能只看提单数量
一小时收到十个相同反馈,可能来自同一个客户、同一条配置或同一个测试账号;反过来,一个关键用户报告也可能揭示所有用户都会遇到的权限漏洞。提单数量是线索,不是影响范围本身。评估时要核对受影响用户比例、受影响租户或业务线、触发条件、持续时间和版本分布。
我会把范围拆成“实际受影响”和“潜在可受影响”。实际受影响人数目前只有一个,并不代表风险小;如果触发条件普遍存在,只是尚未被发现,潜在范围仍可能很大。相反,某个极少见的历史配置组合即便理论上影响一批用户,也可能有明确边界和低发生概率。
3. 业务关键性要看链路位置
不是所有页面都同等重要。登录、支付、下单、审批、权限校验、数据提交等环节通常位于任务链路的关键节点;帮助说明、装饰性展示和低频筛选则可能有更大的容错空间。但“核心页面”也不能自动等于高严重程度:局部文案错字出现在支付页面,影响可能仍然很低;后台权限校验绕过出现在低频管理入口,潜在影响可能很高。
因此,我会把业务关键性作为判断维度,而不把页面名称当作等级结论。真正要问的是:它是否阻断关键任务、是否让用户做出错误决策、是否造成不可逆的状态变化,以及失败后能否恢复。
4. 缺陷分级需要支持不同角色快速协作
产品经理关注用户任务与业务损害,研发关注故障机制和影响边界,测试关注复现、覆盖和回归范围,客服或实施团队关注用户沟通与临时处置。等级标准如果只由某一个角色的语言构成,其他人就难以稳定执行。
我更愿意把分级规则写成共同语言:先陈述事实,再说明影响,然后给出暂定级别和依据。比如“特定版本下,重复点击提交会创建两笔订单;已确认两名用户复现,暂未确认扣款;无自助撤销路径,建议先按 S0 排查并暂停该入口”。这种写法比单独写“严重”更有用,也更容易让团队采取动作。

三、常见误区:为什么团队的等级越多,争议反而越多
1. 把严重程度等同于优先级
“这个需求很重要,所以 bug 应该是最高级”是常见混淆。业务重要性会影响处理优先级,却不能单独证明缺陷造成的损害有多大。一个重要客户提出的低影响样式问题,可以优先排进本周处理,但它仍未必是高严重程度;一个没有客户投诉的数据泄露风险,即使暂时没有可见损失,也可能需要最高级响应。
解决办法是把两个问题分开问:第一,缺陷本身造成什么影响?第二,基于当前业务计划,我们什么时候处理?前者由分级标准回答,后者由排期和风险决策回答。这样既避免“客户声音越大等级越高”,也避免“严重程度低就永远不处理”。
2. 用技术复杂度给缺陷定级
“改动范围很大”“牵涉三个服务”“需要重构”描述的是修复成本和技术风险,不是用户损害。反过来,技术改动很小也不代表问题轻微。把复杂度直接塞进严重程度,会导致同一故障在不同团队、不同架构下得到不同等级。
我会把技术复杂度留在修复方案或工作量评估中,单独记录是否存在回滚风险、是否影响更多模块。只有当技术因素改变了用户影响边界或修复风险时,它才进入严重程度讨论。例如,修复一个数据错写问题可能需要批量回填,回填过程存在继续扩大损害的风险,这时应同时记录当前影响和处置风险,而不是用“难修”替代分级。
3. 只按发生频率判断
低频不等于低危。一个每天只发生一次的重复扣款、越权访问或关键数据丢失,可能比每小时出现几十次的轻微布局偏移更严重。反过来,高频报错也不一定都应定为最高级,如果用户有明确替代路径、数据没有损坏、影响仅限非关键操作,等级可能并不高。
频率需要与单次损害结合判断。更实用的做法是记录“发生概率”和“单次影响”,再把可恢复性、累积效应纳入讨论。尤其要关注容易被忽略的累计损害:单次错误金额很小,但每天持续发生,数周后可能变成对账和信任问题。
4. 把提单人的职位或情绪当作证据
高层、重要客户、客服主管或开发负责人提出的问题都值得认真核实,但身份不能直接决定等级。情绪强烈可能说明用户痛感高,也可能是沟通不足或预期落差;沉默则不代表没有损害,用户可能根本不知道数据已经错误。
我通常把“谁提出”用于确定沟通对象和信息来源,而不把它作为等级维度。提单人提供的复现步骤、截图、日志、用户范围和业务后果,才是定级证据。这样做不是忽视客户关系,而是避免团队用组织声量代替事实判断。
5. 设定过多等级,却没有行为差异
有些团队把等级分成六档甚至十档,但相邻等级没有不同的响应动作、审批要求或发布约束。结果是大家花时间争论“二级还是三级”,却没人知道谁负责止损、什么时候复核、是否需要通知用户。
如果一个等级不能改变任何行动,它就可能没有保留价值。试行时可以观察相邻等级的决策结果是否不同:响应时间、升级对象、发布阻断、回归范围是否确实有差异。若没有差异,应合并等级;若某一类风险需要特殊处理,才考虑增加专门标记,例如“安全风险”或“数据修复”,而不是盲目新增严重程度档位。

四、专业判断逻辑:用影响维度形成可复核的结论
1. 先确定五个判断维度
从 0 到 1 不需要复杂打分模型,但需要稳定的判断维度。我建议先围绕五个问题收集事实:核心任务是否受阻;影响范围有多大;数据、资金、权限或合规是否受损;是否存在可靠替代方案;问题是否可逆、是否会继续扩大。
这五个维度不应机械相加。资金损失、隐私泄露、数据不可恢复等高风险因素,可能需要直接触发升级,不能因为用户数少或发生频率低而被平均抵消。打分的作用是帮助团队暴露分歧,不是让公式替人承担判断责任。
| 判断维度 | 需要核实的问题 | 风险上升的信号 |
|---|---|---|
| 任务阻断 | 用户还能否完成关键任务? | 主流程完全中断,或操作结果无法确认 |
| 影响范围 | 涉及多少用户、租户、版本或业务线? | 默认配置触发,全量用户存在潜在暴露 |
| 损害类型 | 是否涉及资金、隐私、安全、合规或核心数据? | 越权、错误扣款、不可恢复数据或法定时限风险 |
| 替代路径 | 用户能否通过其他方式继续完成任务? | 没有可用绕行方案,或绕行容易造成二次错误 |
| 可逆性 | 错误结果能否恢复,恢复成本由谁承担? | 影响持续累积,且需要人工逐条修复或无法恢复 |
2. 先做安全与数据风险的硬性检查
在讨论常规等级前,我会先问有没有需要立即升级的风险:未授权访问、敏感信息暴露、资金错误处理、关键数据被覆盖或删除、合规时限即将超出、故障仍在扩大。若答案为“有”或“无法排除”,先启动风险响应,再继续收集证据。
这一步非常重要,因为一般的“用户数 × 发生频率”判断容易低估低频高损害事件。比如一个权限缺陷目前只有一条有效复现,但只要攻击条件普遍存在,就不能因受影响账号数量暂时较少而降低响应级别。不确定性本身不是降级理由;在高后果风险下,不确定性应触发核实和临时防护。
3. 评估范围时采用“已确认、合理推断、未知”三类证据
实际排查中,团队经常拿不到完整统计。此时不要把“暂未发现更多用户”写成“只有一个用户受影响”。我会要求把范围拆成三类:已确认受影响、根据日志或配置合理推断可能受影响、尚未排查的未知范围。
例如,已确认三笔订单重复创建;同版本所有启用某支付方式的用户可能受影响;过去七天的历史记录尚未完成扫描。这样的表达清楚区分了事实和推断,也能直接导出下一步动作:查日志、冻结重试、核对账单、确定通知范围。
4. 通过反事实问题检验等级是否合理
如果团队对 S1 和 S2 有争议,我会让大家回答几个反事实问题:若今天不修,用户是否还能完成最重要的任务?若影响用户数扩大十倍,等级会不会变化?若没有临时绕行方案,判断是否不同?错误结果是否可能扩散到其他系统?
反事实问题能把抽象争论变成边界测试。如果“影响人数增加十倍”才会升级,就要写清人数阈值是否适用;如果“无替代路径”会升级,就要核实当前所谓替代方案是否真实可用。不要为了让规则看起来精确,编造一个没有业务依据的统一人数线。
5. 记录结论时同时写依据和不确定性
缺陷等级不是永远固定的。随着复现、日志、用户反馈和修复验证,影响范围可能扩大,也可能被证明只限于特定配置。每次定级都应记录“当前级别、判断依据、未确认事项、下次复核条件”。这样即使等级后来变化,也不是谁判断错误,而是证据更新后的合理调整。
我会避免写“经评估为严重”这种无法复盘的结论,而采用“因核心提交路径中断、暂无绕行方案,当前按 S1 处理;已确认影响 4 个账号,其他租户范围待日志核实;若确认存在数据重复写入则升级 S0”的格式。它同时交代判断、行动和升级条件。

五、具体案例:一个“偶发提交异常”如何从现象走到定级
1. 初始反馈:不要直接把用户用词当结论
下面用一个情景案例演示完整判断流程。某企业协作平台上线新版本后,客服收到反馈:“提交审批时偶尔卡住,刷新后看到两条记录。”提单人将其标记为“紧急”,但缺陷单没有版本号、操作步骤、记录编号,也没有说明是否产生重复通知或重复扣款。
此时我不会因为“偶尔”把它降为一般,也不会因为提单人标了“紧急”就直接定最高级。第一步是把报告转成可核实的问题:哪些用户遇到?发生于哪个版本?提交按钮是否可以重复点击?两条记录的状态和内容是否完全相同?有没有外部系统动作已经执行?
2. 补齐事实:建立影响边界
假设排查后确认:问题出现在网络延迟时,用户连续点击提交;服务端缺少幂等保护,可能创建两条审批记录。当天确认 6 个账号受影响,其中 2 条记录触发了重复通知;暂未发现资金扣款或审批结果错误。用户可以联系管理员删除重复记录,但普通用户无法自行处理。
这个阶段至少有三类事实:已确认的重复记录和重复通知;尚未确认的历史影响范围;已知的临时处理路径。团队还要进一步核实审批是否会自动触发付款、开通权限、发送外部指令等后续动作。若只是重复生成待处理记录,风险和直接触发不可逆业务动作的情况并不相同。
3. 暂定等级:把最重要的风险点写出来
在没有资金或权限后果、且管理员能够删除重复记录的前提下,可以暂定为 S1 或高 S2,具体取决于审批是否属于关键业务链路、影响范围是否持续扩大。若每次重复记录都会重复执行权限开通或付款,等级应立即上调,并采取暂停自动执行的措施。
这不是靠“6 个账号”计算出某个固定级别,而是基于三个判断:主要任务受到干扰;问题有继续发生的可能;临时处理需要管理员介入,但当前证据尚未显示不可逆损害。等级结论必须写出成立条件;条件变化,等级随证据更新。
4. 采取措施:先控制新增影响,再做根因修复
此类问题的处置顺序不应只有“研发尽快修复”。我会把动作分成止损、核查、修复和恢复四组,安排明确负责人:
- 止损:对重复提交增加前端防抖只能减少误触,不能替代服务端幂等;必要时暂时关闭高风险自动动作或限制重复请求。
- 核查:通过请求标识、记录创建时间和用户操作日志,扫描受影响版本的重复记录,并确认是否触发下游动作。
- 修复:增加服务端幂等校验,明确幂等键的范围和有效期,同时补充并发请求测试。
- 恢复:由业务负责人确认重复记录的处理规则,避免直接批量删除有效审批或误删已执行记录。
- 验证:回归正常提交、连续点击、超时重试、网络恢复和并发请求等场景,确认成功提示与实际结果一致。
5. 复盘时看机制缺口,不只看某个人漏了什么
修复后,复盘重点不是“为什么测试没测到”这一句,而是检查机制:需求是否定义了重复提交行为?接口是否有幂等设计?测试是否覆盖超时重试?监控能否发现短时间重复创建?客服是否知道临时处理办法?发布检查是否包含关键业务后果?
如果团队只补一条测试用例,下一次换成支付回调或导入任务仍可能重演。有效复盘要把改进落在具体控制点上,并标注责任人和验证日期。缺陷等级体系也应从复盘中修正:如果某类损害总被低估,就应补充判断示例或升级条件。

六、从规则到日常流程:让缺陷单真正承载判断
1. 缺陷单至少记录哪些字段
我会避免要求提单人一次填完所有调查信息,因为过重的表单会降低提单质量。可以分为“提交必填”和“评审补充”:前者确保团队能复现和联系,后者由产品、研发、测试共同补齐影响与风险。
| 字段 | 提交时建议 | 评审时补充 |
|---|---|---|
| 现象与复现步骤 | 必填,写清预期与实际结果 | 补充日志、请求编号、截图或录屏 |
| 环境信息 | 版本、设备、账号类型或租户信息 | 确认受影响版本和配置范围 |
| 用户任务 | 用户试图完成什么 | 判断是否为关键业务链路 |
| 严重程度 | 允许暂定,不要求提单人独立定案 | 记录级别、事实依据和复核条件 |
| 处理优先级 | 可先不填或由团队共同决定 | 结合发布、资源和业务承诺确认 |
| 临时方案与风险 | 描述已知绕行方式 | 确认方案可靠性、影响和适用范围 |
2. 用一次短评审解决争议,而不是无限留言
高影响缺陷需要快速拉齐,但并非每个轻微问题都要开会。我的做法是设置“异步初判、必要时短会、明确结论”的轻量流程:提单人提供基本信息;值班或指定负责人先做暂定级;涉及关键业务、数据或安全风险时立即召集产品、研发、测试和相关业务角色确认;最后由单一负责人记录结论和下一步。
评审时尽量围绕四个问题展开:已知事实是什么?最大潜在损害是什么?目前能做什么止损?哪些新证据会改变等级?如果十分钟后仍无法确定,不应无限争论措辞,而应采取保守的临时控制措施,并指派具体核查动作。
3. 为每一级配置动作,而不是只配置响应时间
响应时间是有用的,但单独写“30 分钟内响应”并不能说明团队要做什么。对于高等级问题,至少要定义确认负责人、止损动作、影响范围核查、发布决策、用户沟通和复盘要求。对于低等级问题,则要定义进入缺陷池后的评估周期,避免“非紧急”变成永久搁置。
具体时间要结合团队支持时段、服务承诺和业务风险制定。没有统一适用所有团队的 SLA。处于 24 小时运营中的支付业务与每周发布一次的内部工具,响应规则理应不同。可以先试行一组可达成的时间目标,再根据真实处理记录调整,而不是照抄别人的数字。
4. 用数据检验规则,而非追求看起来漂亮的等级分布
运行一段时间后,我会观察:高等级缺陷是否经常被事后降级;低等级问题是否造成过重大影响;同类问题在不同团队是否分级差异明显;从发现到确认影响范围花了多久;临时绕行方案是否真实可用;缺陷关闭后是否重复打开。
等级分布本身不是绩效目标。高等级比例低,不一定说明产品质量好;高等级比例高,也不一定说明团队差。更有价值的是看判断一致性和响应结果。例如,针对同类故障,评审者给出的等级是否收敛;高风险问题是否及时采取了止损动作;历史影响是否能在约定时间内查清。

七、不同情况下的行动建议与取舍
1. 影响范围未知,但潜在后果严重
如果问题涉及资金、隐私、安全、权限或不可恢复数据,而影响范围尚未查清,我倾向于先按较高风险处理,同时明确这是“临时分级”。行动顺序是限制新增损害、保留证据、查明暴露范围,再根据事实调整等级。
这里的取舍是短期的运营成本与潜在损害之间的比较。过度升级会占用跨团队资源,甚至影响发布;低估则可能让损害继续扩大。对于高后果、低可逆的问题,先做有限、可撤销的防护通常比等待完全确定更稳妥。
2. 高频发生,但用户仍有可用替代方案
先确认替代方案是否真的可用,而不是“理论上可以”。用户是否知道它?是否需要额外权限?能否承接当前规模?会不会带来新的数据错误或人工成本?如果绕行只适用于少数熟练员工,就不能简单说“有替代方案”。
若替代路径经过验证、没有明显二次风险,且主要任务仍能完成,严重程度可以不因高频而自动升到最高。但高频会增加累积成本,应在处理优先级、监控和修复排期中体现。低严重程度不等于可以不修,高发生频率也不等于必须阻断所有发布。
3. 只影响少数关键用户或关键业务账户
少数用户不必然意味着低影响。先看用户的业务角色、任务关键性、合同或合规承诺,以及是否存在安全边界差异。不要仅以账户规模判断价值,也不要把“重要客户”直接等同于最高严重程度。
合理的做法是分开记录:缺陷影响等级依据产品行为判断;该用户的沟通优先级和业务承诺由客户负责人协同处理。这样既能及时回应客户,也能避免产品质量标准被个案谈判不断改写。
4. 缺陷只在发布候选版本中出现
候选版本中的缺陷,处理决策要看它是否进入生产环境、是否会影响发布后的任务和数据、是否能通过功能开关隔离。版本临近发布并不会自动提高严重程度,但会影响处理优先级和发布风险。
我通常要求产品、研发和测试明确三种选择:修复并完成回归;关闭相关功能或降级发布;接受已知风险并写明影响对象、补救计划和责任人。高风险问题不应靠“时间不够”自然获得放行,接受风险必须是明确决策,而不是没人反对就默认通过。
5. 缺陷无法稳定复现,但已有可信损害证据
无法复现不等于没有问题。对于偶发数据错乱或权限异常,先保存时间、账号、版本、请求标识和操作上下文,检查服务日志、异步任务和外部依赖。必要时加临时观测或告警,不要为了追求复现而丢失现场。
这时要在缺陷单中区分“事实已确认”和“机制待定位”。如果损害结果可信,处理等级应依据后果,而不是依据研发是否能够本地复现。长期无法复现的问题可以设置观察期限和关闭条件,例如连续一段约定观察期无新增、监控覆盖有效且影响范围已评估后,再由负责人决定转为监控项或关闭。
6. 版本目标与风险控制发生冲突
发布取舍不是简单的“修复优先”或“按时上线”。我会比较修复方案的回归风险、延期成本、临时隔离能力、用户影响和可回滚性。修复本身如果可能引入更大范围故障,仓促合入未必更安全;但如果缺陷涉及不可逆损害,按期发布也不应成为默认选项。
决策记录至少写清:已知影响、未知风险、备选方案、接受风险的负责人、监控与回滚条件、后续修复时间。这样做的代价是多花几分钟做记录,收益是上线后出现问题时,团队知道当时基于什么证据作了什么决定。

八、从 0 到 1 落地:先试行,再校准
1. 第一步:收集历史缺陷,找出真实分歧
不要先闭门写一份几十页的规范。我会从最近两到三个月的缺陷中抽取有代表性的案例:核心链路中断、数据异常、权限问题、频繁但可绕行的问题、低频高损害问题,以及提单人和评审人意见不一致的案例。
把案例去掉不必要的敏感信息后,让产品、研发、测试和业务角色分别独立判断。对照分歧时,重点看大家使用的证据是否不同:有人看影响人数,有人看任务是否中断,有人关注能否恢复。规则应该优先解决真实分歧,而不是把所有理论情况都写进去。
2. 第二步:写一页规则,明确每级的边界案例
第一版规则可以非常短:四个等级的定义、需要立即升级的风险、优先级与严重程度的区别、定级必填依据、复核和升级条件。每一级至少配置两个正例和一个容易混淆的反例。
例如,S3 的正例可以是非关键页面的文字截断,反例则是看似轻微的提示缺失导致用户重复付款。边界案例比抽象形容词更能帮助团队理解标准。文字中的“严重影响”“较大范围”“较轻影响”若没有实例,很容易由每个人自行解释。
3. 第三步:试行四到六周,避免立即绑定绩效
试行初期,等级用于协作和风险管理,不要直接用于个人绩效、团队排名或供应商考核。否则,团队会有动力压低等级以保护指标,或者抬高等级争取资源,规则很快失去可信度。
试行期间记录每次调整的原因:是标准不清、信息缺失、评审人职责不明,还是业务变化导致影响不同。每周可以用十五到三十分钟复盘少量争议案例,不必把全部缺陷搬上会。观察重点应是分级是否促进了正确行动,而不只是表格填得是否完整。
4. 第四步:建立可调整的发布与复核机制
缺陷创建时可以暂定级,开发定位后复核,修复验证或影响范围扩大时再次调整。对于高风险问题,要定义谁有权临时升级、谁负责最终确认,以及非工作时间的替代联系人。不要让流程卡在“等某个产品经理上线才有人能改字段”。
等级调整必须保留历史记录和原因。这样既能复盘是否出现过度升级,也能避免事后把级别改低来掩盖响应延误。系统配置上可以使用必填选项、模板提示和自动通知,但自动化应帮助补齐信息,不应在证据不足时自动替代人的业务判断。
5. 第五步:用有限指标决定保留、合并或扩展
试行后可以选择少量指标:同类缺陷分级一致率、影响范围确认时间、高风险缺陷止损时间、缺陷关闭后重复打开率、发布后逃逸缺陷数。每个指标都要有明确口径和观察窗口,不要把无法可靠采集的数据写成精确 KPI。
如果 S1 与 S2 的响应动作长期完全相同,可以考虑合并;如果数据或安全风险需要不同处置,也可以增加风险标签或专项流程。增加等级之前先问:它是否对应新的决策?是否能被稳定识别?是否减少了某种真实损失?如果答案都是否定的,增加字段只会增加录入负担。
6. 规则需要适配组织,而不是追求统一模板
十几人的早期团队可能由产品负责人和技术负责人快速协商,一张轻量表格就够用;数百人、多业务线和多租户的组织,则需要统一术语、跨团队升级机制、审计记录和发布门禁。两种组织都可以使用四级标准,但责任人、响应时段和决策流程不会完全相同。
使用某项目管理平台或缺陷管理工具时,我会先确认它是否支持暂定等级、变更记录、关联用户影响、负责人和处理动作,再考虑自动化规则。工具能减少信息丢失,却不能替团队判断“是否存在替代路径”或“错误结果是否可逆”。先定义决策,再配置字段和工作流,顺序不要反过来。
九、可以直接使用的判断清单与结语
1. 定级前的七个检查问题
团队第一次建立规则时,可以把下面的问题放在缺陷评审模板中。它不是机械打分表,而是确保关键事实没有被遗漏的检查清单。
- 用户原本要完成什么任务,当前实际结果是什么?
- 任务是否被阻断,用户能否通过可靠方式继续?
- 已确认和潜在受影响的用户、租户、版本分别是什么?
- 是否涉及资金、敏感信息、权限、合规或关键数据?
- 错误结果是否可逆,修复和恢复需要谁承担成本?
- 问题是否仍在发生,是否需要先关闭入口、开关或自动动作?
- 什么新证据会让当前等级升级或降级,何时复核?
2. 一段可复用的缺陷分级记录
团队可以使用下面的句式,避免只留下一个等级数字:
当前暂定为 S__。已确认的影响是______;潜在影响范围是______;目前可用的替代路径是______;已采取的止损动作是______。尚未确认的事项包括______。若发现______,升级至 S__;若在______条件满足后,可重新评估是否降级或关闭。下一次复核负责人为______,时间为______。
3. 最后给不同成熟度团队的建议
如果团队还没有统一规则,先用四级框架和边界案例跑起来,不要等待一份完美制度。若已经有多个等级但评审争议不断,先抽取历史案例校准“影响、范围、可逆性和替代路径”的定义,再检查相邻等级是否真的有不同动作。
如果缺陷数量很大、跨多个团队,优先统一字段口径和升级责任,不要先追求自动评分。若数据、资金或安全风险多,先建立硬性升级触发条件和止损流程;这类风险无法靠普通等级平均分消解。若团队规模较小,则保持规则轻量,把判断依据写清楚比堆审批节点更重要。
4. 独特观点:好的分级系统,允许等级被修正
我不认为成熟团队的标志是“每个人一次就能分对级”,而是团队能基于同一套证据快速采取行动,并在新事实出现时及时修正判断。缺陷评估本来就常常发生在信息不完整的时刻,要求一开始就绝对准确并不现实;要求理由可追溯、风险有人负责、级别能随证据更新,才是可执行的标准。
下一步可以从最近十个争议最大的缺陷开始:让不同角色独立定级,标出各自依据,找出分歧来自影响范围、业务关键性、可逆性还是优先级混淆;随后写出四级定义和升级条件,试行一个迭代周期,再用真实案例校准。这样建立出来的规则,才不是从模板复制来的等级表,而是能够指导你们自己做决定的缺陷管理方法。
常见问题解答(FAQ)
1. Bug 严重程度应该怎么分级?
我第一次给团队定缺陷等级时,最纠结的是“影响很大”到底有多大:是一个客户遇到就算严重,还是必须很多用户都遇到才算?如果不同岗位的人理解不一样,等级还有实际意义吗?
先把严重程度定义为“缺陷对用户、数据和核心业务造成的影响”,不要把修复时限或开发成本混进来。可以从四级起步:S0 表示核心业务全面中断、数据大面积损坏或存在正在发生的安全风险;S1 表示关键流程对一类用户不可用,且没有可接受的替代方案;S2 表示局部功能异常,但主要流程仍可完成,或存在明确绕行方式;
S3 表示文案、样式等轻微问题,不影响任务完成。每个等级都要写出正例和反例。例如,“所有用户无法提交订单”可定为 S0;“单一浏览器下按钮错位,但用户仍能提交”更接近 S3。判断时依次问:核心任务是否被阻断、影响范围多大、数据是否可恢复、是否有绕行方案。
2. 严重程度和优先级有什么区别?
我在整理缺陷列表时,经常看到有人把“严重”直接当成“马上修”,也有人因为版本快发布了就把所有问题都标成最高级。两者究竟应该分别由什么依据决定?
严重程度描述缺陷造成的后果,优先级描述团队何时处理它。可以用“影响程度 × 时间敏感性”来讨论优先级,但不要用优先级反向改写严重程度。例如,付款成功却没有生成订单,可能是高严重程度;如果该问题只出现在下周才启用的试点功能,当前优先级未必最高。
反过来,发布页面上的错别字严重程度低,但若发布会在一小时后面向大量客户,修复优先级可以很高。实际评审时,先由产品、测试共同确认影响事实和严重程度,再由产品结合发布窗口、用户承诺、依赖关系确定优先级,并记录调整理由。
3. 遇到低频但后果严重的缺陷,应该怎么定级?
我遇到过只在特定账号配置或少数设备上出现的问题,复现率很低,但一旦触发就可能让数据丢失。按出现人数看它似乎不严重,可按后果看又不能轻轻放过,这种情况该怎么判断?
不要只按复现频率或受影响人数定级。建议把影响范围、后果严重性、可恢复性和触发条件分开记录:例如“每千次操作约出现一次,但会覆盖原数据且无法恢复”,后果与恢复成本足以支持较高等级;如果只是偶发显示异常且刷新即可恢复,则等级通常较低。
对低频高损失问题,先保留较高风险判断,同时补充日志、设备或账号范围、触发步骤和数据影响证据,再通过监控或定向复测确认概率。等级可以随着证据更新,但不能因为暂时复现不了就自动降级。
4. 团队从零建立缺陷严重程度标准,怎样避免大家各自理解?
我想让产品、测试和研发用同一套等级,可担心标准写得太细没人愿意看,写得太粗又会出现同一个问题被分成不同等级。有没有一种低成本的落地办法,能让分级真正进入日常流程?
先用一页规则启动,不要一开始设计十几档。选取团队近期约二十个真实缺陷,隐去原等级,让产品、测试和研发分别独立分级;如果同一缺陷经常相差两级,说明定义缺少可观察的判断条件。随后为每级补充核心任务影响、受影响范围、数据风险、绕行方式和示例,并在提单时要求填写复现条件与用户影响。
运行两到四周后,抽查分歧最多的缺陷,更新案例而不是单纯增加规则。可以关注两个指标:跨角色分级一致率,以及高严重程度缺陷被降级后又重新升级的比例;前者偏低通常意味着定义不清,后者偏高则可能说明初次评估遗漏了影响证据。
核心关键词
文章包含AI辅助创作:严重程度怎么做?产品经理实操方法:Bug / 缺陷从0到1,发布者:飞飞,转载请注明出处:https://worktile.com/solution-1/archives/510097
读者评论
我们之前也把“严重程度”和“修复优先级”放在一个字段里,结果常被客户需求带着改级别。拆开后争议少了些,但最好再明确谁能最终确认,避免产品和研发各自留一套结论。
实际排查时,日志不全很常见。我比较认同把已确认、推断和未知分开记录;尤其涉及数据或权限时,暂时没查到更多案例,确实不能直接当成影响范围很小。
四级对小团队应该够用,不过发布判断最好配上可执行动作,比如谁负责关闭入口、多久复核一次。否则即使分级标准写得清楚,线上出了问题还是容易停留在讨论等级。