为什么解决问题的能力很重要?
解决问题的能力是一个人职业生涯的一项重要技能。掌握,熟练使用该项技能能为你的工作带来巨大的效率和加分。
解决问题的能力是一项原技能。社会中的每个人都会遇上或大或小的各种问题,但是很多人都是没有一套框架,方法,而是凭感觉,甚至一脸懵逼。难以避免低效工作,或者无法解决问题。
大部分人是如何解决问题的?
很多人解决问题的方法就是靠猜,就像下面步骤:
1:先尝试一下想到的第一个办法
2:如果第一个办法不行,就再试试第二个可能的办法
3:如果还是不行,再重复第二个步骤
其实大部分都是靠运气来解决问题的。如果今天运气良好,咦,或许问题就被我解决了。有的时候霉运,就很沮丧。怎么试也没有试出来。
回顾我第一份工作的时候其实就是这种思路模式。遇到了问题,就是瞎试。这种思维方式在面对线上bug的时候,就非常捉襟见肘。每一次领导看到我在瞎试的时候,其实我在他那边的信任度又下降了。
为什么瞎试的办法不可行?
瞎试不仅低效,甚至无法解决问题。其原因在于每一次瞎试,其实你都是一种提前假设,可能是A部分除了问题,所以你如此尝试。但是你缺少了一个重要的环节,验证是否真的是A除了问题。很多的时候其实A并没有问题,但是你在盲目的尝试,这种瞎试的方法非常的浪费时间。
那有什么好办法么?
更好的办法就是
- 有一套解决问题的框架
- 不断的熟练,练习这套框架,进而熟练掌握这套框架
解决问题的框架
1:深入理解你要解决的问题
最好通过书写的方式来让你更清晰的理解问题,你需要回答如下的提问。
- 你到底要解决什么问题?
- 这个问题值得你投入时间和精力去解决么?
- 如果不解决这个问题会有什么影响?这些影响严重么?
那理解问题要理解到那个程度?只要你能用简单的语言能够清楚回答下面三个问题,你就对该问题有一定的理解了。
- 问题的影响范围
- 问题的边界(哪些情况是有问题的,哪些情况OK的)
- 问题的发生的根本原因
2:问题拆分
我们遇上问题,之所以一脸懵逼的原因就在于问题太大,太模糊,导致你无从下手。
这个时候,一大杀器就是:问题拆分。我们将一个大而难的问题切分成几个小的问题,然后每个小的问题如果还是难以解决就继续切分。这个方法非常好用。
切分完问题之后,你就可以从最小的子问题出发动手解决。
比如领导给你分配了一个任务:请统计这次事故产生的影响?
你看这个问题非常的大,非常的模糊。你必须将要这个大的问题拆分一下。比如我拆解成
1:在出故障这段时间段中,对业务A(比如酒店)影响是什么?
2:在出故障这段时间段中,对业务B(比如电影)影响是什么?
3:在出故障这段时间段中,对业务C(比如外卖)影响是什么?
xxxxx
通过拆分,一下你的问题的边界要清晰很多了。但是问题仍然很大,需要再继续拆分。
来看看高手的引用:
如果让我教一个刚进入职场的人如果解决问题的话,那就是问题拆分。问题的拆分是解决问题的核心环节。
3:写下解决问题的详细步骤
问题拆分之后,在直接撸袖子开始猛干之前,请克制一下自己的冲动。请详细的写下你将要解决问题的步骤。
这样做有什么好处?你要知道人的大脑是有盲区的,当你觉得你思考的差不多了,可以做了。但是很可能有些情况被你遗漏了。
所以写下详细步骤是非常必要的,这一步有助于你梳理每一个详细的步骤,确保没有遗漏任何情况。
举个范例:
需要解决的问题:你购买了2支口红,每支100块钱的,但是因为优惠打折,打了40块钱的折扣。现在你退了一支口红。请问商家要推给你多少钱?
详细步骤(下面算法是对用户最友好算法,还有别的退钱策略,下面仅仅演示对用户最友好算法)
- 商家应该收你2*100=200块钱,但是打了40块钱的折扣。
- 你退了一支口红100块。
- 所以商家应该收你100块,但是已经给你打了40块钱折扣。商家可以打40块钱折扣,所以折扣不退。
- 换句话商家退给用户100块。
当你详细写下每一个准确的步骤的时候。你就发现解决思路其实已经浮出水面了。有的时候解决步骤可能有10-20步骤,我在工作中还真遇上过。非常的复杂,如果没有详细的写下步骤,很可能某一个步骤执行错了,就导致更严重的问题。
4:卡死了,怎么办?
每个人都会遇上线索断了,没有头绪了,卡死了,这个时候该怎么办呢?我想每个人都会遇上这个头疼的事情。
关于这个只能给出几个可以尝试的思路
- 回退法。重新回到原点,从别的角度再次审视问题,换几个角度再次试试
- 跳出盒子。很多时候因为过于聚焦细节,导致我们迷失在细节之中。跳过盒子,或许你能发现一个更简单的办法。比如高斯计算1+2+3+….+N的方法
- 如果还是卡死,这个时候你的另外一项技能要出场:求助的能力。你遇上的问题大神可能曾经遇到过,你需要主动的去找打这个问题域中熟悉的前辈,去域他们沟通。描述你的问题,描述你的尝试,描述你卡死在哪儿,没有思路了。求助是一项重要的技能。大家都是非常乐意帮助人的,求助能扩展你的能力边界。求助是给自己,也是给别人一个展示/使用技能的机会。
- 一般现世中的问题域的专家应该就够用了。如果不够历史上的专家写的书或许能启发你,网络上也有很多厉害的人可以求助。
- 简单说:当达到你的能力上限的时候,你必须要学会借助别人的优势来帮助你解决你遇到的难题。
5:确保你解决了问题,而没有引发别的问题
当你解决了问题后,你需要有机制,有办法确认你真的解决了问题,并且你没有引发别的问题。
你需要能回答如下提问:
- 我如何确定我真的解决了这个问题?我通过什么测试知道我真的解决了这个问题?
- 我如何知道我没有引发其他的问题?说真的如果没有一套完整的测试用例,其实你没有信心能回答这个问题。
- 什么时候交付结果?
每一次你非常可靠的解决了一个问题,都是你在成长,你在进步。问题解决的越可靠,越多,你的解决问题的技能就越来越高。
总结
好,简单总结下解决问题的框架
1:深入理解你要解决的 问题
2:问题拆分。将一个很大,很模糊的问题拆解成一个一个的小问题
3:写下每个问题的解决步骤。提前将解决步骤书写出来,还可以与同事一起审核,你的解决步骤是否正确,完备。
4:遇到卡死了怎么办?凭自己能力解决,比如跳出盒子,比如重新换个角度再来。另外就是借助别人的优势来完成,发挥你的求助能力。
5:确保问题真的解决了,并没有引发新的问题。