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

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

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

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

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

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

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

出于直觉,感性的反应

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

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

其实,在上述的第一步中,我们认为我们了解了用户的需求,但是现实未必是这样,只有在第 3 步之后,我们才能挣到一个学习的机会。 如果不理解这个我们自己的局限,很多人就会垂头丧气,提早放弃 – 用户太蠢了,不会用我们的软件,或者,我们太蠢了,搞不定这么简单的事情。 于是就扔下这个功能不管了,急忙去做另外的用户需求的假设,其实,另外的假设也许会重蹈覆辙。

我们给想学习的用户做了一个 立Flag 的功能:https://bbs.csdn.net/forums/edu?typeId=1621331
但是初始的效果并不理想,我们怎么办呢?就不做么?

我把这个情况叫做 只能支持一次发布的热情 , 如果第一次没有成果,这个方向就被过早地放弃。 这是很可惜的。 从深层的角度来说,人们太想用某种简单的理论来解释现实,从一种居高临下的角度来分析问题,觉得一出手就必然成功。 这是一种 叙述谬误 (narrative fallacy),人脑的直觉思维非常想把现实世界中发生的事情马上赋予因果关系,一旦解释不了,人的情绪不能接受,就会转向别的事情,而不会安静下来深入分析:导致用户不满意的原因有很多,我们都理解了么?我的理解是,从心理学家卡尼曼的 《思考 快与慢》的体系来说,就是用系统一(直觉),和系统二思考的不同。

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

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

自尊

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

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

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

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

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

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

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

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

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

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

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

实际案例

讲了这么多,我们 CSDN 是怎么做故障处理,错误归因分析,改进提高的呢? 请看我们的实例:https://blog.csdn.net/SoftwareTeacher/article/details/128745009

参考资料:

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【考研】关于联系导师的经验分享--目标院校:西北工业大学

前面的前面 今天打开了我的csdn,突然发现2019年发过的一篇问答稿竟然帮助了那么多人,我平时都是在csdn上搜问题,也没有想过分享。所以就想以后要多在这里记录我的经验了,方便自己也帮助他人~ 这是一篇尘封已久的经验稿&#xff…

怎么才能优雅地向导师表达「这周科研没什么进展」?

本文来源:知乎 大家讨论下:怎么才能优雅地向导师表达「这周科研没什么进展」? 导师看你做实验时 当你开组会时,用力屏住呼吸,心虚地躲在角落里。 高赞回复一 作者:FF LIU 1.模型已经基本搭建好,…

【学术相关】读研究生,从学会「拒绝」导师开始

自从进了实验室,自己就一头扎进文献的海洋中,偶尔出来透透气,接触最多的就是课题组的其他难兄难弟和导师。 导师、师门之间的种种联系细致而微妙。 今天小研和大家谈谈:如何拒绝别人。 1.为什么要谈「拒绝」 好多研究生都有这样的…

android耗电怎么解决方法,android os 耗电 严重问题及委婉解决方法

华为系统有个毛病,不管什么版本,不管是官方还是优化的,从2.3版本到现在的4.0,使用一段时间后就会大大的增加耗电量,表现为耗电排行中的“android os”耗电严重,遥遥领先其他硬件。这个问题是属于除了刷机无…

考研复试!电话联系导师须要注意什么呢?

在准备复试其中一项便是联系导师,用电话联系导师是大众考生选择的方式之一。那用电话联系导师有哪些注意事项需要关注呢?一起来了解一下。 电话联系导师须要注意什么呢? 如果你一定要打电话,可以参照如下的流程: (1)提前准备与导…

愤怒!竟然还有学校还在教 Java 的 Swing

昨天,有个读者私信我说,“老师正在教 Swing,这个知识点还需要学习吗?” 说句实在话,刚看到这个问题的时候,我是想骂娘的!不是骂读者啊,你懂得,骂学校,骂老师。…

现代软件工程 — 第三部分:文档

https://document360.com/blog/technical-documentation/ 文档是一个常年有争议的话题,因为根据我的经验,软件工程非常注重像源代码和运输功能这样的人工制品的商业价值,而不是其他。我经常听到有人说,我们应该只写敏捷实践中需要…

Go与神经网络:张量运算

0. 背景 2023年年初,我们很可能是见证了一次新工业革命的起点,也可能是见证了AGI(Artificial general intelligence,通用人工智能)[1]孕育的开始。ChatGPT应用以及后续GPT-4大模型的出现,其震撼程度远超当年AlphaGo战胜人类顶尖围…

Chat客服入门案例|商务智能对话客服(二)

ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接…

线状图

控制器 页面

python画图填充线状阴影

x np.linspace(-4,4,9) y -x plt.plot(x,y)# 填充绿色大色块 plt.fill_between(x, 0, y, whereabs(x)>2,facecolorgreen, alpha0.3)#填充白色搞阴影 for i in np.linspace(2,8,40): # 第三个参数调整间距a x np.linspace(-8,4,9) # 可以调位置b a ic a i - 0.1plt.…

matplotlib函数库使用plot绘制线状图

#codingutf-8 import matplotlib.pyplot as plt import numpy as np xnp.linspace(0,1,50) y12*x1 y2x**2 plt.figure(num1) #获取图片并命名 plt.plot(x,y1,colorblue,linewidth1.0,linestyle--,labelblue) plt.plot(x,y2,colorred,labelred) #设置存放x,y数据呈线状 并可以用…

python如何绘制线状图_Python数据可视化实例之绘制图表

Python数据可视化实例之绘制图表 原创 虫虫安全 2018-09-05 17:41:57 得利于语言的简单明了、丰富的数据结构、丰富的类和模块,Python如今成了数据科学中的香饽饽,成了matlab、R语言之外又一强大的数据分析工具。抛开其他方面的、今天虫虫带大家一起来…

线状地物图斑化全流程作业(使用ArcMap软件)

一、线状地物调整 1、添加全覆盖图斑数据 2、添加线状地物 3、添加地理图斑 4、添加村界 5、剪裁自己村界的线状地物得(地理处理/剪裁(输入要素为线状地物,剪裁要素为村界,输出要素是得到的新层位置) a、在新层里开始编辑(调整原有线状地物,添加新的线状地物) b、将线调…

电子海图系统线状符号表达及绘制方法

地图符号作为表现地理空间中各种实在物体和相关现象的图像化表示方法,已逐渐成为GIS(ge-ographicinformationsystem,地理信息系统)系统和现代地图学中的研究热点之一,尤其是在电子海图系统研制过程中&#…

python使用Pandas 绘制线状图,曲线图,条形图

今天的文章讲解如何利用 Pandas 来绘图,前面写过 matplotlib 相关文章,matplotlib 虽然功能强大,但是 matplotlib 相对而言较为底层,画图时步骤较为繁琐,比较麻烦,因为要画一张完整的图表,需要…

Python数据可视化---线状图、柱状图、箱型图

词云: import jieba from imageio import imread from numpy import unicode from wordcloud import WordCloud,ImageColorGenerator import matplotlib.pyplot as plt jieba.load_userdict("stoplist.txt") """seg_list jieba.cut(&q…

线状数组

线状数组是一个查询和复杂度都是log(n)的数据结构,主要用来查询任意两位之间的所有元素之和,但每次只能修改一个元素的值, 数组a[]— 用来存放原始数据,c[]–就是树状数组,c[t] – 表示t管辖区间…

在UnityUI中绘制线状统计图

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 先来个效果图 觉得不好看可以自己调整 1.绘制数据点 线状图一般由数据点和连线组…

数据可视化 - 柱状图+线状图

import pyecharts.options as opts from pyecharts.charts import Bar, Line""" Gallery 使用 pyecharts 1.1.0 参考地址: https://www.echartsjs.com/examples/editor.html?cmix-line-bar目前无法实现的功能:1、暂无 """x_data ["1月&qu…