paint-brush
敏捷的稻草人经过@icyapril
5,639 讀數
5,639 讀數

敏捷的稻草人

经过 Dr Junade Ali6m2024/06/25
Read on Terminal Reader

太長; 讀書

虽然一份科学评论论文发现“敏捷方法论的证据充其量也非常稀少”;但敏捷的大部分教条都源于对瀑布和丰田生产系统成功的反对。然而,仔细观察后,就会发现这个背景更像是神话,而不是历史。
featured image - 敏捷的稻草人
Dr Junade Ali HackerNoon profile picture
0-item
1-item
2-item

从跟踪到黑客攻击,自从我开始研究敏捷项目和转型计划的高失败率以来,我已经亲眼目睹了敏捷最虔诚的追随者中存在的原教旨主义。


当信仰治疗师的脆弱患者因虚假治疗无效而患病时(通常“捐赠”了一大笔钱),“治疗师”通常会声称这是患者的错,因为他们祈祷不够。德伦·布朗在电视特别节目《奇迹出售》中详细探讨了这个话题,并在 Netflix 特别节目《奇迹》中进行了戏剧化展示。这种谬论通常被描述为“没有真正的苏格兰人”谬论或“呼吁纯洁”谬论的一种版本。


当敏捷项目失败时,敏捷社区的原教旨主义者经常会使用类似的说法。例如,在文章“敏捷失败?你做错了”中,Greg Kihlstrom 写道:

例如,您的团队中可能拥有最热情的 Scrum Master,但如果产品团队中有一些反对者或那些根本不坚持到底或不了解需要做什么的人,那么您将面临挑战。有时这是一个教育或指导的问题,有时这是一个团队动态和文化的问题。确定原因并相应地处理。


然而,这种信念的科学基础并不存在。2021 年 11 月的一篇题为“没有证据的“最佳实践”——以敏捷软件方法论为例”的论文对大量科学敏捷研究的评论进行了荟萃分析,发现:“第三项研究的结果是,事实上,敏捷方法论的证据充其量也很少。”


然而,这远非那些对敏捷持原教旨主义立场的人所采取的唯一认知偏见。在本文中,我想重点讨论那些经常用来证明敏捷方法论合理性的稻草人。

什么是敏捷稻草人?

在 LinkedIn 的敏捷社区中,经常可以看到类似下面的帖子 - 看似这样的对话让敏捷实践者显得机智,并且在敢于质疑该方法的软件工程师面前为该方法辩护。我个人认为这些对话似乎普遍是虚构的:

Jem Jelly 的 LinkedIn 帖子


《牛津英语词典》对稻草人的定义如下:

在争论、辩论等活动中:故意提出薄弱或歪曲的主张,因为它比对手的真实论点更容易被驳斥或转移对手的注意力,给人一种原始指控已被驳斥或驳倒的表面印象。


然而,还有更多根深蒂固的稻草人似乎触及了敏捷主张的核心。


SecretGeek 网站上的一篇文章提出了这样一个问题:“ ‘敏捷’是一种宗教吗?(或者仅仅是邪教) ”。虽然作者声称敏捷的其他教条元素确实存在,从仪式到教义,但他们犹豫不决的一个领域是敏捷中是否存在“神话”。


我相信这些稻草人从根本上构成了敏捷的神话。

瀑布神话

讨论 Agile 时很难不谈瀑布式管理。瀑布式管理是一种所谓的项目管理方法,与 Agile 形成鲜明对比。瀑布式管理方法要求严格记录步骤,并且绝不进行任何更改。


然而,这引出了一个问题,即使从历史上看,瀑布会议或用户组在哪里?


也许该方法的起源会为我们提供一些线索。在圣何塞州立大学的 Jon Pearce 的讲义中,他指出:“瀑布生命周期模型是生命周期模型的稻草人。它于 1970 年由 Wynn Royce 首次描述为有缺陷流程的一个例子……


软件开发人员 Christian Findlay 在X 上的一篇文章中提出了类似的观点,他说“瀑布方法是一个从未存在过的稻草人”


然而,随着我们进一步深入了解敏捷的历史,情况变得更加模糊。

丰田神话

丰田生产系统 (TPS) 是敏捷方法论的精神发源地。尽管绝大多数转型计划都以失败告终,但许多人仍会指出丰田所采用的方法论。


然而,丰田在软件工程方面的历史并不理想。 《国会周刊》的一篇报道称,“根据丰田在 2019 年 9 月提交的一份法庭文件,丰田自 2014 年以来已解决了 537 起因突然加速导致人员死亡或重伤的事故索赔,但并未承认责任。”


这些意外加速缺陷不仅在许多情况下是致命的,而且在 Koua Fong Lee 的案例中,该缺陷不仅导致了一场车祸,导致三人死亡,其他人受伤,当时他正开车送他怀孕的妻子和孩子从教堂回家,还导致他被指责并被判入狱。在法庭诉讼中,丰田曾试图反驳关于车辆行为异常的理论,声称有严格的测试协议,但在审判前不久,丰田提交了该工程师的声明,称该公司实际上没有进行过这样的测试


李某拒绝接受认罪协议,尽管认罪协议会让他无罪释放,但他仍被打上罪犯的标签。最终,在法庭下令重审后,李某被释放,检方拒绝将此案重新提交法庭。


在 Bookout V. Toyota 案中,丰田的软件工程实践再次受到关注,原因是另一起意外加速缺陷导致人员死亡。在诉讼过程中,最终认定软件系统可能导致意外加速,并提供了证据,包括丰田内部沟通,称“事实上,故障安全等技术并不是丰田工程部门的 DNA”:


报道,在此案之后,丰田公司对高可靠性项目的软件工程采用了传统的方法,使用 SPARK Ada 语言,其中严格的设计合同有助于从数学上验证软件的正确性——这种方法是在航空和国防等高可靠性环境中采用的。


这种方法被称为“契约式设计”,最初是由法国软件工程师伯特兰·迈耶发明的,他本人撰写了《敏捷!:优点、炒作和丑陋》一书。迈耶对敏捷的批评包括贬低前期设计,以及注重用户故事而非通用规范。


这些批评在 Edensoft Labs 的视频“敏捷的丑陋之处(与 Bertrand Meyer 博士一起) ”中有更详细的描述:

结论

敏捷中的各种稻草人向我们强调了在采用尚未证明其有效性的解决方案之前必须持批判态度的重要性。别误会我的意思,我们不需要对随机对照试验的系统评价进行荟萃分析来做出生活中的每一个判断,但我们在忽视证据基础较高的证据而不是证据基础较低的证据时应该小心(例如权威人士向我们呈现的教条真理)。


作为人类,尽管困难重重,但这些转变的故事仍然牵动着我们的心弦,我们都想相信有超级英雄可以治愈我们。然而,盲目的愤世嫉俗也常常会导致我们远离社会进步的进步。如果我们试图忽视这些情感因素而不是承认它们,当我们试图做出理性决定时,我们会发现自己更容易受到它们的摆布。


自从我写了《 影响工程:超越敏捷项目管理的转型》这本书以来,我发现最引人注目的事情之一是,敏捷观点分歧双方中最教条的人会忽视情感和心理方面,而这些方面实际上构成了这本书的主体,而证据表明,这些方面是真正成功的转型计划的核心。


这是一个鲜明的提醒,在我们陷入困境之前,我们必须记住,科学和工程的教训是质疑正统观念和收集证据是真正非凡发现的核心。