核心问题
为什么调试是一种科学方法?
真实场景
订单列表偶尔少一条数据。有人怀疑是前端分页问题,有人怀疑是后端查询条件,有人怀疑是数据库延迟。
如果大家同时改,就会乱成一团。
常见误区
坏判断是:
多改几个地方,反正总会好。
这会让修复结果不可解释,也会引入新问题。
工程视角
科学式调试的基本节奏是:
现象 -> 假设 -> 实验 -> 结果 -> 新假设
例如:
现象:订单列表少一条。
假设:后端查询过滤了 status = pending。
实验:直接查数据库和接口返回,对比两边数据。
结果:数据库有,接口无。
结论:问题在后端查询之后,不在前端。
PM 可以怎么做
PM 可以要求团队把当前判断说清楚:
- 当前最可能假设是什么?
- 证据是什么?
- 反证是什么?
- 这次实验会排除哪一段?
- 实验结果出来后下一步是什么?
Atlas Action
在 Bug 复盘里增加一栏:
我们当时的假设是什么?后来被证实还是推翻?
训练团队从经验主义走向可验证判断。
小结
调试不是一次性找到答案,而是不断排除不可能。
PM 的作用,是帮助团队把混乱讨论变成清晰实验。