通过心理学知识提高问题定位与解决能力(下)

原创
小哥 2年前 (2023-05-24) 阅读数 37 #大杂烩

转自:cnblogs

前言

本文 上篇 主要介绍了解决问题的心理过程和问题表现阶段影响解决问题的一些心理因素,并分享了其他相关案例和指导。本文继续介绍影响解决问题的其他心理因素。

影响解决问题的心理因素

自我监控技能

做出大胆的假设并仔细验证

––– 胡适

在设计出解决问题的计划后,问题解决者不是简单地执行计划,而是不断监控自己对解决问题计划的执行是否正确,以及解决问题的计划本身是否正确。这有点类似于开车,GPS导航软件不断检查车辆当前的行驶路线是否与先前计划的路线相匹配。如果不匹配,导航软件会提示车主车辆偏离了计划的路线。

问题解决者的自我监控能力的强度可能对解决问题的有效性和效率产生决定性的影响。例如,在解决数学问题时,需要在解决问题的过程中计算事件发生的概率,然后可以使用数据继续解决问题。如果此事件的概率是在多个步骤后计算的1.02通过自我监测,可以发现这个概率值的计算明显不正确。因此,应该重新计算此概率值,而不是继续执行其他解决问题的步骤。相反,如果此时没有检测到此错误并继续其他解决问题的步骤,则最终答案很可能是错误的。

专家在解决问题时倾向于更频繁地自我监控,他们的自我监控效果优于新手。专家在解决问题时,往往会更频繁地提出各种假设,尤其是一些疑难的假设,并通过逻辑推理和寻找数据证据来检验。然后,根据测试结果,提出新的假设,并将这些新假设逐一验证。通过这种自我监控,他们逐渐接近解决方案。这就像剥洋葱皮一样。每一层皮肤,它都离洋葱核更近一步,最终解决问题。新人往往发现在解决问题的过程中很难做出假设,即使他们这样做了,他们也无法清楚地意识到这只是一个假设,然后根据它进行其他操作。他们得出的所谓“结论”,通过简单的逻辑推理,可能会发现是不正确的,甚至是矛盾的。

我以前遇到过这样的问题并寻求帮助。寻求帮助的人正在服务器上写一段Java用于获取在 Web 表单中提交的字段的值的代码。寻求帮助的人向我传达的信息是,网页中确实有一个字段,服务器代码需要获取值,但服务器代码无法获取值。原因是浏览器没有将此字段的值提交给服务器。当我问对方时,得出这个“结论”的证据是什么?他再也回答不了。显然,他只是一厢情愿地把“假设”和猜想当作结论。如果寻求帮助的人在定位问题的过程中实现了自我监控,他们可能会问我如何验证客户端上的某个字段是否已提交到服务器,而不是问我如何解决问题。最后,通过简单地Debug查看变量,发现浏览器实际上提交了服务器想要从中获取值的字段,但服务器代码中使用的字段名称的大小写不正确!

提高自我监控能力不是一蹴而就的。问题解决者需要清楚地了解“结论”和“假设”之间的区别。在解决问题的过程中,任何中间结论都必须通过逻辑推理和相应的事实证据(数据)得出。此外,你也可以反思自己的问题解决过程:问题一解决,问问自己在解决问题的过程中犯了哪些错误,是否及时发现(而不是寻求他人的帮助)。通过这样的反思,问题解决者可以更好地理解自我监控的重要作用,这有助于在未来解决问题的过程中逐步加强自我监控。我有时会在寻求帮助以查找问题时询问对方他们目前的结论和进展,尤其是当它们是新问题时。如果我发现对方的结论(或中间结论)不正确,我可能不会直接指出来,而是引导他们思考,让他们发现自己的错误。这种方法还可以在一定程度上提高问题解决者的自我监控能力。

即时内存跨度

根据记忆保存的持续时间,人脑的记忆可分为短期记忆和长期记忆。前者类似于计算机的内存,其特征是内存保留时间短(大约5秒到2分钟),容量小。后者类似于磁盘,具有内存保留时间长(永久存储)和大容量等特定功能。在解决问题的过程中,人脑需要将长期记忆中的内容提取成短期记忆,以参与信息处理。而且短期记忆的容量很小,只能容纳7±2块信息。这个“块”是一个相对单位,其中英文字母可以算作块,英文单词也可以算作块。因此,适当增加“块”的长度可以增加短期记忆的容量。例如,手机号码”13612345678“按“136-1234-5678”这样3块内存比”136-12345678”这样2使用块更容易记住。

然而,为了解决复杂的问题,减轻短期记忆的负担可能比试图增加其容量更重要。毕竟,此时人脑的主要任务是解决问题,而不是记忆。减轻短期记忆的负担可以使人脑专注于其他更重要的活动,如逻辑推理、假设提出和假设验证。减轻短期记忆负担的一个简单可行的方法是在解决问题的过程中起草。例如,在纸上列出问题的已知条件、要确认的细节、解决问题过程中获得的新知识、新经验、中间结论(可以看作是新的已知条件),不仅不会增加短期记忆的负担,而且有利于综合考虑。同时,与他人讨论问题也很方便。

动机强度和情绪

相信大家以前都遇到过这样的情况。在解决问题的时候,特别是遇到困难的时候,越是希望解决,解决问题的进展就越少。相反,当我们适当地停下来时,将注意力从问题上转移一段时间,然后再继续解决问题。这时,灵感往往一闪而过,问题可能马上就解决了。在这个过程中,影响解决问题的因素之一称为动机。动机只是指心理动机。术语化表达是刺激和维持个人活动的内在心理过程或内在动机。它与解决问题的效率成反比U类型关系,如图所示3所示。

图 3. 动机强度与解决问题效率的关系

可以看出,最有利于解决问题的动机强度是适度的(不一定越高越低越好),不同难度等级的问题所需的最优激励强度也各不相同。与简单的问题相比,困难的问题需要较低水平的最佳动机。这意味着,当面对一个难题时,问题解决者应该适度降低自己的动力强度,心中不要抱有太多解决问题的意愿,这其实是有利于解决问题的。

情绪可能在解决问题的过程中发挥积极或消极的作用。乐观、冷静和积极的情绪有助于解决问题,而紧张、恐慌、易怒和抑郁等负面情绪会阻碍问题的解决。不难发现,很多初学者遇到问题的第一反应就是恐惧、紧张,甚至烦躁。专家在面对问题时经常花时间,甚至是困难的问题。在解决问题的过程中,如果我们发现自己的情绪有点紧张和烦躁,我们不妨暂停一段时间,调整一下自己的情绪,然后再继续解决问题。这可能比直接坚持问题更有效。

因此,团队的直接主管也可以更加关注团队成员在日常工作中表现出的激励强度和情绪状态,并在必要时引导他们进行调节,而不是盲目施加压力,有意无意地营造紧张的氛围。这一点,其实和中国古代各种军事书籍中看重的士气是一样的。

自动化处理和直观思维

熟练的打字员在打字时无需考虑要键入的字母在键盘上的位置。熟练的汽车司机可以在驾驶时与人聊天。这些都是自动化处理的示例。当人们在解决问题操作的某些部分达到熟练程度时,这些操作就会形成自动化处理。这有助于在解决问题时将个人有限的心理能量集中在整个问题中最困难和最关键的部分。这提高了解决问题的效率。自动化处理也有助于形成直觉思维。下面是作者经历过的直观思维的例子。

我以前遇到过这样的帮助请求。对方声称他们是远程的Debug一段Java编码时遇到奇怪的问题:有一个变量的值无法分配。我的直觉反应是,对方Debug正在查看的代码与远程主机上运行的代码不匹配会导致此现象。因此,建议对方更换jar下载包并反编译class检查其代码和本地代码之间的差异以验证我的想法。最后,发现要赋值的变量的值来自另一个变量class中定义的常量,

对方更改常量值后,仅找到变量class更新到远程主机而不重新编译常量的所有引用类,从而导致class读取值仍然是常量的先前值。

解决上述问题的关键步骤其实是依靠直觉思维:直觉为我们提供了解决问题的方向,然后在这个方向上寻求指导并最终解决问题。可见,直觉思维往往能让我们快速获得解决问题的想法,从而提高解决问题的效率。但问题是初学者通常没有直觉思考的能力。直觉思维需要长期的实践和解决问题的积累才能逐渐形成。另一方面,软件开发人员在学习新技术、新事物的过程中,需要注意理解和掌握基本概念和原理,在日常工作中遇到问题时,也要分析这些概念和原理。这有助于解决问题,并通过解决问题在解决问题的过程中逐渐达到直觉思维的境界。

心理定势

心理刻板印象是指预先存在的心理状态、习惯或态度。我们在日常生活中所指的心态,是一种心理心态。让我们在下面举一个实际的例子。

测试人员需要评估数据库过期记录删除脚本的性能。测试此脚本需要大量数据库表记录(如30万条)。对于这些记录,一些测试人员仍然使用负载测试工具向应用程序发送请求以生成数据库记录,因为他们经常遇到大多数数据库记录都是以这种方式生成的。事实上,这些记录完全可以由专门的脚本编写(像存储过程一样)负责生成。这不仅便于对记录中的数据进行具体控制,而且提高了记录生成的速度,便于重复测试。

可见,心理刻板印象使我们在面对“新问题”时倾向于采用过去使用的方法和途径,这可能不利于解决问题。这是心理刻板印象在解决问题方面的负面影响。值得注意的是,心理刻板印象也可以对解决问题产生积极影响,表现为通过重用过去的经验和方法减少解决问题所需的心理能量,这有助于解决问题的自动化处理。

因此,在解决问题的过程中,一方面可以利用心理刻板印象来减少解决问题所需的心理能量,另一方面要注意打破心理刻板印象,避免其束缚,采用更好的解决问题的方法。

当我们尝试用以前的方法解决存在的问题但无法解决时,值得仔细分析当前的问题和我们之前遇到的问题有什么区别,以及以前的方法是否仍然适用。换句话说,解决问题的更高层次是,在面对一个问题时,我们可以敏锐地识别现有问题与上一个问题之间的差异,从而首先选择一种不同的、更适用的方法。例如,在上面的示例中,如果问题解决者首先意识到他们的目标是生成一批记录,而这些记录的生成方式是与他们的目标无关的因素,那么他们可能会考虑比向应用程序发送请求更有效的方法。

人际关系

毕竟,软件开发是一种社会化的团队活动,从这个角度来看,可以说个人在解决问题中的作用有时非常有限。良好的人际关系有助于个人在团队中找到愿意帮助他们解决问题的人。紧张的人际关系使得个人解决问题的资源非常有限。

观点采择

有时,团队开发中遇到的问题不能仅靠一个人解决。当一个人在解决问题的过程中需要寻求他人的帮助时,有必要与他人进行沟通。沟通是否顺畅会影响解决问题的效率。在沟通过程中,当事人能否从对方的角度去理解和思考,可能成为沟通效果和效率的瓶颈。

观点选择是指从他人的角度理解他人的想法和感受的能力。心理学研究表明,具有较强观点接受能力的孩子可以更好地了解同龄人的需求,从而使他们能够更有效地与同龄人沟通。如果我们比较实际经验,我们可以很容易地在成年人身上看到这一点(同事)它也适用于两者之间。

有心理学理论认为,人们的视角选择体验受到以下因素的影响3年龄到青春期(12-15岁)发展已经达到了“深度”的水平。然而,笔者也经历过很多案例,当事人在工作过程中与其他同事沟通时,难以理解和反思对方的观点和想法,从而降低了他们在解决问题过程中寻求帮助的效力和效率。

总结

本文介绍了解决问题的心理过程,并在此基础上介绍了影响解决问题的心理因素。然后,根据作者的实际经验,通过比较专家和新手在解决问题过程中表现出的差异,分享了提高软件开发人员问题本地化和解决问题能力的指导。需要指出的是,本文提供的相关指导也可以看作是帮助我们形成心理刻板印象。所以,在面对问题时,我们一方面可以从中吸取教训,另一方面要注意打破和超越它们。

参考资源

  • 皮连生,教育心理学,第二版。
  • Richard J. Gerrig,Philip G. Zimbardo,Psychology and life, 18th edition。
  • 桑标 等译,Jhon W Santrock作者,“终身发展”,第三版。
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门