理性和感性 - 如何对待错误

news2024/11/16 12:45:00

上次的博客, 我写了一些关于 软件开发中的理性和感性决定 的故事。 不论是感性还是理性,我们的目的就是要把软件交给用户去用, 在软件行业中有这样一句俗话:

当你把产品交给用户的时候,你的学习才刚刚开始。

当然每个团队成员都希望用户非常喜欢这个产品,我们能从胜利走向胜利。 但事实上,人会犯错误,大家会想自己上学学习的过程,就是不断被发现错误,然后你承认错误,分析错误,再去改进的过程。这个过程中,有什么理性和感性的因素呢? 有很多。 这个博客就主要分析,当我们的项目碰到挑战/困难/失败时,我们展现出来的感性和理性决策过程,以及它们背后的各种因素。

在软件开发中,我们会碰到下面的这些挑战和困难:

  • 功能不能及时上线
  • 程序崩溃
  • 上线的新功能影响了老功能
  • 上线的新功能并没能达到预期目标 (满意度,用户量,收入等)
  • 整个产品总的表现离预期越来越远
  • 等等

我们分几种情况来看感性和理性:

出于直觉,感性的反应

首先,是一个感性的问题:如果我们的软件出现了上述的问题,当事人的第一感是什么?
绝大部分人当然是情绪上的沮丧,这些当事人的主管第一感如何呢? 我在一些地方看到,有些主管也非常情绪化。这也是正常的,因为我们为产品投入了很多情感,希望能尽快看到收获。很多人心里有一个线性的模式:

1)对用户需求进行了研究 --> 2)找到技术实现 --> 3)实际发布 --> 4)用户满意 --> 5)用户经常来,用户付钱更多,大功告成。

其实,在上述的第一步中,我们认为我们了解了用户的需求,但是现实未必是这样,只有在第 3 步之后,我们才能挣到一个学习的机会。 如果不理解这个我们自己的局限,很多人就会垂头丧气,提早放弃 – 用户太蠢了,不会用我们的软件,或者,我们太蠢了,搞不定这么简单的事情。 于是就扔下这个功能不管了,急忙去做另外的用户需求的假设,其实,另外的假设也许会重蹈覆辙。
我把这个情况叫做 只能支持一次发布的热情 , 如果第一次没有成果,这个方向就被过早地放弃。 这是很可惜的。 从深层的角度来说,人们太想用某种简单的理论来解释现实,从一种居高临下的角度来分析问题,觉得一出手就必然成功。 这是一种 叙述谬误 (narrative fallacy),人脑的直觉思维非常想把现实世界中发生的事情马上赋予因果关系,一旦解释不了,人的情绪不能接受,就会转向别的事情,而不会安静下来深入分析:导致用户不满意的原因有很多,我们都理解了么?我的理解是,从心理学家卡尼曼的 《思考 快与慢》的体系来说,就是用系统一(直觉),和系统二思考的不同。

在这里插入图片描述
和上面的单线条 1) --> 5) 的因果关系相比,这个 “鱼骨图” 更能让我们在分析问题的时候,冷静下来,收集各种因素,做详细的因果分析。

很多人会急忙修复问题的表象,而不是深入分析找到各种因素,他们会用一些暂时的借口:** 我会补上文档的, 我们忙完这一阵子会深入分析的 ** 来搪塞,后来就不了了之了。

自尊

当我们在深入分析错误,列出各种主要和次要因素,并试图厘清他们关系是因果关系,相关关系,或者是没有关系的时候,很多人会口头同意这样做,但是,从情绪上,很多当事人会觉得没面子伤自尊了

为了维护自己的自尊,很多人不自觉地会陷入一个 ** 自欺 ** 的认知失调,他会让自己相信失败根本不存在,既然不存在失败,那么,我们就用不着回溯,分析,让我们直面尴尬的现实,免于痛苦地纠结于自己的每个决定,怀疑自己的每个判断,在夜里辗转反侧。 这样心里就平安了许多。

但是,认知失调的问题在于:我们对错误的态度会削弱我们审视证据的能力。不管是大的决定还是小的判断都与认知失调有关。事实上,任何威胁到我们自尊的事情都可能引发认知失调。

心理学中提到,社会等级对于个体自信的压抑,导致一般人与权威人士对话的时候,会采取委婉的措辞,避免伤害权威人士的自尊。 这在平时的交往中没有什么大的后果,但是在处理错误,潜在后果很严重的情况下,是很有危险的。 几次飞机失事的案例分析说明,在飞机遇到紧急情况时,职位较低的副驾驶和工程师提出的警告和提醒口气非常委婉,没有引起机长的足够重视,最后机毁人亡。

既然威胁自尊这么可怕,那么,怎么避免呢?乔布斯的经验是:

与优秀自信的人合作,不用太在乎他们的自尊。
要用无可置疑的方式告诉他们,你的工作不合格。这很不容易,所以我总是采取最直截了当的方式。有些同事觉得这种方式很好,但有些人接受不了。
如果你给和我共事过的人做访谈,那些真正杰出的人,会觉得这个方法对他们有益,不过有些人很痛恨这种方法,有些人无法长时间忍受这样的工作。但没人否认,那是他们人生中最难忘、也最珍贵的经历。
(来源:乔布斯的采访。 链接:https://www.sohu.com/a/238176357_778267)

IT 行业的绝大部分公司并没有苹果公司的那么多优秀自信的人才的时候,当然,有乔布斯脾气的领导倒是非常多,不少领导的脾气大大超过乔布斯。 一般的公司怎么做呢? 也有办法的: 把工作中威胁自尊 的因素尽可能地去掉。

1)在团队合作模式中,去掉和解决问题无关的年龄/职位/专业等引起尊卑的问题
我们谈到了,软件开发团队模型,有的是 “产品经理主导型” - 产品经理是研发人员的主管,这就有尊卑,厉害关系了, 下位的人,怎么有 100% 的自信去和上级自由讨论呢? 所以,微软等公司采用的是“合作型” - 产品经理和研发人员,测试人员是平等的关系,没有领导关系。 在处理难题的时候,平等的工作方式是很有帮助的。 而且,因为是平等关系,这就倒逼产品经理在提出产品提案的时候,要有理有据,能说服自己的合作伙伴,而不是 “因为我是领导,我说一句话的需求,你们就得去办”。

2)一个事先讨论并同意的核对清单( check-list)
在平等的情况下,资历较浅的成员在紧急状况发生时也更容易开口向上级进行提示,因为这是按照核对清单来做事,并没有 “我来指导你”, “我来挑战你” 的感性的言外之意。 例如,根据我们清单,这个功能上线,必须要完成完成压力测试,并且让 UX 设计团队同意最终的用户体验设计。 这不是有意为难领导,而是我们事先规定好的。

3)在收集数据的时候:让第三方来收集数据,很多公司有 BI 团队,这些团队可以从一个中立的角度来保证数据的准确性,数据定义和口径在各个业务之间的一致性。 这个 BI 团队应该得到公司最高领导的支持,核心任务是收集全面准确的数据,而不是为了证明某个业务做的特别好。

当我们为一个项目绑上了自己自尊的时候,我们就会筑起自我防卫的高墙,开始粉饰自己的认知。 很多情况下,问题不在于证据的说服力(理性),而在于承认错误要克服的心理障碍(感性)。 人们认为,自己的形象,权威,事业是和这些 “对事实的归因” 紧密相连的,他们不愿意让自己的工作受到质疑。 在不健康的团队文化和配置下,很多人会认为自己这么努力投入项目,没有功劳也有苦劳,一旦数据被大家分析,就会有 “老子辛辛苦苦打拼,居然有人来整我的黑材料” 这样的情绪化反应。 这是团队领导要非常注意的。

参考资料:

黑匣子思维:我们如何更理性地犯错。 链接:https://book.douban.com/subject/27077719/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/173576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【设计模式】结构型模式·桥接模式

学习汇总入口【23种设计模式】学习汇总(数万字讲解体系思维导图) 写作不易,如果您觉得写的不错,欢迎给博主来一波点赞、收藏~让博主更有动力吧! 一.概述 将抽象与实现分离,使它们可以独立变化。用组合关系代替继承关系&#xff0c…

华为数字化转型之道 结语 数字化转型的8个成功要素

结语 数字化转型的8个成功要素 华为开展数字化转型的过程中,积累了一些经验和教训,总结起来有如下成功要素。 1. 一把手担责 要做好数字化转型,企业家就要有战略决心、信心、耐心。数字化转型一定是企业“一把手工程”,需要企业家自上而下地推动并在企业内达成广泛共识。…

免费开题报告|基于SpringBoot+Vue的校内跑腿平台

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

Android 深入系统完全讲解(29)

MediaMuxer 封装器 MediaMuxer 最多仅支持一个视频 track 和一个音频 track,所以如果有多个音频 track 可以先 把它们混合成为一个音频 track 然后再使用 MediaMuxer 封装到 mp4 容器中。 MediaMuxer 支持输出格式为 MP4,webm 和 3gp. 默认我们就用 mp4.…

产生聚类数据集sklearn.datasets.make_blobs()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 产生聚类数据集 sklearn.datasets.make_blobs() [太阳]选择题 以下python代码结果错误的一项是? import matplotlib.pyplot as plt from sklearn.datasets import make_blobs data,labelmak…

统计-参数估计-假设检验-总结二

统计-参数估计-假设检验-总结二参数估计—区间估计三大分布卡方分布(Gamma分布的特例)t分布F分布求估计区间假设检验参数检验拟合优度检验通往 统计-参数估计-假设检验-总结一参数估计—区间估计 以某一范围提供对参数θ\thetaθ的估计。寻找统计量θ1∗(x1,x2,...,xn)\theta…

20230120英语学习

How Animals May Have Conquered Snowball Earth “雪球地球”时期,动物是如何存活的? Planet Earth used to be something like a cross between a deep freeze and a car crusher.During vast stretches of the planet’s history, everything from p…

微信小程序开发尚学堂 介绍 项目结构 组件 喧嚷 事件 模板

一、微信小程序介绍1. 微信小程序介绍微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了应用”触手可及”的梦想,用户扫一扫或搜一下即可打开应用。说明:小程序是需要下载的,小程序的占用…

概论_第6章_统计量及其抽样分布_知识结构

先看知识结构图数量统计的特点是 背记的内容多, 与前面概率论 背记和计算的多 有很大区别。本文从统计量的概念讲起, 一. 统计量定义: 设 ...... 为取自某总体的样本, 若样本函数TT(, ... ) 中不含有任何未知参数, 则称T 为统计…

力扣刷题记录——682. 棒球比赛、628. 三个数的最大乘积、693. 交替位二进制数

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——682. 棒球比赛、628. 三个数的最大乘积…

企业实施RPA需考虑的20条建议

如何提高效率又能降低成本,是企业发展所面临的重要挑战。在降本增效的路上,RPA(机器人流程自动化)以其特点与优势脱颖而出,迅速得到企业青睐。尽管如此,部署RPA也并非一蹴而就。仓促实施可能会给企业带来更…

实时时钟实现

重要知识点 setInterval是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式var sNownew Date(),Date 对象会自动把当前日期和时间保存为其初始值。 参数形式有以下5种: new Dat…

SpringBoot 接口幂等性实现的4种方案

目录 什么是幂等性 什么是接口幂等性 为什么需要实现幂等性 引入幂等性后对系统的影响 Restful API 接口的幂等性 如何实现幂等性 方案一:数据库唯一主键 方案二:数据库乐观锁 方案三:防重 Token 令牌 方案四、下游传递唯一序列号 实…

mysql连接查询

笛卡尔积现象: 注意: 效率更高的方法:

Pr 计时器动画

​哈喽,各位小伙伴!今天我们来学习一下如何制作数字滚动的计时器动画? 新建序列 新建一个1920*1080的序列,选择一张图片作为背景(背景图出自不良人第5季,距离第6季开播还有41天) 新建文字图层…

5.算法通关面试 --- 递归and分治and贪心

50. Pow(x, n) https://leetcode.cn/problems/powx-n/

【C语言从0到1之文件操作】(原理 画图 举例 不信教不会你 不要放收藏夹落灰 学起来好嘛)

🕺作者:迷茫的启明星 🎃专栏:《数据库》《C语言从0到1专栏》《数据结构》《C语言杂谈》🏇分享喜欢的一句话:心如花木,向阳而生前言在我们的学习中,文件操作是被我们忽略,…

ML 训练与测试数据不满足同分布 - 如何检测?如何解决?

😄 同分布问题是数据挖掘中的常见问题,也是ML中的一个重要假设。解决训练与测试数据不满足同分布问题,有助于提高模型的泛化性、稳定性! 文章目录一、定义:训练与测试数据不满足同分布定义:❓疑问&#xff…

仿牛客论坛项目

源代码:https://gitee.com/qiuyusy/community 1. Spring 在测试类中使用Spring环境 RunWith(SpringRunner.class) 让Spring先运行ContextConfiguration 导入配置文件implements ApplicationContextAware 后实现方法 获得 applicationContext RunWith(SpringRunner.class) S…

关于JVM

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 目录 内存区域的划分 程序计数器(线程私有) Java虚拟机栈 (线程私有) 本地方法栈 堆(线程共享) 方法…