图书摘要 – Laurent Bossavit 著《软件工程中的妖精》
“每个人对任何事情的了解都表明,这是不真实的,” – Laurent Bossavit
在讨论计算机和软件时,人们经常使用科学和工程这两个词。这些词语来之不易。意外技术、计算机炼金术或听信不合格的影响者的软件等说法同样有用。不信?读读洛朗-博萨维特(Laurent Bossavit)的书,然后给我打个电话。
想象一下,你正在参加一个严肃的软件会议,会场上坐满了严肃的人。一位发言人自信地表示,75% 的软件从未被使用过。时间是 1995 年,发言人来自美国国防部。他解释说,他所在的部门在一个软件项目上花费了 357 亿美元(是的,是 “十亿 ”加 “b”)。其中 75% 的软件从未使用过。这就浪费了 260 亿美元。
这是一个非同寻常的事实。为了再次核实其真实性,我希望从团队的产出中对 350 亿美元的项目进行非常详细的研究。没做吗?好吧,这可是个大工程。他们肯定在另一个层面做了大量分析,比如对软件用户进行全面调查?没有?好吧,也许对一些用户进行了小范围抽样调查。也没做吗?当然,我明白,他们很忙。我们都很忙。他们肯定从财务部门拿到了明细表。没有。那我就不明白了。他们是怎么得出 34 美元和 26 美元这两个数字的?15 年后,另一个部门的另一个团队写了一篇论文,他们参与了另一个价值 680 万美元的项目。他们发现,只有 2% 的软件符合要求,75% 的软件被浪费了。国防部将 680 万美元中的 75% 用于他们价值 350 亿美元的项目。15 年过去了。他们把 75% 当成物理定律来使用。
估算软件使用量并不是什么火箭科学,国防部应该对此有所了解。他们是如何做出这样毫无根据的判断的?本书作者指出,这类不科学的说法屡见不鲜。事实上,整个行业都充斥着不科学、推理拙劣和滥用数字的例子。在这个行业中,一些基本的基础并不存在。
忽略书名。这是一本重要的书。这是一本罕见而特殊的书,其中的基本概念可以颠覆我们对世界的看法。在这篇评论中,我将使用我以前使用过的一种技巧。我先解释 “是什么”、“为什么”、‘怎么做’、“所以呢 ”以及 “为了谁”。然后,我将介绍我是如何发现这本书的,并给你一些有价值的启示。
What
在技术领域,我们过早地采用了有缺陷的说法,因为我们缺乏如何解读研究的培训。本书论述了有关软件的各种 “既定真理”,并通过调查这些真理的起源揭穿了其中的许多说法。这些故事寓教于乐,让人深入了解各种组织是如何犯下根本性错误的。不过,对我来说,真正的价值在于作者揭露这些说法的方法。本书借鉴了严肃科学探究的技巧,对软件进行批判性思考。如果我们意识到 10 倍程序员并不存在,那么我们只是获得了表面的理解。如果我们理解了作者是如何得出这一结论的,那么我们现在就掌握了一种新的技术,可以帮助我们分析每一种新的说法。在批判性思维日益稀缺的今天,这是一项极具价值的技能。
为什么?
为什么要写这本书?感觉上,作者只是对软件开发的糟糕情况感到沮丧,于是开始写作,最后写成了一本书。软件领域缺乏批判性思维和批判性思维培训。作者试图帮助纠正这一错误。
我们不可能研究我们所相信的每一件事。我们可能穷尽一生去研究,却只能获得极少量的知识。相反,我们需要的是满足–我们需要做一些研究,并决定在某些 “既定真理 ”的基础上构建我们的知识。在软件领域,我们通常通过筛选有影响力的技术人员的成果来发现这些真理。了解哪些普及者是值得信赖的–因此哪些真理是有效的–是一个模糊的领域。软件专业人员几乎没有接受过这方面的培训。
我们都见过新技术的炒作周期–先是几篇博文,然后是文章和播客。书籍出现,咨询公司推荐。突然间,每个人都想使用它,通常不会考虑原因、它能提供什么以及后果是什么。大家都这么做 “成了口头禅。高管们希望看到它,工程师们纷纷离职,转投使用最新工具的公司,以便 “与时俱进”。这种情况一直持续到有更新的工具出现,循环又开始了。作者希望打破这种循环,告诉我们有多少既定的真理是误导的、有缺陷的,或者是完全错误的。他的目的是给我们提供一些工具,帮助我们弄清楚如何自己判断这些真理。
How
作者采用案例研究法,对软件中一些流行的说法进行了评估。通过这种方法,他向我们传授了学术界的一些技术,让我们可以对软件中的一些说法进行评估。这对我很有吸引力,因为我曾花了几年时间在博士课程中学习其中的一些技术。不幸的是,我已经在软件行业工作了 20 年,所以有很多东西需要重新学习。我相信每个人都应该有机会接触到这些技术。本书所基于的批判性思维可以改变你对工作的看法,也可以改变你的生活方式。在这个狂言四起的世界里,本书中的技巧是改善你的工作和生活的重要工具。
那又怎样
那又怎样?真的吗?你可能在生活中缺乏一些基本的批判性思维技巧。你很可能在会议上说一些完全错误的话。你用毫无意义的 “感知智慧 ”为自己的所作所为辩护。你可能会把一生的工作建立在错误之上。你生活在谎言之中。你让人难堪。
这样。
有价值的启示
时刻警惕自己的思维方式。人类不是有逻辑的机器,而是充满情感的包囊。我们很少有人阅读学术界的研究成果。相反,我们依赖于同行、同事和互联网上的技术普及者。软件会议、书籍、文章等都是有益的补充,但它们往往缺乏学术研究的严谨性。
我们已经脱离了科学的探究方法。我们必须利用学术界的知识和工具,让我们成为更好的思想家。学术界需要为这一鸿沟分担一些责任。学术界没有很好地将他们的研究成果传达给软件社区。
我们存在几个批判性思维问题。
信息级联。如果其他人都相信某个说法,我们往往就会认为它是真的,而不会质疑最初的说法。
学科嫉妒。我们从医学中借鉴实验设计,并称之为基于证据。作者提醒我们不要这样做,因为这样做似乎是想让人听起来印象深刻,但却经常隐藏着概念或方法上的缺陷。作者指出,医学研究存在一系列问题。有大量来自社会科学的研究方法,而软件在很大程度上忽视了这些方法,从而使其声誉受损。
盲目引用。从根本上说,我们没有很好地检查引文。如果引用的研究支持某个假设,我们就会认为该研究确实支持该假设。不幸的是,有些研究论文并不是真正的实证研究,或者它们支持的是一个较弱版本的假设。有时,它们并不支持假设,却引用了支持假设的研究。有些研究非但不平衡,还带有观点性,反映了作者的偏见。
任何认为批判性思维问题是最近才出现的现象的人,都需要提高自己的批判性思维能力!
我们误信的神话–(如欲了解更多信息,请阅读本书)
10倍程序员
TDD比不TDD好
瀑布式不是敏捷式
Bug越晚发现代价越高
缺陷:
书名。对于一本重要的书来说,这是一个糟糕的标题,几乎让我在开始阅读之前就放弃了。一本为认真对待软件和思考的人而写的书,应该有一个更好的书名。还有第二个原因困扰着我。毕竟我是爱尔兰人。因此,我走到墙边,把这本书加入了爱尔兰文化瑰宝的名单,这些文化瑰宝都被私吞和商业化,面目全非(小精灵目前排在第四位,仅次于万圣节、圣帕特里克节和德古拉伯爵)。
我希望作者能以新的书名重新出版。
这是一本自行出版的书。封面上有作者(Laurent Bossavit),但没有提到编辑。我不知道编辑能否把这本书写得更好。这本书的文笔有些跳跃。有些争论持续了很久,然后就淡出了。有些章节没有明显的原因就分开了。这些都是小毛病,但很可惜,因为书中的内容和论点都很吸引人。
插曲
书中有一段精彩的插曲–一幅漫画,名为 “如何撒谎”。在此我就不剧透了,但其中有一句话我们都应该多多使用:
“每个人对任何事情的了解 都表明这是不真实的”
我们需要做什么
成为科学家。作者认为,我们都需要同时实践和研究软件开发。这意味着我们要熟悉认知社会科学,以了解人是如何工作的;熟悉计算的数学特性,以了解计算是如何工作的;还要观察和测量实验室条件和现实世界的实践,以获得更深入的理解。
我们需要提出更好的问题。新文章/新书是否引用了资料来源?作者是否阅读了资料来源?对于最重要的 “真理”,我是否可以阅读原始资料并自行决定?
我们必须在工作之余进行思考。
你也许感兴趣的:
- 他们知道你手机上的全部应用程序
- 20 年前的 exe 现在仍然可以在 Windows 上运行,linux 呢?
- 即将发布的 Windows 11 版本将无法在没有互联网连接和微软账户的情况下进行安装
- 火狐浏览器终于(重新)增加了对网络应用程序的支持
- 战争故事:我调试过的最难的错误
- 在选择 Next.js 之前,您应该了解这些信息
- JDK 24 来了!每个 Java 开发人员都必须了解的改变游戏规则的功能
- 世界末日的最佳编程语言
- 非官方 Windows 7 Service Pack 2
- 进化中的 SCALA 语言
你对本文的反应是: