最近,我一直在阅读一些流行和有趣的社会心理学书籍。
内容基于经验证据和科学研究,并且经常提供有关社会如何运作以及人们为什么以自己的方式行事的故事。
这种类型的一些书籍包括: 狂热经济学 , 引爆点 , 离群值和克鲁格
我读的最新一本书是加里·马库斯(Gary Marcus)撰写的《 克鲁格:人类心灵的危险建构》 。
马库斯认为,人的思想并不是我们通常认为的高雅设计的器官,而是一种由卵石拼凑而成的装置,是进化的产物。
他提供了关于为什么我们的头脑会做笨拙的事情的解释,例如忘记我们的车停在哪里,或者为什么我们不记得吃早餐时所吃的东西。
他没有详细介绍,而是指出了人类大脑进化的几个特征。
我们的认知构成包含可以用心理术语引用的几个错误,其中一些错误包括:上下文驱动的记忆,确认偏见,有动机的推理和取景。
(我将这些术语的解释留给本书本身。)他还提供了有关如何克服这些心理陷阱的建议。
对于外行心理学家来说,这是一个令人着迷的地方。
那么所有这些与开发软件有什么关系?
从Marcus的思想探索中,我看到了一些可以帮助我们成为更好的软件开发人员的建议。
我们作为软件团队的一部分而做出的许多技术和社会决策通常都受到思维“束缚”的困扰。
一些基本的常识性策略可以帮助抵消这些缺陷,更不用说帮助我们变得更清晰的思想家,更明智的开发人员和更好的团队伙伴。
1.尽可能考虑其他假设。
通常,当我们有一个想法时,我们会陷入其中,并希望将其贯穿到底,只是为了让自己感觉良好。
这可能是我们发现问题的设计模式,也可能是我们认为需要完成的性能提升。
我们往往不会过分或客观地评价自己的想法。
要提高思考和提出好的解决方案的能力,我们可以做的最简单的事情之一就是考虑一条替代路线。
考虑相反,反驳自己的初步想法。
这可以大大改善您的最初想法,也可以带来更好的解决方案。
2.想象您的决定将被抽查。
研究表明,那些认为自己必须证明自己的答案正确的人比没有这样做的人有更少的偏见。
让自己对您做出的任何决定(技术决定或其他决定)负责。
如果这样做,我们将倾向于投入更多的认知努力,并根据分析而不仅仅是情绪或习惯做出更好的决策。
一个好的做法是写下所有做出的复杂决定的理由,并确保推理是合理的。
这可能是您自己的注释,也可能是在协作工具(例如Wiki)中发布给软件团队的。
3.始终权衡收益与成本。
总会有一些很酷的功能或工具易于使用或吸引人的学习。
在沿着特定路线前进之前,我们应该始终权衡收益与成本。
该功能对开发人员来说可能很酷,但是它提供多少业务价值?
它有助于企业省钱吗?
新的ORM工具看起来不错,并具有一些额外的好处,但是与技术节省相比,它将产生什么成本?
反参数也应同样考虑。
重构可能会带来一些实施前期成本,但从长远来看,它将带来更多可维护且无缺陷的代码,从而可带来回报。
新的集成测试工具可能需要一周的投资,但可以通过允许团队编写自动测试并消除费力的手动和重复测试来获得收益。
有时候,最初的痛苦值得长期受益。
4.尽可能在疲倦或有其他想法时不要做出重要的决定。
马库斯(Marcus)描述了我们如何将大脑分为两部分:反身和思考。
大脑的反射部分在早期发展并控制着我们的身体运动。
它还控制我们的情绪以及战斗或逃跑反应。
大脑的商议部分是最近进化的,并控制理性的思维和逻辑。
在做出与软件相关的决策时,请确保您休息良好且没有压力。
获得充足的睡眠,并控制饥饿感。
当您的健康状况不理想时,大脑的反射部分就会激活并覆盖理性部分。
这会抑制理性思考,尤其会抑制复杂的问题解决。
为了做出最佳的技术和团队决策,请保持休息状态以利用理性的思维。
5.保持距离。
我们的思想是要考虑不久的事情并推迟将来的决定。
它总是与当下和当下的紧迫性有关。
发布需要立即完成,我们进入紧急状态的消防员模式。
或者……关于新设计的争论正在进行中,我们必须参与战斗并赢得争论!
最好退后一步,让自己远离这种情况。
想象一下,您正在远方观察,并试图客观地判断情况。
当然,现在和现在总是很重要,但通过疏远自己来平衡局势也很重要。
这样做将有助于公平评估情况。
它还可以让大脑的反射性部分变得暗淡无光,并在需要时让思考的头脑介入以进行控制。
即使我们是技术领域的理性人,我们毕竟还是人。
我们是祖先的产物,情感和理性都是我们组成的一部分,尽管并不总是正确的比例。
但是,可以采取简单而谨慎的步骤来弥补我们的任何缺点。
翻译自: https://www.javacodegeeks.com/2012/07/5-ways-to-think-wisely-in-development.html