架构活动需要顺应人性
程序员入行的第一天起就进入了一个机器的世界。在别人的眼中,程序员平时很少说话,更多的时间在和电脑打交道。
程序员工作时间久了大脑会被格式化,就像一个一个方格。它有一定好处,就是你在写代码的时候更容易理清边界,开发模块化的代码,而你的代码也将逐渐变得越来越符合“高内聚低耦合”的要求,从而在技术上一步步向专家靠近。
但是格式化思维也有一个坏处,就是我们的思维容易陷入机械化思考的盲区,而对人性的考虑偏少。如果你对自己的要求不高,或者你只想踏踏实实做一名程序员,你可以选择我行我素,但是作为一名架构师,如果你的架构活动不顺应人性,你将很难生存。
为什么?因为忽略人性可能会给架构设计带来致命错误,这个致命错误可能会从此让企业一蹶不振,很难再翻身,或者可能造成大量资损或用户流失。
先来讲一个经典的例子。美国一家儿童医院在给儿童进行核磁共振扫描时,需要儿童一动不动,躺在设备上进半个小时,这对于拥有好动天性的儿童来讲是很难做到的,因此做扫描的前提是做全身麻醉。但是为了做核磁共振,让儿童做全身麻醉,这会让一个本身相对安全的设备反而变得比较危险。
Doug Dietz 担任通用电气医疗集团(GE)医疗成效系统的工业设计师,他亲眼目睹了儿童的焦虑和害怕以及父母的满面愁容,于是他没有对核磁设备做任何改造,而是在设备的外部布置了特定历险主题的场景,比如说海盗船、宇宙飞船等,而将儿童躺在核磁成像仪器内一动不动的要求变成了特定的历险,这时奇迹发生了,这些儿童大部分就可以轻松完成这个任务,这家儿童医院的全麻率也从80%降低到了10%。
这里的关键在于,把核磁共振设备周围的环境布置成历险的场景,与设备本身的硬件设计毫无关系,但是却完美的解决了该设备遇到的问题。
马斯洛需求理论
提起人性,我们不得不提到马洛斯的需求理论。该理论谈到每个人都有各种各样的需求,比如吃饭的需求、买车、买房、买包、玩演唱会门票等等。每一个需求的背后都有动机,比如吃饭是你最基本的生理需求,通过吃饭让自己不饿是你的动机。关于需求和动机,马斯洛理论谈到了两个重要的点:一是动机是有优先级的,二是动机是可以跃迁的[1],下面我们分别详细说明。
一 动机有优先级
谈到动机有优先级,我们不得不先强调一个观点:学习或了解知识一定要从第一手资料入手。如果你去搜索马斯洛理论,你会在网上看到,大部分的文章都在讲马斯洛的需求模型,他们把需求分成了类似金字塔的不同层次,如下图:
但当你真正读完原书后发现,马斯洛真正想表达的观点并不是需求是分层的,而是说需求背后的动机是有优先级的。
动机的优先级,我们可以通过下面这张图理解:
如果我们没有看原著,那就可能被网上的文章所误导,这对于我们的成长是极其不利的。同样已故的技术专家“左耳朵耗子”,也在他的文章中极力说明了极力推荐我们阅读英文文档。
首先,我们每天遇到的各种各样的需求,有些事基本的需求有些事更高层次的需求。都大致可以归为这几类需求。这也是网上绝大部分文章都在说明的问题。
然而,马斯洛真正想表达的是,每一个需求都会对应一个动机,这个动机会占据大脑的全部,只有当前动机被满足之后,你的大脑才会被第二个动机所占据。 这些动机类似于一个责任链,也就是说,你的大脑是单线程的,而不是多线程。
比如你已经两天两夜没有睡觉了,此时的你极其难受,连眼睛都睁不开。相信你除了想好好睡上一觉,应该不会想着哪家新开的饭店好吃,并准备去吃上一顿吧。也就是说,动机是有优先级的,当前的你,睡觉的动机比吃饭的动机优先级更高。此外,睡觉的动机会独占你的大脑,且在这个动机被满足之前,其他的动机只能等待。所以平时我们开玩笑说的,自己的大脑是“单核的CPU”,一定程度上是符合马斯洛需求理论的。
二 动机抢占
马斯洛认为,生理需求说最基本的需求,在生理需求被满足之后,心理安全感需求诱发的动机就会主导人类的主要意识。
注意心理安全感和安全是两个概念,安全是指人身安全,归根结底,它属于生理需求的一部分。而心理安全感是心理上的诉求。广义上是指人们试图寻找生活中的安全和稳定性,表现为乐于倾向熟悉的、常规的、习惯的、已知的、可控的事物。
马斯洛理论之于架构师
从前面的核磁共振的例子我们也看到,架构师在进行架构活动时要遵循马斯洛理论,这是架构思维的一部分,可以帮助我们从另一个角度更好地看待问题。