首页 > 其他分享 >《人月神话》读书摘录

《人月神话》读书摘录

时间:2023-10-28 11:25:19浏览次数:37  
标签:煎蛋 神话 安排 任务 进度 顾客 摘录 读书

2. 人月神话

乐观主义

  • 系统编程的进度安排背后的第一个假设是:一切都将运作良好,每一项任务仅花费它所“应该”花费的时间。
  • 我们的构思是有缺陷的,因此总会发现Bug。也就是说,我们的乐观主义并不应该是理所应当的。
  • 在单个的任务中,“一切都将运转正常”的假设在进度上具有可实现性。然而大型的编程工作,或多或少都包含了许多任务,某些任务间还具有前后的次序,从而一切正常的概率变得非常小,甚至接近于零。

人月

  • 第二个谬误的思考方式是,在估计和进度安排中使用的工作量单位:人月;
  • 用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。它暗示着人员数量和时间是可以相互替换的。
  • 人数和时间可以替换仅适用于:1.任务可分解(没有次序上的限制) 2.参与人员之间不需要相互交流

系统测试

要为系统测试安排足够的时间

空泛的估算

编程人员,同厨师一样,某项任务的计划进度,可能受限于顾客要求的紧迫程度,但紧迫程度无法控制实际的完成情况。就像约好在两分钟内完成一个煎蛋,看上去可能进行得非常好,但当它无法在两分钟内完成时,顾客只能选择等待或者吃生煎蛋。软件顾客的情况类似。
厨师还可以选择把火开大,不过结果常常是无法“挽救”的煎蛋————一面已经焦了,而另一面还是生的。

  • 为了满足顾客的期望日期而造成不合理的进度安排,在软件领域中比其他任何工程领域要普遍得多。
  • 在基于可靠基础的估算出现之前,项目经理需要挺直腰杆,坚持他们的估计,确信自己的经验和直觉总比期望派生出的结果要强得多。

重复产生的进度灾难

当一个软件项目落后于进度时,通常的做法是加派人手。这可能有所帮助,也可能无法解决问题。

  • 重新安排进度。P.Fagg(经验丰富的硬件工程师)的忠告:“避免小的偏差(Take no small slips.)”也就是说,在进度安排中分配充分的时间,以确保工作能仔细、彻底地完成,从而无需重新确定时间进度表。
  • 削减任务。当项目延期导致的二次成本非常高时,这常常是唯一可行的方法。

简化的Brooks法则:(冒昧的)向进度落后的项目中增加人手,只会使进度更加落后。(Adding manpower to a late software project makes it later.)

标签:煎蛋,神话,安排,任务,进度,顾客,摘录,读书
From: https://www.cnblogs.com/huangtq/p/17793838.html

相关文章

  • python123 第二章:我的读书笔记
    print("后四位学号:3114")print("\n03")#03运行超市抹零结账行为‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪......
  • linux系统 基本权限ACL读书笔记
    当你作为一个Linux初学者探索文件权限和ACL(AccessControlLists)时,了解getfacl和setfacl命令将帮助你更好地管理文件和目录的权限。以下是一些关于这两个命令的读书笔记:getfacl命令getfacl命令用于获取文件或目录的ACL信息。ACL允许你在标准UNIX权限之外更精细地控制访问。以下......
  • 10.25读书笔记-《掌握需求过程·》01
    今天读了《掌握需求过程·》这本书,理解了什么是需求,为什么要掌握需求,在开发软件时,身为一个程序员就要明白,开发软件的前前后后需要知道的东西,将尽可能多的可以预知的内容,做到心知肚明。目前的我们在开发软件的时候还是做的还是比较小的项目,偶尔也会遇到一些数据库设计出错导致,编写......
  • 论读书
    往昔少年时家中长者常劝诫以万般皆下品,唯有读书高然懵懂之辈实践浅薄,常怀不识之念胸无点墨又不耐寒窗苦读见手不释卷,胸有锦绣者常羡而慕之,乃效仿,却难得其中三昧于是叹曰,非吾之过,此天赋使然也遂沉湎与虚无缥缈之梦,蹉跎岁月,虚度年华今时今日,每念及此,常追悔莫名人皆恰同学少......
  • 《流畅的Python》 读书笔记 第5章 一等函数 20231025
    第5章一等函数第四章相对偏僻,但时间上一样要花我很久,就先跳过了,回头再补。而这个第5章节是非常重要的。只是最近工作有点忙,我读的越来越慢了~继续坚持吧。在Python中,所有函数都是一等对象,整数、字符串和字典都是一等对象(注:first-classobject)要成为一等对象,需要满足......
  • 第三周阅读笔记|人月神话————为什么巴比伦塔会失败
    巴比伦塔的管理教训巴比伦塔是人类继诺亚方舟之后的第二大工程壮举,但巴比伦塔同时也是第一个彻底失败的工程。现在,其实也是这样的情况。因为左手不知道右手在做什么,所以进度灾难、功能的不合理和系统缺陷纷纷出现。随着工作的进行,许多小组慢慢地修改自己程序的功能、规模和速度,他......
  • 《架构师之路:软件架构之美》第六七章读书笔记
    6.1软件架构有助于交付高质量的产品软件架构是关于结构和愿景的,不思考软件架构(以及“大局”)会导致团队经常遭遇一些常见问题。你的软件系统有良好定义的结构吗?团队里每个人都以一致的方式实现特性吗?代码库的质量水平一致吗?对于如何构建软件,团队有共同的愿景吗?团队里每个人都......
  • 《软件工程:方法与实践》读书笔记3
    1.瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型的本质是一次通过,即每个活动只执行一次,最后得到软件产品,也称为“线性顺序模型”或者“传统生命周期”。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施......
  • 大连读书时的周边景色 —— 大连开发区校区
      ====================================    ......
  • 第三周阅读笔记|人月神话————画蛇添足
    画蛇添足——蛇本来没有脚,先画成蛇的人,却将蛇添了脚,结果不成为蛇。蛇本来没有脚却被人给它强行加上脚,比喻做事多此一举,反而坏事。我们在成功来临的时候,要保持和巩固现有的成果,不能多次一举,耍小聪明、炫耀自己,否则就会惨败。自作聪明、做多余的事,反而会弄巧成拙,把事情办糟。......