如何解决问题?

前言(Intro)

在这里分享一下关于我处理问题时的一点经验,希望能对那些面对 BUG 或者其他问题而常常手足无措的人有所帮助。
这些经验谈不仅限于解决技术问题,其他生活或者工作中的问题也可以遵循这一套思路。
总结在前头,主要是五个步骤和四点要素。

  • 五个步骤:分析现象,定位问题,分析原因,解决问题,确认解决。
  • 四点要素:临危不乱,钜细靡遗,追本溯源,有的放矢。

讨论案例

比如,当你像平常一样,打开电脑,打开浏览器,输入网址按下回车,却发现无法访问网站。

你的第一反应是什么?

解决问题的步骤

分析现象

当发现一个问题时,通常我们首先面对的只是问题的表象,一般无法针对现象直接给出解决方案,所以我们需要知道问题具体是什么。

对于上面的案例来说,“无法访问网站”只是表象,为了究其原因,首先我们需要更多的线索。
我们可以从浏览器上显示的文字来获知具体是什么错误。如果懂一些技术的话,我们可以使用浏览器自带的开发者工具来获得请求的具体信息。

为了获取更多线索,我们需要有几个探索方向,即猜可能有哪些原因:
也许还需要确认一下你使用的浏览器是否正常,你的电脑当前状态是否正常,你的电脑连上了网络,你的路由器是否能连通网络。还有,你的网费缴了吗?
也许并非你自己的问题,网站本身也可能挂了,还可能因为政治不正确的原因网站被 GFW 屏蔽了。

注意,有些人会觉得,只要能够解决问题的表象就够了,但是治标不治本的话,并不能保证以后不会出现类似的问题。

定位问题

当你有足够的线索和靠谱的猜想以后,你就可以定位问题了。
只有明确了问题所在,才能分析问题,继而提出对策。

如果问题比较复杂,难以立刻确认问题所在,也许可以用排除法来缩小问题存在的范围。

不要在与线索毫不相关的事情上耗费过多时间,你应该像个侦探一样,根据线索来推理出问题所在位置。

分析问题

主要分析的是为什么会发生这个问题。

通常,在你知道哪里出现了问题,原因自然也就知道了。
但是有时候,这个问题可能是由另一个问题引发的,其原因是比较复杂的。如果你急于解决眼前的问题,而不追本溯源找到根本问题的话,也许以后还会出现类似的问题。

找出问题的源头,不仅能方便提出针对性的解决方案,还能作为教训避免发生这样的问题。

如果问题比较复杂,用排除法来缩小范围,注意理清问题的逻辑顺序与关联。

解决问题

现在我们知道了问题的起因和经过,那么就可以来谈谈具体的对策了。给出一个明确的、可实施的解决方案。

确认解决

不要认为你给出了解决方案,执行完就好了。你并不能保证执行过程中不会出现问题,或者解决方案本身没有任何问题。

再操作一遍当初遇到问题时的步骤,确保各方面都没有问题了,这个问题才能算是被解决了。

心态方面的建议

镇定,不要慌

正如我们解决无法访问网址的问题,我们轻松就解决了问题。
但有时候,也许你面对的问题有着非常重大的影响,你的每一个决定每一步操作,若稍有差池便会造成巨大损失。

“镇定,不要慌”,在内心中重复这句话,直到你的手不再发抖,脑袋里不再是一团乱麻。
即使你承担很大责任,倍感压力,慌乱、焦虑、愤怒、心虚实际上对解决问题没有一点帮助。
闭一会眼,深呼吸,睁眼再确认一下这问题不是你的幻觉,也不是在做梦。冷静下来了吗?那么就放手做吧。

不要发呆,动起来

还有,也许你面对的问题不是你所擅长的领域。也许你的反应会是:我不知道下一步应该怎么做啊!
同样不要慌,面对问题如果脑袋一片空白,即使一直盯着问题干等着,答案也不会从天而降。
幸而我们有 google 这样优秀的搜索引擎,我们有网络社区这一片资源。你若不知下一步该怎么办,那我的建议就是去搜索,去请教别人。

熟能生巧

当我们在某方面具备很多经验时,我们处理问题的方式会是跳跃的,从看到问题表象瞬间就想到解决方案,这也许是可行的。

但切勿笃信经验,科学地分析,做事钜细靡遗,才能万无一失。