问题解决流程

image.png
我们总是期待自己可以拥有,一眼便能识别问题、一言便能击中问题要点的能力。然而,直觉判断往往是基于大量的先见的经验,也有可能会因此跳入陷阱。
解决问题要有明确目的,也有分析流程。我们知道解决方案往往是脆弱的,因为问题可能会再次出现。也应该记住,诊断和解决问题是有时间限制因素,如果关键时期已经过去,问题可能很难检测或找到有效的解决方案。通常,处理问题的成本会因为延迟而升级。

解决问题的技巧

分而治之(Divide and conquer)

  • 把复杂的问题分解成更简单、更易处理、更容易解决的问题。

    专家判断(Expert judgement)

  • 咨询有经验的主题专家(SME)。

    模拟(Simulation)

  • 将问题的复杂性降低到一个更简单的数学概率模型中,更容易控制,并尝试场景的多种排列和组合。常见于,蒙特卡洛分析,将成本、时间作为输入值,通过分布模型来,统计其能成功可能性范围。

    头脑风暴/作战室会议(Brainstorming / War room)

  • 将所有专家聚集在一个地方,提出想法、逻辑推理、辩论、讨论,并计划行动项目。

    隐喻(Metaphors)

  • 使用对以前问题的解决方案的“比喻”来解决当前问题。经典的就是:木桶效应(系统的最大能力取决于系统中的短板)

    尝试和错误(Trial and error)

  • 反复尝试不同的方案,在每次失败中总结,直到得到问题解决。

    刺探(Spikes)

  • 执行试验性的解决方案,检查解决方案的可行性。

    趋势分析(Trend Analysis)

  • 通过时间上找到某个问题的规律(上升、下降、改良、恶化…),试图找出系统预期行为。

    探针(Probing)

  • 提出一系列问题,以弄清问题的根源,而不是根据症状来治疗“头痛医头脚痛医脚”。

    沙盒(Sandboxing)

  • 在一个更小的受控环境(这个环境就算奔溃,也不影响主体环境)中解决问题,常见于,操作系统中创建沙盒环境,然后将补丁应用在内。