问题太多了,实在太多了。
这是大多数项目开发里面遇到的情形,好不容易翻山越岭地解决了一个Bug,结果冒出另一连串Bug(不要和我谈OO,GOF这些的)。不只是项目里面,人生简直就是用来和问题搏斗的,打完一个小问题Boss,迎面的而来是大问题Boss。
如果所有问题都有一套解决方案来应对,这个世界会幸福好多。可这是妄想,问题太复杂,根本不可能完全解决,也不会有一个通用的方案(各位读者不要按`「Ctrl+W」`)。
近来略微闲下来,也仔细想想「问题」这个复杂的问题。得出一些有意思的看法,和大家分享。
问题是什么
----------
一花一世界,一叶一如来,春来花自青,秋至叶飘零,无穷般若心自在,语默动静以自然。
问题是`「理想世界与现实世界的差异」`的心理学定义
问题真的只是一种`「心理学定义」`,你觉得这是问题,那么它就是问题,你不觉得他是问题,那么它就不是问题。听起来挺玄乎的,可这就是一个感受问题。隔壁搬砖王老五早起发现自己的波斯猫丢了,吓得下巴掉到了地上,你却不屑地走过,“这个死娘炮”!王老五的问题对你而言就不是问题。
问题也是一种差距,理想情况下你是王思聪,所以买房,泡妞,放浪形骸这些都不是问题,可你现实里面只是一个上班的白领,所以买房,泡妞,放浪形骸这些都是你要面对的问题。
理解了这个过后,可以适当地调节下自己的心理预期,好多问题就不是问题了。不去想明天双色球就中个超级大奖,那么就不会把当下的两张彩票当做问题了。这些问题都是佛说的`「妄念」`。
我们面对的问题是什么
----------
除去妄念,剩下来的都是实实在在的「问题」。这些围绕在身边,让人心里有落差的烦心事到底是什么?
想要很好地定义一个问题,这几乎是办不到的事情,所以我没法回答副标题里面的问题「我们面对的问题是什么?」这里可以通过一个简单的事情来说明一下。写程序时,避免不了Bug的出现,解决Bug常是让程序员头痛的问题。有一个Android项目里面需要使用Blur的效果,于是在Github上搬砖下来一个BlurImage项目的例子,顺利地完成了产品狗的需求,Blur效果上线后,问题接踵而至,OutOfMemory Exception总是时不时地可以在堆栈里面发现。「如何避免OutOfMemory?」就成了一个挡在眼前的问题。在发现CP妹纸配的图片里面有2张是1024*456后,当时就怒了,“你难道不懂Android的内存很局限吗?”,想当然地以为问题是「CP如何保证图片大小合适?」。问题过了一段时间后,OutOfMemory真的减少了不少,更加确认了问题就是「CP如何保证图片大小合适?」。直到一个偶然的机会,我才知道真实的问题是「运维这边的Bug导致图片的压缩服务没Work」,运维修复这个bug后,OutOfMemory自然而然就少了,当然也许事实还不一定是这样的。
```
即使问题已经解决,你依然无法确认问题的定义是否正确。
定义问题是很困难的事情,但别停下寻找真相的脚步。特别是Programmer,对于真相的探求是进步的阶梯,而且这关乎我们的职业道德。
```
问题一定与人有关的,只与物相关的那叫客观规律。而问题对于不同人而言又不是相同的,因而这里要将「问题是什么」,定义为「我们的问题是什么?」。公司最近开始运营班车,而某些职员住的比较远,从班车运营的费用而言,对这些部分员工专门开通班车是不太现实的。这个时候对于公司和职员而言问题就是不一样的。公司的问题是「如何设计合理的线路,让这些住的远的人在合适的地点搭上其他班车?」,职员的问题则是「如何住得近点?」
```
每个人的问题都不一样,但我们可以换位思考。
```
这样看来,我们需要重视解决的主要还是「第一印象」?问题追溯起来,可能太负责,在大多数情况下,我们需要针对这「第一印象」提出解决方法。
怎么解决问题?
在心惊胆战地尝试定义问题后,如何来解决这些问题了?没有统一的公式来应对,但可以提供一些角度来思考日常问题的解决。首先问问自己是否需要解决这个问题,谁来解决这个问题?
谁来解决问题?
某班级由11个学生组成,他们每周三下午上3小时课,讨论问题的解决方法,而且老师是个聪明人。尽管12个人中有11个不抽烟,剩下的那个人却有严重的雪茄瘾,这让大家错愕不已。教室很小,通风不畅。那位学生的雪茄烟虽然廉价,但烟雾扩散得非常快。第一次上课时,刚上完第一节课,烟气就已经布满了整个空间,只有最矮的学生幸免于难,几个高个子的脸都已经变绿了。而吸烟的同学还在一脸幸福地吞云吐雾,完全没有意识到有任何问题。老师是个问题解决者,在他看来,显然出现了问题,或者说问题很快会出现。
如何解决这个问题?按照一般的思路下去,大抵的解决方案是“开掉抽雪茄的学生?”。显然一般思路下去,我们会按照老师的角度做下去,提出类似于惩罚抽雪茄学生的方法。思考下「谁来解决这个问题?」。也许更好的方案应该有那些参与的学生来提出。事实上,最后的解决方案是 -- “抽雪茄的同学是因为和同学之间无交集,无聊才抽烟的。于是大家决定,每天有一个同学带零食给大家吃,边吃边分享,大家团结过后,自然就不会有这个问题了”。
在寻找方法来解决问题时,切记提醒自己,「有没有更合适的问题解决者」?
需要解决吗?
不需要把力气都放在与世界为敌?那样太累。
有些事情,可能不需要解决,就像没必要拼上老命去当个公务员。在职场里面,潜下心来思考下老板让你做这个事情是为了什么?以前就听说过一个例子,老周是一个很牛的员工,但是他所在的公司又没有适合他的岗位,所以公司就给他开了较高的薪水让他去完成一些复杂的事务,其实老板和老周都知道,这些事情没必要解决。生命太宝贵了,就只一次,那些没必要的问题真没必要去解决。
发现问题的所在
解决问题难,「提前发现问题更难」。三国演义里面的蒋干(事实上是一个有名的才子)自以为成功说服周瑜,可实际问题是「他被骗了」。我们往往醉心于解决了某某问题,却忽略了可能带来的问题,热衷于线程带来方便,忽视了程序的碎片化。当发现问题后,问题往往可以得到解决,在覆水难收之前发现问题才是最难的。
```
看看你对问题的理解,如果想不出至少3个可能有出错的地方,你就没有真正理解这个问题。
```
似乎这样的难题没有有效的方法,但有两个建议。「常换位」和「常回顾」。
```
每每站在不同的角度上去思考问题,总会发现不协调的地方。
我们在不断前行的路上,常回头看看,有没有不对劲的地方。
```
怎么解决问题
具体到解决问题时,却没有什么可以可说的了,毕竟这是一个领域性极度耦合的事情。
个人有愚见,可以沿着这条思路一路下去:
```
「需要解决吗?」 -》
「谁来解决?」-》
「不管和自己有没有关系,请尝试思考如果和自己有关系?」 -》
「换个位置想想?」-》
「解决问题」-》
「回顾以上」
```
简单,也没那么简单
《你的灯亮着吗?》热门书评
-
你的灯亮着吗
257有用 3无用 铂程斋@喷嚏网 2008-07-22
(一) 小满当上项目经理后不久,参与了一个大项目。当时市场签下来的时候,公司里面是欢天喜地的。项目做了一年多。到了交付的时候,用户却很不满意,当初说好的东西,好多都变了卦。 用户是上帝,最关键的是如果收不到后面的钱,那就算白干了。公司要求项目组加班加点的修改。搞得大家是怨声载道...
-
定义分析和解决问题之道
73有用 0无用 人月神话 2008-02-19
《你的灯亮着吗》是著名思想家温伯格(其著作还有系统思维导论,程序员开发心理学)的一本定义分析和解决问题的书籍。全书分六篇由20个寓意深刻的小故事组成,讲述层次仍然遵循定义描述问题-》分析问题-》解决问题的思路,故事中穿插了诸多的最佳实践和案例供大家参考。  ...
-
问题解决的巨著
57有用 0无用 只道是寻常 2010-09-03
原文:http://wenku.baidu.com/view/53687e21af45b307e8719705.html描述: 一本教人遇到问题时如何思考才能更好解决问题的书,但与其他阐述解决问题具体技术的书不同,他关...
-
降低面向目标的含混性
40有用 4无用 黑枪王荣格 2009-03-02
温大师从小就是搞系统思维的,却最终没有将系统思维的成果足够成功的运用出来,实在是很可惜。本书可以看做是《探索需求—设计前的质量》的姐妹篇,因为它们都是在讲如何降低需求中的不清晰程度。本书选择了向上发展的办法,而另一本着重于面向实现。给本书评5星,主要是因为没有人比他做得更好,否则它就要沦落到和《复杂...
-
你悟了吗?
26有用 0无用 hunzi 2006-05-18
温伯格的书总是这样,用简单的故事来启迪你的思考。这本书是朋友介绍阅读的,刚拿到手吓了一跳,以为是给小朋友看的,不知道为什么朋友对它评价会这么高。看了以后才知道,真的是一本可以重复品味的书,每次看总有些新的收获,或者说有所悟。本书的内容是围绕解决问题展开的,逻辑性非常强。我目前的理解有以下重点:1:谁...