5.1 了解认知偏见
认知偏见有很多种类。这些思想上的bug数量很多,它们会影响决策过程、记忆、知觉、理性思维等,Wikipedia列举了大约90种常见认知偏见。我见过一些人,他们的认知偏见都超过了这90种。
以下列举一些我个人认为值得重视的偏见。
思维定势
只是看到一个数字就会影响你随后对数字的预测和决定。举例来说,如果我不断地提到有100本书等待出售,那么我就向你灌输了一个数字。现在我卖给你一本书85美元,你就会停留在刚才的数字100上,而85听起来就好像很便宜。
基本归因错误
我们倾向于把别人的行为归因于他们的个性,而不去考虑行为发生时的情境。我们会轻易地为自己开脱(“我累了,我觉得快感冒了”)。但是,从各方面来看都非常正常的人却可能被驱使做出极端的行为,例如偷盗、谋杀和人身伤害,特别是在战争年代和个人危机时。并不是一定要处于这种极端的状况才会出错,就像我们之前看到的,情境就是一切。请记住行为经常是对情境的响应而不是基本的个性使然。
自私的偏见
这种偏见使人们相信,项目的成功是我的功劳,失败则与我无关。这种行为可能是一种个人防御机制导致的,但是请记住你也是系统的一部分——无论结果好坏。
需要定论
我们对疑问和不确定性感到不舒服——这种感觉如此强烈,我们会竭尽全力解决未有定论的问题,移除不确定性,进而得出定论。但是不确定性也是一件好事:让你的选择是开放的。像使用Big Design Up Front(BDUF)〔4〕一样,强行给出不成熟的定论,会迫使你放弃选择,易于犯错。人为宣布一项决定,例如项目的截止日期,并没有移除这种内在的不确定性,它只是一种自我掩饰。
认可上的偏见
每一个人都根据自己的成见和喜好原则来选择相应的事实。你可能会说,本书(和大多数书一样)恰好验证了作者认可上的偏见。
曝光效应
我们往往只因为非常熟悉某些事物而对它有所偏爱。这包括不再好用甚至会出错的工具、技术或者方法。
霍桑效应
研究人员注意到,人们在知道自己正被审视时,往往会改变自己的行为。当你在团队里引入一项新技巧或新工具时会看到这一点。起初,每个人都在关注——也都知道他们正在被关注——结果非常好,纪律性很高,对新事物的兴奋劲也点燃了动力。但是,随后新鲜感逐渐减弱,聚光灯也转移了,所有人都无情地回到了原来的行为状态。
虚假记忆
大脑很容易把想象的事件和真实的记忆混淆。我们易于受到暗示的影响,正如我们之前所看到的,记忆在大脑中不是静态写入的。相反,这是一种主动过程——非常主动以至于每一次读取都是一种写入。记忆会按照当前情境被不断重写:年龄、经历、世界观、关注焦点等。那是你六岁生日聚会时发生的事情吗?可能不是那个样子的,也可能根本就没有发生过。
符号约简谬论
如之前所看到的,L型非常乐于提供一个快速的符号来表示一个复杂的对象或者系统,这至少丢失了细节,有时甚至是事物的真相。
名词谬论
符号约简谬论的一种形式,以为给事物贴上标签就意味着能够解释或者理解它。但是标签只是标签,单靠命名并不会带来任何有益的理解力。“哈,他是ADHD”相比“她是共和党人”或者“他们来自夜郎国”,并没有增强理解能力。
所有这些缺陷只是个开端。我们人类不具理智的本质可以写好几本书了〔5〕。
5.1.1 预言的失败
做预测太困难了,特别是关于未来的预测。
——瑜伽·贝拉,伟大的智者、哲学家兼棒球手
符号约简是一个非常有害的问题,因为它在我们的日常分析性、系统性思维中根深蒂固。实际上,大脑处理现实复杂性的唯一方法是把庞大、复杂的系统简化为简单、易于操作的符号。这是大脑的一种基本机制,也是计算机编程和知识型工作中非常有用的机制。但是,如果将其视为理所当然的,你就会陷入符号约简谬论。
我们之前已经看到了符号约简谬论的例子。例如,当你尝试画一只人手时,L型把光线、阴影、纹理的复杂性简化为“五条线加一个棍”。这种简化被认为是把复杂的现实看做由非常基本的元素组成:柏拉图立体(platonic solids)〔6〕。
这些以柏拉图命名的理想形状提供了一套通用的、普遍理解的积木。
来来隐藏于柏拉图圈里。
The future hides in the platonic fold.
想一想孩子们玩的积木:立方体、长条、圆锥体、拱形体和圆柱体。用这些基本的形状,你可以构建许多建筑物。柏拉图的理想形状也类似,它们都是现实的简化版积木。但是这种将现实简化成理想形状的方法留下了一个洞,称为柏拉图圈(platonic fold)。可怕的命运隐藏在这个洞里,这些意料不到的事件让我们备受打击。
柏拉图圈的概念,正如The Black Swan:The Impact of the Highly Improbable[Ta107]一书中所描述的,强调了人类非常不善于从过去的事情推断未来的事情。我们总是假定事件差不多形成了一种稳定、线性的递进,原因和结果都很简单。
事实并非如此。这就是我们多数情况下难以预测未来的原因。实际上,因为我们的盲点——包括柏拉图圈,我们会发现历史上所有相因而生的事件都来源于完全意想不到的原因。
这就是书名“黑天鹅”(Black Swan)的由来。许多年来,人们以为天鹅只能是白的。因为从没有人看到过黑天鹅,科学界也认为不可能存在——直到有一只黑天鹅出现了。
意想不到的事件改变历史。
Unexpected events change the game.
作为一个团队,我们往往会错过重要的发展,因为我们关注于错误的事情或者提了错误的问题。例如,去年我清扫办公室时偶然发现了一叠20世纪早中期的杂志(我在一堆乱七八糟的网线中还发现了一个14.4K调制解调器,不过这是另外一个故事了)。
那些杂志见证了历史。一个个封面展开的都是激烈的争论,争论着那个时代最重要的事情:谁会赢得桌面战争?用户界面会基于OpenLook还是Motif?
相关性与因果性
科学研究很容易被误解,因为大多数人不善于统计分析学。最普遍的一个误解是把相关性说成因果关系。
仅仅因为两个变量相关并不能认定其中一个是因另外一个是果。比如,看看有关居住在高压线下面的家庭白血病发病率更高的报告。新闻标题甚至会说高压线导致癌症。
虽然这有可能,但是这种单一的关联性根本不能证明这个问题。其实还有许多别的潜在因素:高压线下面的房屋较便宜,因此这都是相对贫穷的家庭,也就影响了食品营养、卫生保健、早期检测等方面。看到相关性并不等同于确定了因果性。
另外,现实世界的因果关系通常不像“事件X导致事件Y”这样简单。相反,一般是X触发Y,反过来Y强化了X,X又巩固了Y,等等。更多情况下是“X和Y”而不是“X或Y”。不同事件所占的诱因比例也不同,且具有不同的强化性。甚至同一类事件在一段时间内也会具有完全不同的原因。
事实证明,这是一个错误的问题,Windows这个当时甚至不被当作竞争者的桌面系统取得了统治地位。然后就是中间件战争,谁会胜利?RMI还是CORBA?
这又是一个错误的问题,因为Web的发展很大程度上让这个问题变得没有意义。Web是典型的黑天鹅,其出乎意料的发展完全改变了游戏规则。那时,长篇累牍的分析和思考、预测和焦虑,几乎全都围绕着这个错误的问题。我们的偏见使得预测未来几乎不可能,也难以驾驭现在。
正如你所看到的,只是因为你“认为是这样”并不代表这是正确的。认清和克服自己的认知偏见说起来容易,做起来难。但是这里列举了一些有所帮助的建议。
5.1.2 “很少”不意味着“没有”
“极其不可能的巧合事件其实每天都在发生。”〔7〕最近,我们已经目睹了形形色色的灾难,从500年一遇的洪水到百年一遇的风暴,但从地质学来说,这些只是沧海一粟,这样的事件并不少见。这让人们觉得很反常,因为在他们的记忆中或者他们父母的记忆中(甚至祖父母的记忆中),这些灾难从没发生过。但是,这不意味着不会发生,也不能阻止它们一下子发生三次。
在2004年,美国人被雷电劈死的概率为1/6383844。〔8〕这听起来概率不大,是吧?但是仍然有四十六人死于雷电,尽管是六百万分之一的概率。而死于坠床的概率是上述概率的16倍,即使你可能认为这不是特别危险。虽然非常罕见,但是仍然在发生。可以更加肯定的是,每个月你都可能经历一次百万分之一的奇迹。〔9〕
黑天鹅现象警示我们不要把未观察到的或者罕见的事件认定为不可能。
真正随机的事件形成了一系列错综相连的值和独立的值,而同质和随机是两回事。举例来说,很有可能在完全随机的抽样中连续发生三次5级飓风。
诀窍18
记住标题:“很少”不意味着“没有”。
仔细观察柏拉图圈,思考一下你可能遗漏的东西。任何你忽视的细微元素都可能改变历史。
绝不说“绝不”。
Never say never.
花时间检查一下“疯狂的”异常值或者“极其不可能的”事件。如果它们真的发生了,对你意味着什么?你的行为会因此改变吗?哪些顾虑变得不再重要?哪些会变得重要?请记住,这些仍然是不可能事件,所以请不要开始囤积罐头或者防护衣。但是绝不说“绝不”。
5.1.3 推迟下结论
我们对定论的渴望意味着我们总是努力消除不确定性。但是过早地下结论减少了你的选择,甚至可能消除了成功的选择。
在软件项目或者任何一门学科中做某种探索性或创新性的项目时,一般每天你都会学习一点新知识。你会逐渐了解用户、项目本身、团队和技术,如图5-2所示。
图5-2 随时间变化的项目知识
这意味着在项目的末尾时你会达到智力高峰,而在项目开始时则是最无知的。因此,你想尽快做决定吗?不。你想尽量延迟下结论,以便于随后有更好的决策。但是,这意味着关键事情可能会在很长时间内处于未决状态,会让许多人非常不舒服。
顶住压力。你会做出决策,事情会解决,只不过不是今天。
诀窍19
适应不确定性。
敏捷软件开发包含了适应不确定性的内容。在早期,你无法知道项目结束日期究竟是哪一天。你不能百分之百地确信哪些功能会出现在下一个迭代中。你不知道一共会有多少个迭代。这些都没有问题,你需要适应不确定性。随着项目进展,你会逐步找到答案,最终一切都有了答案。
当然,你可以采取一些具体的措施来减少不确定性。你可以与同伴展开讨论,上Google搜索更多信息或者构建一个原型,等等。虽然这些措施多多少少都有些作用,但都不是解决办法。总有一些元素是不确定的,这也不是坏事。不停地探索这个问题,但如果还没准备好的话,不要着急确定细节。要适应你不知道的事实。
通过明确的概率进行猜想。
Guess with explicit probabilities.
对于一些你不确定但别人必须知道的事情,如上线日期,你可以设定一个“目标”日期,并注明你对估计的信心值。也就是说,你可以报告一个目标日期,如十月一日,实现概率为37%。但是在报告一个概率为80%的日期时一定要慎重。人们总是把这种说法当作“几乎肯定”,而没有留意还有20%的失败概率。至少你自己要保持清醒的头脑。
不过,也要知道,让团队里的成员适应不确定性是非常非常困难的。他们习惯于不顾一切地寻求定论,事事如此。请尽量教育他们,但也要准备好面对他们的抗拒。
5.1.4 难以回忆
最后,请记住你的记忆力并不是很好。记忆是靠不住的,旧的记忆会随着时间改变,这反而会让你以为某些误解和偏见是对的。不要仅仅依赖你的记忆。中国有句谚语说得好:好记性不如烂笔头。
诀窍20
信任记录而不是记忆,每一次思维的输出都是一次输入。
通过某种现实凭据来增强你的记忆。不论是你写的笔记,还是与其他人的交谈在他们的脑海中留下的记忆,你需要一些东西来确保你的记忆不会与事实相去甚远。
实践单元
- 列举出你所具有的认知偏见。我们都有自己的问题。哪些是你特别容易犯的?
- 留意一下,你在自己的工作生涯中曾目睹过多少极其不可能的事件发生。事后看来,它们有多么不可能呢?〔10〕
- 保留工程师笔记,包括设计会议、编码问题和解决方案,等等。每次返回去要用的时候,在较早的条目上做一标记。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论