打破思维定势,跳出问题漩涡

    思维定势(Thinking Set) 是由先前的活动而造成的一种对活动的特殊的心理准备状态,或活动的倾向性。在环境不变的条件下,定势使人能够应用已掌握的方法迅速解决问题。而在情境发生变化时,它则会妨碍人采用新的方法。消极的思维定势是束缚创造性思维的枷锁。

    上面的描述太专业化,通俗地讲,思维定势其实是根据个人或团队先前的知识积累去解决现实问题的方法或者思路。通常而言,思维定势能解决我们遇到的绝大部分问题,只有少部分问题,在思维定势的框架下,只会将问题越变越复杂而不能最终解决问题。

    就拿软件设计来说,瀑布模型是一种条理清晰、层次明确的设计方法,在需求明确、人力资源、时间和成本允许的情况下,无疑会是大家首选的;但当环境变了,比方说需求不清晰、或者特别强调工期的项目,就不再适用瀑布模型,此时专家们突破思维定势,创造出来螺旋模型、快速原型模型、增量模型等设计方法。

    单位的一位领导曾跟我说过,不要把自己当成一位码农、一个只知道砌砖的民工,要把自己当成设计师、当成既画蓝图又砌砖的建造师。想必很多人听到了都觉得这是个理想。初听到这句话,我也是这么想的,自己就是一个苦逼码农,就是用十指创造生活的人,哪谈得上什么设计师?且慢,静下心来,我们不妨细看看开发过程。

    软件的设计工作总是从《用户需求说明书》开始的,根据这个我们去编写SRS。编写SRS的过程,是对用户需求理解的过程、是用软件语言翻译需求的过程。这个过程就用到了工程师的积累,老资历的工程师通常很快就能完成这个过程,并且能做到理解准确,贴近用户初衷。

    完成了SRS,我们开始执行总体设计、概要设计、详细设计这些过程。到了详细设计阶段,就比较接近最终的代码了。我们就说说这个详细设计阶段,如果说前几个阶段都是在描述问题,那么这个阶段就是要充分考虑如何去解决问题了。

    需求中棘手的问题,都要找到解决方法。这个过程中,思维定势能帮助我们解决99%以上的问题。个别问题,利用积累,我们想到多种解决方案,但这些解决方案虽能解决问题,但要么受制于其它条件,要么成本巨大,都不能成为我们的首选方案。在这里,开发过程陷入了僵持阶段。项目经理也不敢轻易从备选方案中选择最终解决方案,只要上报更高一级别的领导——技术总监。

    技术总监拿到这个问题和配套的多个解决方案,也深表赞同,正要痛下决心采取提高成本来解决问题的方案时,突然说了一句,“跟用户沟通下,让用户修改下需求不行吗?”对啊,这个需求其实也存在不合理的地方,如果用户同意修改一下,那么我们的解决办法就比较简单,并能保证工期,并且不用增加成本了。

    项目经理在总监的一句话提醒下,顿悟。

    其实,刚刚技术总监就是做到了突破思维定势,提出的一种解决办法。

    为什么大部分人都不能突破思维定势呢?按照我的理解,就是因为“当局者迷”。遇到这种事情的时候,不妨跳出来,以一种局外人的视角重新审视这个问题,或许就有意外收获呢。

    也许下一次你突破了思维定势,提出了新的解决方案,大家会拍着大腿说,“对啊,就应该这么办,我怎么没想到呢”,往往这就是成功的突破。

    以上为本人开发过程中的一点拙见。

你可能感兴趣的:(杂谈,项目管理,活动,框架,生活,语言,工作)