Skip to content

认知变化的来源

在 IT 行业谋生并不轻松,无数混乱的事让人应接不暇。

作为一名开发者,你是否感到过疲惫,产品经理的需求变化无穷?作为一名架构师,你是否感到过挫折,怎么摆弄架构都不合适?作为一名项目经理,你是否感到沟通的对方非常固执,明明简单随手的事情却遭到对方拒绝?即使作为老板,你是否对团队失望过,自己一个绝妙的点子换来的是响应者寥寥,得到的仅仅是应付?

在无数的编程思想书籍上都说过,代码需要被设计的足够灵活,只有足够的灵活就才能从容的应对需求的变化。关于应对需求变化的问题,在一次架构师研讨会上,我听到了令人耳目一新的答案:

"有些需求变化的根源是软件背后生意的变化,使用过于灵活的设计不仅不能满足所有的情况,还会给团队带来隐藏的成本。架构的灵活性需要克制的考虑,过于灵活的设计意味着更多的维护成本和认知负担。”

这名架构师已经跳出从技术角度看待需求的变化局限,通过更高的认知水平看待问题。

著名电影《教父》里有这样一句话:"花半秒钟就看透事物本质的人,和花一辈子都看不清事物本质的人,注定是截然不同的命运"。在军事行动中,决策者采取合适决策的前提是建立在对战场局势有充分的理解之上的,负责侦查的部队也会在不暴露自己的前提下,找到视野足够好的高地。深刻理解事物的本质,可以让自己时刻处于优势地位,无论对个人还是企业都至关重要,而这一切都需要站在更高的认知之上。

在软件行业,不同角色的人对待事物的认知差异极大。如果工作上的问题,有时候我们以为是一个技术问题,其实可能是一个经济问题;当我们以为是一个经济问题,其实是一个管理问题(甚至政治问题)。

认知差异会带来冲突,如果我们没有意识到它的存在,会带来非常多的麻烦。

这种认知差异带来的冲突无时不刻在发生。普通开发者追求能在限定的时间内完成分配到的任务,技术经理或架构师关注采用的技术方案是否能持续维护,项目经理更为关注完成这些工作需要的人力成本,而产品经理或者公司老板更关心这些方案能不能创造业务价值。

如果只是站在特定的角度看待问题,就像盲人难以感知到大象的全貌。认知不足的人难以成为一个组织的领袖,只有"感官"完整、看的既宽又深且头脑清醒的人才有资格坐在企业、团队的"驾驶舱"中驱动发动机让汽车在高速公路上飞驰。

我很佩服高认知的人可以看到事物背后的逻辑和规则,这些逻辑和规则往往是深刻的、直接的,但是又是残酷的、血淋淋的,不以个人意志而转移。事物表面的规则就像精美的电器外壳,精美的代价是留给你操作的接口很少,提高认知的过程就像打开电器的外壳,直面复杂、诡谲的线路板。打开电器外壳充满了风险,意味着你有可能损坏它,也可能被电流伤害,但是得到了改变一些事情的机会。如果你想成为一名 GEEK(科技爱好者),想要从容的定制电器的行为,那么打开电器外壳就是第一步。

很多软件说承载的业务背后是企业对他们"生意"的探索,普通的产品经理关注原型、交互,把用户交互奉为圭臬,而优秀的产品经理看到的是经济、利润和成本;普通的架构师关注模式、最佳实践,优秀的架构师关注权衡、取舍和每个组件的职责;普通的项目经理看到的是事,优秀的项目经理看到的是人。

认知层次不同的结果是,低认知的人今天信这套方法明天相信那套方法,相信这套方法的时候攻击其他方法,信仰改变的时候嘲笑过去的自己;高认知的人深刻的认识到方法论背后的逻辑可能并没有差异,能掌握这套自然也能掌握另外一套。

Released under the MIT License.