Appearance
Process处理层——问题分类与工具选择
不同问题需要不同方法
你不会用锤子去拧螺丝。
同样,不同类型的问题需要不同的分析方法。
这一章,我们学习如何识别问题类型,并选择对应的分析工具。
四种基本问题类型
根据问题的本质,可以分为四类:
类型一:事实判断问题
核心问题:这是真的吗?
- 这个接口响应时间是多少?
- 上线后有多少用户在使用?
- 这个Bug影响了多少人?特点:有明确的答案,可以通过收集信息来回答。
类型二:因果分析问题
核心问题:为什么会这样?
- 为什么页面加载这么慢?
- 为什么用户流失率上升?
- 为什么这个Bug会出现?特点:需要从结果追溯原因。
类型三:方案选择问题
核心问题:应该选择哪个?
- 用Vue还是React?
- 这两个技术方案选哪个?
- 接不接这个offer?特点:有多个选项,需要评估和决策。
类型四:价值判断问题
核心问题:这个重要吗?好不好?
- 这个功能值得做吗?
- 这个风险能接受吗?
- 这个方向对不对?特点:涉及主观价值判断,没有绝对正确的答案。
快速判断问题类型
用这个决策树快速判断:
问自己:这个问题问的是什么?
├── 问"是不是/是多少" → 事实判断问题
│
├── 问"为什么" → 因果分析问题
│
├── 问"选哪个" → 方案选择问题
│
└── 问"好不好/重不重要" → 价值判断问题示例:
"这个接口响应时间是多少?" → 事实判断
"为什么接口这么慢?" → 因果分析
"用Redis还是Memcached?" → 方案选择
"这个优化值得做吗?" → 价值判断三种推理方式
不同问题类型需要不同的推理方式。
演绎推理:从一般到个别
前提(一般规律):如果用户数超过1万,就需要加服务器
事实:当前用户数已达2万
结论:需要加服务器特点:结论是必然的(如果前提为真)
适用场景:
- 应用已知规则
- 从原则推导具体决策
归纳推理:从个别到一般
观察1:项目A因为需求变更延期了
观察2:项目B因为需求变更延期了
观察3:项目C因为需求变更延期了
结论:需求变更是导致项目延期的重要原因特点:结论是概率性的(可能为真)
适用场景:
- 从案例总结规律
- 发现模式和趋势
溯因推理:从结果推原因
观察:页面白屏了
假设1:可能是JS报错
假设2:可能是网络问题
假设3:可能是服务器挂了
→ 逐一验证,找到真正原因特点:推测最可能的解释,需要验证
适用场景:
- Bug排查
- 问题定位
- 原因分析
问题类型与推理方式的对应
| 问题类型 | 主要推理方式 | 典型场景 |
|---|---|---|
| 事实判断 | 信息验证 | 核实数据、确认现状 |
| 因果分析 | 溯因推理 | Bug排查、问题定位 |
| 方案选择 | 演绎推理 | 技术选型、决策判断 |
| 价值判断 | 综合推理 | 优先级判断、方向选择 |
每种问题类型的分析工具
事实判断问题的工具
核心方法:信息验证
1. 确定要验证什么
2. 找到可靠的信息来源
3. 交叉验证(多个来源)
4. 得出结论示例:
问题:这个接口的实际响应时间是多少?
1. 确定验证目标:接口响应时间
2. 找信息来源:
- 监控系统数据
- 自己测试
- 日志记录
3. 交叉验证:
- 监控显示平均2.3秒
- 自己测试5次,2.1-2.5秒
- 日志记录的P95是2.8秒
4. 结论:响应时间约2.3秒(P95约2.8秒)因果分析问题的工具
核心方法:溯因推理 + 假设检验
工具一:5个为什么
现象:页面加载慢
为什么1:因为图片太多太大
为什么2:因为没有做图片压缩和懒加载
为什么3:因为上线时间紧,没来得及优化
为什么4:因为需求变更导致工期压缩
为什么5:因为需求评审流程不完善
根本原因:需求评审流程不完善工具二:假设检验
1. 提出假设:接口慢是因为数据库查询
2. 设计验证:查看数据库查询时间
3. 执行验证:发现数据库查询只要100ms
4. 结论:假设不成立,需要检查其他原因方案选择问题的工具
核心方法:演绎推理 + 多维度评估
工具一:利弊分析
方案A的优点:...
方案A的缺点:...
方案B的优点:...
方案B的缺点:...
→ 比较选择工具二:决策矩阵
1. 确定评估维度
2. 确定各维度权重
3. 对每个方案打分
4. 计算加权总分
5. 选择得分最高的
| 维度(权重) | 方案A | 方案B |
|-----------|-------|-------|
| 性能(30%) | 8 | 6 |
| 成本(20%) | 5 | 8 |
| ... | ... | ... |
| 加权总分 | 6.5 | 6.8 |工具三:演绎验证
前提1:我们需要支持高并发
前提2:方案A在高并发下表现更好
结论:我们应该选方案A
→ 检查前提是否成立
→ 检查推理是否有效价值判断问题的工具
核心方法:明确价值标准 + 多角度思考
工具一:价值排序
问自己:在这个情况下,什么最重要?
1. 列出相关的价值/目标
2. 排出优先级
3. 用优先级判断
示例:
这个功能值得做吗?
- 用户价值:高(解决核心痛点)
- 开发成本:高(需要2周)
- 风险:低
→ 如果用户价值优先级最高,那值得做工具二:多角度思考
从不同角度看这个问题:
- 用户角度:...
- 业务角度:...
- 技术角度:...
- 长期角度:...
→ 综合判断问题-工具对应速查表
| 问题类型 | 核心工具 | 辅助工具 |
|---|---|---|
| 事实判断 | 信息验证 | 多源交叉验证 |
| 因果分析 | 5个为什么 | 假设检验、鱼骨图 |
| 方案选择 | 决策矩阵 | 利弊分析、演绎验证 |
| 价值判断 | 价值排序 | 多角度思考 |
检查点:问题分类与工具选择检验
markdown
□ 问题类型识别
- 明确知道这是什么类型的问题
- 不会把因果问题当成方案问题处理
□ 推理方式匹配
- 因果分析用溯因推理
- 方案选择用演绎推理
- 规律总结用归纳推理
□ 工具选择合适
- 选择了与问题类型匹配的分析工具
- 知道为什么选这个工具实例演示
场景:领导问你"我们的技术债务怎么处理?"
分析:
第一步:识别问题类型
"技术债务怎么处理"是什么问题?
- 不是事实判断(不是问"有多少技术债务")
- 可能是因果分析(为什么会有技术债务)
- 可能是方案选择(选什么方式处理)
- 可能是价值判断(要不要处理/处理多少)
→ 需要拆解成多个子问题
第二步:拆解问题
1. 我们有多少技术债务?(事实判断)
2. 为什么会积累这么多?(因果分析)
3. 应该怎么处理?(方案选择)
4. 优先处理哪些?(价值判断)
第三步:为每个子问题选择工具
1. 事实判断 → 信息收集和验证
2. 因果分析 → 5个为什么
3. 方案选择 → 利弊分析 + 决策矩阵
4. 价值判断 → 价值排序 + 多角度思考本章小结
核心观点:
- 不同问题需要不同的分析方法
- 四种基本问题类型:事实判断、因果分析、方案选择、价值判断
- 三种推理方式:演绎、归纳、溯因
问题-工具对应:
- 事实判断 → 信息验证
- 因果分析 → 5个为什么 + 假设检验
- 方案选择 → 决策矩阵 + 利弊分析
- 价值判断 → 价值排序 + 多角度思考
检查点:
□ 问题类型识别清晰
□ 推理方式与问题匹配
□ 工具选择合适下一章,我们深入讲解结构化分析——如何用逻辑的方式拆解和分析问题。