我们在工作和生活中经常会遇到一类问题。这类问题有三个特征:
- 信息极不完备;
- 时间特别紧张;
- 决策错误,后果很严重;
在医院里,这类问题会更多,医生必须快速决策。我在得到《薄世宁·医学通识》45讲如何在信息不完备的情况下快速决策,学到了四条应对方案。这是一种医生应对不确定的思维方式,但不限于在医学领域使用。
第一条,唐僧法则,也叫生命第一法则
只要病人不死,总有办法抢救。所以对医生而言,先保命是第一位的。这给我们的启示是,面对紧急事件时,要想办法变成不紧急事件,然后再去做进一步的处理。
对于我们做程序开发的人来说,保证程序能运行是第一位的。如果线上程序挂了,先回退上一个正常版本是最常规操作。然后再想办法去找原因。
第二条,第一张骨牌法则
多米诺骨牌您肯定听过,只要推倒第一张骨牌,就能让后面的骨牌都倒下。在面对一个相互影响的系统时,要找“病因”。病因往往藏在一堆症状里。
这个法则主要是告诉我们,在一个复杂系统里,影响问题的原因有很多,我们需要想办法抓住那个关键问题,而不要一直围着表象打转,头痛医头脚痛医脚。
那具体怎么找“病因”呢?用第三条法则。
第三条,马蹄声法则
如果您听到马蹄声,应该猜来的是匹马,不要去猜斑马。
医生在决策的时候,要优先考虑到大概率的常见病、多发病,根据概率大小,逐一落实,最后再考虑罕见病。
我们程序员在遇到问题的时候也应该如此,大部分问题都是那些常见的错误导致的。经过核实后才去考虑那些小概率事件的原因。比如很多开发人员在测试之后,上线之前改了一个自以为不会错的代码,然后上线出了问题,那么不用想,大概率是这个改动引发的问题。
马蹄声法则主要是告诉我们,要有概率思维。先从大概率事件去推导问题原因。
第四条:高尔夫法则
这是用于纠正医生主观偏差的法则。
打高尔夫,想要球进洞,就需要不断调整自己挥杆的角度和站立的问题。医生也一样,从第一个决策开始,就会需要一个不断校正的过程。没谁能保证第一个判断就是正确的,要根据患者给予的反馈实时更正。
做程序也是如此,我们可以通过打日志,调试程序验证代码的结果。即使最开始把问题原因想错了也没关系,调试的时候会给你反馈信息,让你更容易理解问题,并进行改正。
做产品也是一样,边走边修正才能保证大方向不会错。要是想憋个大招,产品发出后发现方向不对,那就悔之晚矣。