2009年2月2日

学会透过现象看本质,即使现象有时候挺诡异

  最近看到一个【汽车对冰淇淋过敏】的小故事(原文在此),转述如下:
  某汽车公司收到投诉信,用户抱怨了一个匪夷所思的经历:
  他每晚都从家里开车去商店买冰淇淋。如果买的是香草冰淇淋,则回家时汽车就无法发动;如果买其它口味的冰淇淋,则汽车可以正常发动。天天如此。该用户怀疑这款汽车是否对香草冰淇淋过敏。
  汽车公司的头头觉得这太过诡异,不过还是派了一个工程师去用户家里调查原因。第一天,工程师和用户一起去买冰淇淋。在店里,工程师要求买香草口味,结果出来后,汽车果然不能发动。此后几天,工程师每次都和用户一起去买,每次都由工程师临时决定买什么口味。果不其然,凡是买了香草口味,汽车就无法发动;反之则可以。(由于是工程师临时决定购买的类型,可以排除用户搞恶作剧的可能)
  这个工程师是一个理性的人,也不信神,当然不会相信汽车过敏这一说。但是他觉得有更深层的原因在起作用。此后,他每天晚上和该用户一起去买冰淇淋,每次他都详细记录往返的时间、途中踩油门和刹车次数、使用的汽油型号等各种信息。许多天后,他终于发现规律:凡是买香草口味的,在商店里面花的时间少(因为这个口味受欢迎,摆放的货架靠门口)。
  于是问题就转化为:停车的时间短导致汽车不能正常发动。然后,工程师就轻易找到了原因(当停车时间太短,发动机依然很热而无法驱散气阻)。

  这个故事给我们几个启发:
1. 不要拒绝接受貌似很诡异、很离奇、很不可能的现象
俺手下的很多程序猿都曾经抱怨测试人员提交的某个bug太怪异,对这些bug不予承认。如果你也是程序猿,想一想自己是否也有类似情况?

2. 要善于从一些细节发现规律,从而查出问题的根源
如果你是这个工程师,你能否通过细致的观察而发现其中的规律?


俺博客上,和本文相关的帖子(需翻墙)
书评:<你的灯亮着吗?——找到问题的真正所在>
思维的误区:幸存者偏见——顺便推荐巴菲特最著名的演讲
思维的误区:忽视沉默的大多数
用提问来促进思维——再谈 WHAT HOW WHY 三部曲

29 条评论:

  1. TopLanguage讨论组对本文的讨论

    http://groups.google.com/group/pongba/browse_thread/thread/ef4af9f7bb4d8ee4/e760161d5f1d7b59#e760161d5f1d7b59

    回复删除
  2. 其实不是现象太过怪异,只是在不了解不明白的情况下,人的思维惯于把不相干的现象强加于问题本质之上。不过这个小故事确实有可取之处

    回复删除
  3. 思维惰性,人性的弱点

    回复删除
  4. 这个故事说明,顾客就比如傻瓜一样,而我们做程序员的,就要刻意的去限制这些可能发生的问题,再比如说,顾客就像三岁的小孩,见什么都比较好奇,不管能吃不能吃的东西都往嘴里塞,而我们程序员就要像妈妈一样,去限制他们,凡是不能吃的东西都给它放到小孩拿不到的地方,那样就限制了小孩会误拿错东西吃了!!!

    回复删除
  5. 楼上思路是典型改BUG思路,来个BUG改一下。。。
    当然不是说这种思路不好,只是觉得这样去做虽然保护了程序,但是也限定了用户,我们的做法应该是在允许的成本与时间内尽可能更好的服务用户,让用户体会到我们的专业:)

    回复删除
  6. 看了很多楼主的帖子,感觉楼主应该属于学院派的代表了,至少骨子里是的,呵呵~

    回复删除
  7. 楼上的同学,能否说一下你的判断依据?我很想了解一下网友如何看待我写的东西。

    回复删除
  8. 既然编程随想 大大想听偶意见,就说说吧:)
    从这些文章来看
    首先你写东西很细致,连某个类的介绍都有超链接,看来是花了不少的功夫。虽然这些都是小事,但是很多人,包括我就算写东西也不会注意这些“细节”,有习惯问题,也有时间问题,也有其他原因
    然后,文笔挺好,不像是偏科的人写出来的,网上的好文很多,不过很多大拿们会聊的兴起跑题了,呵呵
    还有,没什么例子,是种感觉,你可能是个完美主义者。
    呵呵,个人感觉而已

    回复删除
    回复
    1. TO 8楼 你这个赞扬溢美之词像一个女生哦 :)

      删除
  9. 感谢楼上同学的评价。
    关于“写东西细致”、“注意细节”,可能是因为做过几年GUI应用,养成了习惯。
    至于“完美主义者”,貌似有一点,好在不算太严重:-)

    回复删除
  10. 有完美主义的人,所造就的东西也会同样完美,
    完美--有了这种观念,才能更深层地去刨解问题!

    希望~喜爱思考的随想写出更加精彩的东西!

    回复删除
  11. 不错,最近就遇到这样的情况。
    自己做的东西发布了新版本,很快客户就有反应某某地方有某某问题,刚开始觉得不可能,后来经过调查,确实有问题,基本都是自己的疏忽大意造成的。

    回复删除
  12. 相关性往往反映了因果关系,听上去荒谬的因果关系往往是没找到root cause

    回复删除
  13. 这个故事中的症结在于没有把问题描述清楚,仅仅是用一个很片面的现象(这个现象也着实看起来荒唐),掩盖了忽略了很多细节。

    回复删除
  14. TO Yongning Sun
    欢迎批评 :)
    这个故事只是一个引子,俺重点想说的,是本文结尾的两点启发。

    回复删除
  15. 百毒云这次的营销策略还挺高明,让许多人帮它宣传了。看了下评论,觉得楼主可以加这个例子进去,旧瓶装装新酒~。不过如果我分析错了那别加了。

    我说说自己的推理思路吧:
    写在产品那的价格就不是一般的贵,100G年费都能买块盘了;
    从我看到朋友推广的信息时间看,已经过去五六个小时了,百毒程序猿再怎么差也不至于这水平;
    百毒目前还是不缺钱的,(当然这有点主观臆断的味道在里面)看了下用户评论,之前还免费来着,能把百毒逼到这份上的企业&财务危机我想是没有的;
    产品价格靠下面那块还XE地标上了有效时间,不可能是BUG带出来的。

    结合以上4条就是我的结论了:百毒在搞很高明的营销策略(我不是专业的,不知道这个词对不对)。

    当然还有一种可能就是人为修改,也就是百毒被人hack了,不过个人觉得这种可能性太小。

    回复删除
    回复
    1. 朋友, 这博美狗泛滥。博主近期也受到了严重的疯狗病受染成为了美狗病患者,你看到的博文与现在的博主不是同一人了,此博的面向对象现在仅支持菲人类美狗日杂,不适合正常人学习看博了。程序员和爱好技术等其它网友请绕道或者打120,程序技术相关博文的更新要等到30000年以后。

      删除
    2. TO 17楼的网友
      你说的是不是下面这个?
      [url=http://tech.163.com/13/0622/11/91VKQJJA00094MOK.html]百度云支付漏洞:售价跌至1/1000或为变相营销[/url]

      删除
    3. 1单元网友典型的人身攻击,逻辑混乱,比[忠党爱国]还差得要命

      删除
  16. 我认为真正的诡异现象是现目前科学水平远远无法研究的未知现象。所以这个问题看起来挺诡异,其实不算诡异现象,是用户认知问题。这点我和博主的观点一致!另外我不赞成汽车调查员的做法:全面收集各种繁琐信息,再一一排除,实在是太浪费时间。应该针对导致“汽车不能发动”的各种因素,一一排除;或者针对“买草莓”这一动作本身。如果这样都无法解决问题,那么肯定有未知因素掺杂进来,然后才开始全面收集信息,找出未知因素!

    回复删除
    回复
    1. 多谢补充你的观点 :)

      你提到说,先针对“汽车无法发动”和“买草莓”进行相关分析。
      这种做法有一定道理,可以提高排查的效率。

      但在本案中,如果光针对这两个进行相关分析,恐怕大多数人还是无法找到症结。
      因为最终的症结是“时间跨度”,这和“买草莓”是一种“弱关联”(没有太直接的联系)。

      删除
  17. 我在做测试的时候就发现一个规律,凡是没测到的,将来一定出问题,把所有的地方测一边,才能找所有的bug

    回复删除
    回复
    1. TO 姜中正
      你说得这个现象,类似于“墨菲法则”。
      该法则可以表述为:
      凡是可能出错的事均会出错
      若系统的缺陷有多种可能性,则它必定朝最坏的方向发展

      删除
  18. 看了楼主不少的文章, 觉得最大的特点是:
    逻辑清晰、条理清楚, 注重基本概念的陈述

    缺点是: 概念多, 例子少, 很多东西都是点到即止,没有更深入的论述。

    总之, 博主的文章还是相当不错的, 尤其是大部分都是原创的, 这一点非常难得。希望楼主再接再厉, 出更多精彩博文。

    回复删除
    回复
    1. TO 20楼的网友
      多谢捧场,多谢提出批评 :)
      以后俺会注意,尽量多举例!

      删除
  19. 看看查理.芒格的人类误判心理学,你能看到的更多

    回复删除
  20. 希望博主不是出了什么不好的事才断更的

    回复删除