昨天读完了设计心理学第一册第五章,里面主要讲的是关于设计和人的差错之间的关系。读完后觉得很震撼。在大多数人从小接受的“顺从”教育中,很多人会多了一分盲从,而缺少一分怀疑,且在宣扬自我批评的环境中,让很多人在遇到差错的时候,会更多地反思可能是自己的问题。然而,实际情况是,在我们周围,有很多的差错,是因为拙劣的设计导致,而不能完全说是人本身的问题。
这让我想起我们的公司的开关产品中,不乏有很多因为接线错误而导致炸机的情况发生。虽然在责任划分时,从利益角度出发,我们会经常归咎于用户自己没有好好检查接线导致了炸机,但是其实,一起都是用户的错么?未必。如果有一种设计,可以让用户确保不会接反,那将是极好。
那么引起差错的原因是什么呢?最常见的原因,就是要求人们在任务或流程中做出违背自然规律的事情。比如,连续多个小时的高注意力活动,或者被要求执行多个任务,且多个任务还会互相打断干扰。然而,如诺曼所说,最差的,是人们对待差错的态度。绝大多数的场景中,问题调查团会找到犯错的人,然后以惩罚他作为事情结束。但是其实系统设计的问题依旧存在,系统依旧有风险,依旧可能会有下一个人犯类似错误。当然那些调查团也有自己的苦衷,因为大多数事故,都不是单一原因,而是多个原因交错才发生;此外,设计人的因素的调查,会十分错综复杂,调查团也需要平衡整体的投入产出比。
差错的分类
在书中,诺曼把人的差错分成两类,并进行详细的分析。一类是失误,一类是错误。这两者的主要区分在于,失误,是行为结果和目标不一致,是一种无意识的行为。而错误,可能是有意识的行为,行为结果和目标可以一致,但可能会违背初衷(意义)。本书把这两类差错可能的原因进行了总结,同时阐述了解决问题的方向。
失误
失误主要发生在实际执行的过程中或者对于行为后外界反馈的判断。日常生活中,大多数的差错属于失误。失误的发生,通常可以总结为注意力不够集中。诺曼把失分为两类。一类是行为失效导致的失误,另一类是记忆失效导致的失误。而在行为失效的背后展开,是由几种种原因构成:①人在长时间高强度运作后因为精力不足导致的注意力下降;②之前熟悉的类似动作误导了行为的发生,又称撷取性失效以及相似性失效;③操作系统过程中因错误引入系统引起系统一系列连锁反应,又称功能状态失误。
针对行为失效的原因①的精力不足导致的注意力下降,失误结果经常很难避免,特别是在有人参与的流水线工厂。对于这种失误,最好是在前期设计上加入足够多的约束,比如好的防呆设计,比如没戴静电手环,就会自动报警;此外还要研究系统怎么尽可能简化,让人参与越少越好;同时进行足够的培训,让工人行动可以从意识转为潜意识,让他们在半无意识状态下也能够顺利完成工作(题外话:这种可以机械化的工种迟早会被机器人取代)。
针对行为失效的原因②的失误,主要是在熟悉的类似场景或者动作,大脑会启动下意识代替意识对行为的控制,从而降低大脑能耗。但一旦实际场景和大脑熟知场景不一致,就可能出现失误。这种失误对比起新手,专家可能更容易犯,因为专家过于熟练的过往模式很容易让其忽视新场景的不同点。设计思路上,一是唤回意识,让注意力重新回归。具体做法可以是增加防呆设计,或者增加工作中的反馈机制,让下意识的行动被“打断”,从而让注意力回归。具体做法,也可以在容易出错的地方设计足够明显的意符,来引导人的行为动作。我们的开关设计就属于第二种失误,可以从这个思路看怎么优化。二是设计上设计出不同的动作序列,或者操作场景远离熟悉场景,且不同场景需求的意符差异要足够明显,从而让行为不要去激发人之前存在的下意识。
针对行为失效的原因③的状态功能失误,主要发生在和复杂系统的交互上。有可能因为一个意外操作导致了系列的多米诺效应。特别是现在在提倡极简化设计的环境中,可能一个按钮,会有三四种不同的模式从而实现不同功能,这样当用户认知还没被培养起来时,就非常容易造成失误。这种模式失误,实锤就是设计失误的体现。为了避免这样的现象,系统设计上有三种思路可以遵循:①尽量不要有一对多的模式设计(比方说一个按键会因为不同的按的方式出现不同模式or魔方)。②在可能失误的地方使用醒目的提示,来吸引注意力引起警觉,同时系统流程讲解要尽可能明确,若有图片或者视频描述可以更好(人对图或视频的吸收理解率是文字的7倍)。③更重要的,可以设计一个一键还原的功能键,让人们在不小心按错不知所措的时候,可以重新让系统归于初始化。在实际生活中,手机电脑的重启,其实就是在执行这样的一个操作。
在行为失效以外,还有因为记忆失效导致的失误行为。记忆失效可能导致几种结果:未能完成所有步骤;不断重复某步骤,忘记结果或者目的计划。其成因之一和行为失效的原因①类似,因此解决方式基本可以参考原因①。此外,还有可能因为过于复杂的流程,或者事情交叉做从而引起记忆中断,导致了记忆失效(一心多用是效率极低的工作方式)。对于这种现象,除了原因①的解法,要注意做事尽量要专注不要一心多用,此外有个好办法就是建立check list机制。让固话的流程机制来确保整个判断的合理性。当然建立check list最好是做成电子的,因为纸质的容易陷入一个误区,就是要按顺序一个个完成(这也是一个会引起人产生差错的可以完善的设计),因为实际很多list并不需要按顺序,所以用电子的话,可以较好有这个意识来规避这个问题。
错误
错误主要发生在行为的设计之初或者获得行为反馈之后的对比反思。错误的发生,主要分为三种情况:①明知是错误,但为了某种目的还刻意执行或者理解;②因认知或格局问题,错误以为行为可以带来想要结果或者结果诠释偏差,这种体现在知识性或者规则性上;③记忆失效导致的错误。特别是第二种,因为这种误判导致的错误,很难在前期就进行足够的检测和纠正。
针对现象①的明知故犯,这种主要是为了达成某种目的的刻意为主。比方说不闯红灯,救人就来不及了。然有些时候,会出现不违规工作就完不成。而且在一些企业中,还可能因为违规而达成目标从而获得奖赏,因而让违规的错误行为获得鼓励。这种属于组织或者社会性错误。无论是个人或者集体,对于这种现象,主要解法之一,可以是增加第三方监管,或者如check list一样的规范,此外还能增加惩罚力度和执行力度。
对于本书,更多是探讨个人。针对个人,还有一种好方式,就是了解行为背后产生的机制,从而去解除错误的发生。很多人明知故犯的因为是承载了过多的社会心理压力。比如因为冲动而在众人面前做出的决定后来发现不可行时,比如资深的工程师提出一个问题的见解在遭受不同意见时,比如权威机构的错误行为,面子,让人们硬着头皮错下去。永远不要低估社会压力对个人行为的影响,它可能促使原本理智的人去做他们也认为是错误的事情。此刻,设计上要看怎么维护好个人自尊,去设立正向反抗机制,从而让事情可以拨乱反正。
针对现象②的认知不足导致错误,无论是知识性或者是规则性,最根本的办法就是缺啥补啥。但是站在在整理系统设计的角度,一是让有经验者来带经验不足者,从而让犯错几率减少,或者引入第三方提建议,从而修正贝叶斯判断。二是要可以允许犯小错,并建立一种错误累积机制,形成经验库,让犯过错的人阐述错误发生的经过,在有一定规律后,再看怎么从系统上优化让类似问题不再出现。在美国航空,就会允许让飞行员匿名提交自己飞行过程中发生的错误,收集一定信息后,再整理汇总,并行程报告让设计飞机的优化设计。作为延伸,在面对全新的状况时,由于就认证基本无效,只能用经验和认知的迁移,去尽量多的收集信息,并且小步试错。
在基于规格性的错误中,无力感还是会更强一点。因为,可能每个子系统都是遵循规则的,但是合起来的大系统,规则就失效了。我们常见的错误,就好像系统的问题报警,可能一些问题在冗余范围内,在整体系统中不是问题,又或许只是个小问题。但是若是在接连不断的小问题报警中的人放松警惕之后,突然来个大问题,就可能被人忽略了。
在急救室中,每个设备都按照规则设计了报警信号。但是组成急救系统后,急救科医生每天要去接触九成以上的无效报警。后来系统进行了优化,对于很多报警可以只设置成灯光报警(不用像声音报警那么让人揪心),但是依旧每天有三成以上的无效报警。当然这对于原来而言,还是有很大改善了。
针对现象③记忆失效导致的错误,其实发生机制基本和失误一样,解决方式也可以参考失误篇的记忆失效分析,即尽量让思考过程连贯尽量不要被打断,倘若一定会被打断,则在打断后的恢复操作中,看有什么可以协助回复记忆设计的。
最后的补充点
作为人,犯差错在所难免。在面对差错的时候,很主要也难度很大的一点,就是正视这个差错,并找出根本原因。要不要很多问题中,通常会得到一个“合乎逻辑”的解释,但如果要做更好的设计,我们不应该止步于此,因很多时候深挖下去,多问几个为什么就会发现,这个解释并不是导致差错的根本原因。
在面对问题时,关键设计原则有三:①写下来,②约束好,③多反馈。
扩展开来,根据上文的经验,可以获得如下设计思路
- 将所需的操作行为手册从而可以对人的行为进行培训。
- 引导鼓励将错误记录下来,总结归纳总而优化设计。
- 增加多约束以防止差错。
- 在可能引起差错的地方,设计上应以更加显眼的提示来引起注意,且还可以做成非常规形态以刺激人投入注意力去思考判断。
- 合理性的检查(check list)和对不合理性的警告。
- 让操作者对手头行为保持有意识关注,尽量避免打断或进入下意识状态。这种的实现可以体现在反馈,如游戏一般,越是灵敏的反抗越能让人注意力集中。
- 增加撤销机制来允许犯错。
- 合理增加冗余设计(比如流程中更多的确认环节)来实现多重保护,降低差错出现几率。
因此,在面对差错时,我们要以拥抱的心态去应对,更多地要施以帮助而不只是责备和惩罚。