1.4 问题解决能力
← 1.3 开发流程 | 首页 | 下一节: 1.5 心态 →
科学方法
科学方法是一种通过细致观察、严格怀疑、假设检验和实验验证来获取知识的经验方法。它承认认知假设可能扭曲对观察的理解。
核心流程(迭代循环,非固定顺序): 1. 提出问题(定义要研究的现象) 2. 收集信息与资源(观察、测量) 3. 形成可检验的假设——假设必须是可证伪的(falsifiable),即必须存在某种实验结果为该假设为假的可能 4. 通过可复现的实验检验假设并收集数据 5. 分析数据 6. 解释数据、得出结论,作为新假设的起点 7. 发布成果,供他人复验
科学方法不是一套固定步骤,而是一组通用原则。它需要智慧、想象力和创造力,而非僵硬地遵循流程。在软件工程中,科学方法体现为系统性排查问题:观察现象→提出原因假设→设计验证手段→确认或推翻假设→反馈迭代。
5 Whys(五个为什么)
5 Whys 是由丰田生产系统(TPS) 的奠基人大野耐一(Taiichi Ohno)推广的迭代式询问技术,用于探索问题背后的因果关系链。核心目标是通过连续追问"为什么",找到问题的根本原因。
丰田经典示例: 1. 为什么螺栓在发动机缸体上滑丝了?→ 螺纹没有车削干净 2. 为什么螺纹不干净?→ 车床的刀具今天没有更换 3. 为什么不更换?→ 替换刀具的料箱是空的 4. 为什么料箱是空的?→ 料箱里东西掉出来滚到货架下面了 5. 为什么货架不稳定?→ 货架的一只脚生锈断裂了
第五个"为什么"指向可以通过更换货架脚解决的根因。真正关键的是修复导致问题的流程(如增加定期检查货架的流程),而非只修复表面症状。
局限与批评:固定 5 层追问不一定正好对应真正的根因,容易只找出单一因果链。建议结合鱼骨图(Ishikawa Diagram) 做分支分析。
横向思维(Lateral Thinking)
由 Edward de Bono 提出。与纵向逻辑思维(一步步推演)不同,横向思维关注改变思维框架本身而非在既定框架内求解。大脑天然倾向锁定在已知模式中——横向思维帮助克服这种倾向。
四类工具:想法生成工具(打破既有思维路径)、聚焦工具(开放思维搜寻求新思路)、收获工具(最大化想法价值)、落地工具(让疯狂的想法适配现实约束)。
"你不能在同一个地方通过挖更深的洞来挖出新的洞。" —— Edward de Bono
风险管理
识别项目中的潜在风险,评估其发生概率和影响程度,并提前制定缓解措施。核心步骤: - 风险识别:技术风险(新技术未知坑)、人员风险(关键人离职)、需求风险(方向变更)、进度风险。 - 风险评估:概率 × 影响程度的二维矩阵。 - 风险缓解:对高风险项提前制定 Plan B,预留缓冲时间。 - 风险监控:定期回顾风险清单,更新状态。
抽象思维
从具体问题中提炼通用模式,将复杂系统分解为可管理的层级。这是工程师的核心思维能力——能同时在细节和全局之间切换。
来源
- Wikipedia — Scientific method: https://en.wikipedia.org/wiki/Scientific_method
- Wikipedia — Five whys: https://en.wikipedia.org/wiki/Five_whys
- Edward de Bono — Lateral Thinking: https://www.edwddebono.com/lateral-thinking