通过Milgram实验“提交授权”的棱镜进行软件开发

上周,我花了很多时间从代码库中删除无效代码。 我喜欢删除代码。 对我而言,很少有什么能像在代码中按顺序排列那样带来相同的乐趣。 是的,我非常喜欢它,以至于工程师感到困惑,他们在应用程序中留下了不必要的代码。 但是在周末,我听到有人谈论米尔格拉姆(Milgram)的实验“向权威提交”他们也在枢纽上写过 )-我不禁在震惊他人的工程师和工程师之间划清界限。留下已知的错误和错误的代码。


如果您不熟悉斯坦利·米尔格拉姆(Stanley Milgram)的实验,那就在于以下事实:实验者(有权威的人)命令教师(研究的对象)在另一间房间内一系列不断增加的电流中击败学生。 维基百科插图:



E-实验者,T-老师,L-学习者


实验的实质是研究人们对与他们的道德原则相冲突的命令的反应。 在实验之前,据信大多数受试者一旦意识到自己正在伤害学生,就会立即停止实验。 但是,在实验过程中,结果发现惊人数量的对象达到了450伏的最大放电量。


在米尔格拉姆的第一组实验中,有65%的参与者(40人中的26人)使用了450伏的最大可能值,尽管这样做并不令人愉快。 在某个时间点,每个参与者都停止了并怀疑实验; 一些参与者想停止并归还他们为参与而支付的钱。 在实验过程中,参与者经历了不同程度的兴奋和压力。 他们出汗,发抖,结巴,咬嘴唇,mo吟,将指甲钉进皮肤,有些人紧张地笑了。

当我们了解到这样的结果时,我们想相信我们永远不会那样做。 我们想相信“仅服从命令”是我们所没有的人为缺陷。 但是像米尔格拉姆(Milgram)的实验这样的实验表明,这种信念充其量是乐观的,最坏的情况是完全错误的。


现在我们知道了人们在面对痛苦时如何对权威做出反应,让我们看看程序员在面对更抽象的事物(如沮丧和不便)时如何对权威做出反应。 让我们采用Milham实验图并重新设计它以反映开发团队:



如果我们如图所示查看开发团队,那么为什么我们的工程师留下错误的代码并留下已知的错误就不足为奇了。 掌权者可能在某个时候明确表示,我们没有时间解决问题,或者与路线图中的其他事项相比,这些问题没有得到优先考虑。 否则删除无效代码不会给用户带来价值。 结果,尽管这与我们的道德准则和善与恶的概念相抵触,我们仍将代码保留下来,继续进行下一个任务。


在米尔格拉姆(Milgram)的实验中,受试者经常犹豫不决,抗议不要再向另一房间的人发送放电。 在这种情况下,实验人员要求继续使用以下预定义的短语之一:


  • “请继续”(请继续/请继续);
  • “实验要求您继续”;
  • “继续前进是绝对必要的”(继续前进是绝对必要的);
  • “您别无选择,您必须继续”。

实验者仅用言语就能确保65%的受测者会以非常痛苦的电流击败其他人。 我想知道我们在软件开发中使用了哪些词?


  • 这不是我们决定的,而是产品团队
  • 我们需要在最后期限之前
  • 营销团队将在下周发布新闻稿。
  • 我们门票太少
  • 我们还是会扔掉这段代码
  • 这是一个临时解决方案。
  • 需要提高团队绩效
  • 这将影响少数用户。
  • 现在,这不是我们的优先事项。
  • 我们稍后会修复
  • 这就是管理层想要的
  • 为什么这么久?
  • 需要做得更快。

我并不是为了建议解决方案而写这本书。 我没有 我写作的目的是首先要培养自己的同情心理解力 。 当我看到一段代码,使我感到迷惑或不了解自己的行为时,我必须记住,动作并不总是反映意图。 我必须记住,工程师留下的错误代码不是因为他们不在乎-他们留下的错误代码是因为他们没有自由整理代码。 他们留下错误的原因不是因为他们不关心用户,而是因为他们无权偏离产品路线图。

Source: https://habr.com/ru/post/zh-CN432838/


All Articles