鱼头指向当前现状,”脊椎”两侧的”大鱼刺”代表大方面的原因,”大鱼刺”上的各”小鱼刺”则表示更细的原因。
可以看出,鱼骨图可以非常清晰地显示出导致当前现状的各方面原因。这也是使用鱼骨图的关键所在——尽可能列出所有原因。
而五个为什么,以一种层层深入地提问的方式,找出根因所在。来看一个具体例子吧(一下子很难想到编程相关的例子,以下摘自维基百科,有删改):
情景: 汽车无法启动了。
Q: 为什么汽车无法启动?
A: 因为电池电量耗尽了。
Q: 为什么电池电量会耗尽?
A: 因为交流发电机不能正常工作。
Q: 为什么发电机不能正常工作?
A: 因为交流发电机的皮带断裂了。
Q: 为什么皮带会断裂?
A: 因为交流发电机皮带远远超出了其使用寿命,从未更换过。
Q: 为什么超出了使用寿命,却从不更换?
A: 因为我一直没有按照厂家推荐的保养计划对汽车进行过保养和维护。
从上述例子,已经能看出来,五个为什么就是通过不断地追问来找出根本原因。一般到第五问时,根因差不多也就出来了。当然具体要追问多少次,还得情况而定。
问
所谓问,即产生解决方案,用到的工具可以是头难风暴。这也是我第一次听到这个名词,了解之后,发现确实很有用。
头脑风暴法(英语:Brainstorming),又称为脑力激荡法,是一种为激发创造力、强化思考力而设计出来的一种方法。可以由一个人或一组人进行。参与者围在一起,随意将脑中和研讨主题有关的见解提出来,然后再将大家的见解重新分类整理。在整个过程中,无论提出的意见和见解多么可笑、荒谬,其他人都不得打断和批评,从而产生很多的新观点和问题解决方法——维基百科-头脑风暴
简单地说,头脑风暴就是一个群策的过程,日常的讨论算是广义的头脑风暴吧。进行头脑风暴,有几个要点:
1、设定一个主题
2、设定时间限制
3、列出所有意见
4、激励大家参与
5、不做评价
就“不做评价”做一个简单说明。头脑风暴的目的是尽可能多地产生解决方法,仅此而已,评价筛选的工作在确定方案阶段进行。若提早对某一方案做评价(一般会是批判性的),将影响参与者的积极性,一定程度上也会限制意见的创新。当时我们头脑风暴主题是”如何写学术论文”,连”抄袭”都出来了,不过大家也就默契地一笑置之。
切
所谓切,就是确定解决方案。
一种可行的工具是评价矩阵,候选的解决方案就是上一阶段头脑风暴的结果,还需要设置一个或多个评价标准,大概的样子如下所示:
由评价矩阵可知,虽然循环和递归方式实现 Fibonacci 数列,两者各项得分有所不同,但按总分来看,可以优先选择循环的方式(当然更好的构造 Fibonacci 数列的方式可能是生成器)。
根据使用场景的不同,还可以为各项评价标准设定不同的权重,比如就上述例子而言,若重点考虑空间消耗,可设其权重为 2 或更多,其他评价标准权重为1或其他值。
另外,得分越高越优还是越低越优,可以根据个人喜好来,但务必保持一致。比如有些同学喜欢用小的数值表示消耗低,而效率则喜欢用大的数值表示高效性,这就造成了混乱,最后究竟是得分高者为优还是低的为优? 这是个问题。
小结
至此,解决问题的一套流程算是跑完了。让我们简单梳理一下:
● 定义问题 - 问题,本身就被定义为现状与期望的差距,因此一种行之有效的定义问题的方法是: 量化差距
● 分析原因 - 用鱼骨图列出所有原因,或用五个为什么找出根本原因
● 产生解决方案 - 可以用头脑风暴的方式产生尽可能多的解决方案,注意不要做评价
● 确定解决方案 - 可以用评价矩阵来确定最终方案
为了讲解清楚,正文中所举的例子都是针对单个环节的。但在实际使用时,大家望闻问切的思路来解决问题,应该会有意料之外的收获。
One more thing,解决问题的方法是多样的,本文也仅仅提供了一种解决问题的思路。你完全可以在不同环节采用不同的方法或工具,比如在分析出问题产生的原因之后,针对各原因逐个消除,或解决主要矛盾,再或者完全采用其他的解决之道。用伟大领袖我邓主席的话作结:
黑猫白猫,能抓住老鼠的,就是好猫。
本文系“编程派”授权“计蒜客”发布,如要转载请与作者本人联系。返回搜狐,查看更多