2023.03.23 读书笔记:第2章 《人月神话》

《人月神话》第2章:《人月神话》

Good cooking takes time. If you are made to wait, it is to serve you better, and to please you.

美食的烹饪需要时间;片刻等待,等多美味,更多享受。

 

缺乏合理的进度安排是造成项目滞后的最主要的原因。导致“缺乏合理的进度安排”普遍出现,有以下原因:

1、编程人员太过“乐观主义”。此处的“乐观主义”表现在:一切任务都运作良好,每一项任务仅花费它所“应该”花费的时间。出现这种现象的原因,作者在书中引用《The Mind of the Maker》解释——“创造性活动分为三个阶段:构思、实现、交流。” 实现的过程中才能发现我们构思的不完整性和不一致性,即缺少了“实现”这一步骤,或者说是实践不够。结合编程工作,编程语言的易于驾驶让我们产生“乐观主义”,大型的编程工作中,出现正常的概率非常小。

2、将“人月”作为衡量工作的单位,错误地认为人员数量和时间是可以相互替换的。数量和时间可以相互替换地情况仅适用于:某个任务可以分解给参与者,并且他们之间不需要交流。当任务不可分解,人员增加,沟通增加,就是图 2-4 的情况,纵轴“月”不降反升。沟通增加了两部分负担:培训和相互的交流。它们或者只说沟通也算作工作量的一部分。

            

 

 3、系统测试进度安排不合理。系统测试明明是软件任务安排中很重要的部分,却很少会为测试花费一半时间。以下是作者凭借多年经验得出的时间安排:

1/3 计划
1/6 编码
1/4 构件测试和早期系统测试
1/4 系统测试,所有的构件已完成
 
4、空乏的估算。因为缺少数据支持,以及软件经理会因为满足顾客期望的时间,凭直觉安排项目进度,由此得出的风险估计不可靠。作者建议开发推行生产率图表、缺陷率图表、估算规则等或者项目经理要凭自己的经验去估计。
 

5、重复产生的进度灾难。这其实就是作者自己提出的著名的Brooks法则:向进度落后的项目中增加人手,只会使进度更加落后。如果阶段性任务未完成,项目经理会忍不住增加更多的人力。

(横轴是月,纵轴是人数,比如刚开始是3人,之后是5人。人数乘以对应月,就是项目所需人月,ABC是书中假设的工作里程碑)

 

 

(曲线图片来源:《人月神话》40周年中文纪念版 )

菜鸟学习新词

缺陷率图表:https://blog.csdn.net/emag_testage/article/details/305244    (但是这篇也是别人转载并且图片没有了)

 

本文作者:VivianMarie

本文链接:https://www.cnblogs.com/Vivianmaire/p/17249344.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   VivianMarie  阅读(6)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.