开发者可以利用的10种思维模式

Monique Danao
分享

开始尝试十种思维模式,你可以用它们来摆脱困境,从新的角度看待难题,验证你的假设,并更深入地理解系统。

当你陷入困境时,你如何快速恢复?

当然,你可以坐下来集思广益解决方案。不幸的是,在用代码解决复杂的挑战时,灵感可能需要一段时间。

我们能做些什么来更好地思考和更快地解决问题?

无论你是想找出问题的根本原因,还是想了解划分优先级的理想方式,心理模型都可以提供有价值的见解。

什么是心理模型?

心智模型是我们理解世界的一种方式。心智模型是一种框架,它帮助我们理解大脑是如何工作的,以及为什么我们会以这种方式思考。我们也可以使用心理模型来合理化概念。

心智模式并不总是正确的。它们是一种简化的思维方式,可以帮助我们更好地理解事物。我们可以利用这些见解采取行动。

心智模型很强大,因为它们很灵活。就像隐喻一样,心智模型让我们通过将未知事物与已知事物进行比较来理解未知事物。

例如,博弈论是数学的一个分支,专注于分析个人或群体的行动和反作用。这是一种严谨的心智模型,它让我们能够探索诸如决策、策略,甚至与他人的互惠关系等概念。

作为人类,我们很容易低估这些工具的力量。我们经常忘记在日常生活中有多少思考。事实上,心智模型可以帮助我们检查我们是如何工作的,以及为什么我们会这样思考。

心智模型如何帮助开发者更好地思考?

我们大脑的心智模式决定了我们思想的质量。了解哪种思维模式最适合某种情况可以帮助你更聪明地工作和思考。

对于开发人员来说,心智模型可以提高生产力和效率。它可以帮助您理解问题,纠正代码中的高级问题,并避免潜在的错误。

考虑一下这个场景。

当出现问题时,你正处于状态,以快速的速度编写代码。您可以检查源代码、迭代潜在的解决方案、调用调试器或分析堆栈跟踪。

如果处理得当,您可以找到问题的根本原因。但这需要花费大量的时间和精力。

现在,考虑另一个场景。

假设您遇到了代码问题。

你可以分析一个系统的心智模型,而不是使用各种随机策略。考虑导致错误的条件,并找出代码与心理模型不一致的地方。

使用这种方法,开发人员甚至可以在不进行谷歌搜索的情况下确定解决方案。

那么,有哪些思维模式可以帮助你摆脱困境呢?这里有一些值得注意的思维模式,可以帮助开发人员完成工作。

心理模型1:橡皮鸭

橡皮鸭是“橡皮鸭调试”的简称。

这个概念起源于一个故事,一个程序员一行一行地向一只橡皮鸭描述他们的代码。

虽然它最初的灵感看起来很奇怪,但理由很简单。

向另一个人或一个无生命的对象解释您的代码可以让您分解问题并确定您在哪里卡住了。你不得不跳出固有的思维模式。

最终,你会发现你的代码出了问题。

澄清一下,你不需要和一个真正的橡皮鸭或玩具毛绒娃娃说话来完成这个任务。你也可以通过与同事或朋友的“避而不谈”来获得有价值的见解。当你试图深入解释你的代码时,他们可能会头脑风暴潜在的解决方案。

模型2:能力圈

能力圈指的是区分“你知道的”和“你不知道的”。

能力圈

简单地说,这种思维模式可以帮助你了解自己的专业领域。与此同时,你可以接受自己的弱点或处于不利地位的领域。

不管你做了多长时间的开发人员,你都不可能知道所有的事情。

一个例子就是游戏开发者转行成为金融行业的开发者。

作为游戏开发者,你必须精通c#和c++、用户界面设计、程序地形或针对不可玩角色的AI。其中一些技能可能对你目前的职位有用,但你后来发现你还需要了解银行法或管理安全服务。

通过能力圈,开发人员可以预测他们在开始一个新项目或转向一份新工作时可能遇到的挑战。一旦你知道了圈子之外的情况,你就可以寻求帮助或联系专家,帮助你征服你不自信的领域。

模型3 .反馈循环

当系统的输出作为输入重新进入系统时,就会发生反馈循环。

它通常发生在活动(PDCA)循环,“改进产品和服务的迭代过程。

这个过程包括四个步骤:

  • 计划:决定需要做什么
  • :按照最初的计划
  • 检查:评估你计划的执行情况和效果
  • 行为把计划付诸行动

在软件开发中,反馈循环可能发生在开发阶段。

这个过程可能涉及汇总来自客户样本组的反馈,以确定输出是否解决了预期的问题。否则,我们可能会在开发阶段浪费时间和金钱,而不能满足客户的期望。

开发人员可以在结对编程或代码审查期间应用反馈循环。

想象一下,一个初级开发人员正在编写代码,而一个高级开发人员正在审查它。该过程提高了初级开发人员的技能,帮助识别bug,并改进了团队的后续输出。

模型4:思维地图

思维导图是一种提供概念或想法的可视化表示的图表。

试着通过做一个思维导图来开始一个项目。以中心思想或概念开始。它可能是主要问题,也可能是项目的标题。

接下来,您可以添加与中心概念相关的分支或子主题。这些可能是每个团队需要完成的主要任务。

思维导图

然后您可以添加更多的子主题或分支。这些可以包括分配给每个成员的任务,为总体目标做出贡献。

思维导图在软件开发的测试过程中也很有帮助。测试人员可以使用它来探索应用程序并列出通过或失败的测试。

在此过程中,您甚至可以在子分支中包含问题。这样,反馈和问题就以易于理解的格式组织起来。

模型5 .希尔图表

希尔图表是一种心理模型,可以帮助你确定什么在运动,什么在停滞。

就像山丘的形状一样,图表由两个阶段组成——上坡和下坡。

第一阶段是“搞清楚事情”,位于上坡。在这个阶段,你对项目有了基本的了解,但你仍然需要解决一些未知的问题或确定你的整体策略。

随着时间的推移,你最终会达到一个点,你准备把你的策略付诸行动。然后,下坡阶段是关于“实现它”或实施。

开发人员可以利用希尔图表为他们的项目制定待办事项清单。当你完成或在列表上添加更多项目时,确定它们应该位于希尔图表上的位置。

从事多个项目或管理多个团队的高级开发人员可以使用它来衡量团队的工作重点。它还可以帮助识别陷入困境的群体,以及他们需要前进的方向。

模型6:帕金森定律

帕金森氏定律是一种心理模型,它指出,工作会不断扩大,以填满分配的时间。

举个例子,一个开发团队有三周的时间在产品中添加或调整一个特定的功能。团队很高兴地发现他们有足够的时间来完成这个项目。他们开始很慢,需要三周的时间来完成任务,但在收到反馈后,他们会发现更多的问题需要完成。

帕金森定律指出,团队应该为最高效率设定最后期限,即使这些期限并不完美。

在第一个例子中,由于时间的错觉,团队似乎过于放松。问题和一些小的调整可能会让他们慢下来,但输出可能仍然是不完美的。

然而,如果给他们分配一个现实的两周期限,同样的团队可以在更短的时间内完成更多的工作。如果有必要,他们甚至会有足够的时间处理测试反馈。

模型7:5为什么

5个为什么是一种思维模式,需要问5次“为什么”。

其基本原理是,当您发现问题时,最明显的解决方案可能无法解决问题的根本原因。

确定主要原因将使开发人员节省时间和精力。否则,他们只会使用权宜之计,而真正的问题却没有得到解决。

下面的例子似乎与开发者有关:

为什么用户无法访问应用程序中的日历功能?在最近的更新中有一个错误。

是什么导致了最近更新中的错误?该团队无法测试所有功能。为什么团队无法测试所有的功能?团队中的新测试人员无法正确地测试所有功能。

为什么新测试员表现不佳?他们也没有得到资源和适当的培训。为什么他们没有得到适当的培训和资源?大多数新测试人员都远程工作。

负责培训他们的团队遇到了困难,因为目前还没有针对完全远程工作人员的经过测试的入职流程。

模型8:反演

在解决问题的过程中,我们经常向前看。

这在解决简单问题时可能很有效。然而,解决一个需要分解的复杂问题可能具有挑战性。

倒置可以帮助我们通过逆向思考来分解问题和想出解决方案。

假设你的软件产品推出了免费试用版,以扩大你的客户群。然而,免费试用的转化率只有可怜的2%。

头脑风暴解决方案的标准思维过程包括:“在免费试用结束后,我该怎么做才能让更多人使用我的产品?”

与其向前看,不如把问题倒过来问,“在免费试用期间,用户最常尝试哪些功能?我们如何在免费计划中提高用户体验?“

第一个问题的解决方案可能只涉及改善您的入职体验和创建教程。然而,通过反转问题,您可能会发现导致低转化率的潜在问题。

模型第9集:奥卡姆剃刀

奥卡姆剃刀,也被称为节俭定律,是解决问题的心理模型。简单地说,该模型指出,当有几种方法来解决一个问题时,最简单的解决方案可能更正确和理想。

考虑一个开发人员可以编写简单和复杂的代码来实现相同的结果。即使存在两种选择,最理想的是更简单的代码,因为它可以更快地检查和更容易地更新。

虽然结果是一样的,但更直接的解决方案更容易执行,从长远来看也更有利。

模型10 .精益创业

精益创业涉及构建-测量-学习反馈循环。

大多数创业公司都有一个很好的想法,但要实现这个产品可能需要几周或几个月的时间。

精益创业流程通过鼓励开发潜在客户可以测试的最小可行产品(MVP)来解决这个问题。

一旦选定的目标客户尝试了,初创公司就会评估结果并征求反馈。这个循环会一直持续下去,直到创业公司有了高质量的产品,他们可以自信地向目标消费者发布。

精益创业
精益启动过程

团队可以通过目标消费者的持续反馈来构建理想的产品。否则,创业公司可能需要几周或几个月的时间来进行产品测试。

更糟糕的是,他们可能会在测试过程中发现重大问题。然而,他们已经在开发产品上投入了数千美元,无法在这个阶段停留更长的时间。

选择正确的思维模式

理解每种情况下的正确思维模式有助于我们更聪明地工作,而不是更努力地工作。

处理一个复杂的问题会花费我们大量的时间和精力。心理模型帮助我们把大问题分解成更小的问题。这样,我们就可以找到问题的核心,并制定出最实际的解决方案。

我知道把这些思维模式根植于你的日常生活中可能需要时间。但是一旦你学会了这个过程并付诸实践,你就可以立刻摆脱困境,朝着正确的方向前进。

Baidu