人月神话读书笔记(2)----人月神话

人月神话


精美的烹饪需要时间,本章主题即以箴言此引申展开:向软件项目盲目增加人手以求速成,往往是欲速则不达。

缺乏合理的进度安排是造成项目滞后的最主要原因,导致这种灾难如此普通的原因有:
1. 对估算技术缺乏有效的研究;
2. 估算技术隐含地假设人和月可以互换,错误地将进度与工作量相互混淆;
3. 对自己的估算缺乏信心,软件经理通常不会有耐心持续地估算这项工作;
4. 对进度缺少跟踪和监督;
5. 当意识到进度的偏移时,下意识的反应是增加人力。这只会使事情更糟;

乐观主义

  1. 所有的编程人员都是乐观主义者,一切都将运作良好
  2. 创造性活动分为三个阶段:构思、实现和交流。对于创造者,只有在实现的过程中,才能发现我们构思的不完整性和不一致性
  3. 我们的构思是有缺陷的,因此总会发现BUG。也就是说,我们乐观主义并不应该是理所应当的;

人月

  1. 用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。它暗示着人员数量和时间是可以相互替换的;
  2. 当任务由于次序上的限制不能分解时,人手的添加对进度没有帮助。无论哪位母亲,孕育一个生命都需要10个月
  3. 对于可以分解,但子任务之间需要相互沟通和交流的任务,必须在计划工作中考虑沟通的工作量
  4. 沟通所增加的负担由两个部分组成:培训和相互的交流
  5. 所增加的用于沟通的工作量可能会完全抵消对原有任务分解所产生的作用。从而,添加更多的人手,实际上是延长了而不是缩短了时间进度

系统测试

  1. 由于我们的乐观主义,通常实际出现的缺陷数量比预料的要多得多。因此,系统测试进度的安排常常是编程中最不合理的部分;
  2. 多年经验的软件任务的进度安排:1/3计划,1/6编码,1/4构件测试,1/4系统测试
  3. 大多数项目的测试实际上是花费了进度中一半的时间。特别需要指出的是,不为系统测试安排足够的时间简直就是一场灾难

空泛的估算

  1. 某项任务的计划进度,可能受限于顾客要求的紧迫程度,但紧迫程度无法控制实际的完成情况。就像在两分钟内完成一个煎蛋,看上去可能进行得非常好,但当它无法在两分钟内完成时,顾客只能选择等待或者生吃煎蛋
  2. 项目经理需要挺直腰杆,坚持他们的估计,确信自己的经验和直觉总比从期望派生出的结果要强得多;
  3. 重复产生的进度灾难。在新的进度安排中分配充分的时间,以确保工作能仔细、彻底地完成,从而无需重新确定时间进度表;
  4. 向进度落后的项目中增加人手,只会使进度更加落后;
  5. 项目的时间依赖于顺序上的限制,人员的最大数量依赖于独立子任务的数量;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值