《人月神话》个人读书摘要
焦油坑
职业乐趣
编程为什么有趣?
- 创建事物的纯粹快乐。
- 开发对于其他人有用的东西。
- 开发过程体现出魔术般的力量。
- 学习的乐趣。
- 工作变得易于驾驭。创造方式灵活,根据自己的想象创造。
职业苦恼
- 必须追求完美。
- 由他人设定目标。
- 有时得依赖上层开发人员。
- 找bug。
- 产品即将完成时,显得陈旧过时。
人月神话
缺乏合理的时间进度是造成项目滞后的最主要原因。
乐观主义
所有的编程人员都是乐观主义者。——贬义(笑了,似乎的确这样)
对遇到的大部分实现上的困难, 我们总是倾向于去责怪那些物理介质, 因为它们不顺应“我 们”设定的思路。其实,这只不过是我们的骄傲使判断带上了主观主义色彩。
人月
第二个谬误的思考方式是在估计和进度安排中使用的工作量单位:人月。
用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。
工作分为可分解与不可分解的任务,可分解的任务增加人手的确会缩短时间,但是沟通等又会花费时间;不可分解的任务增加人手则不会缩短开发时间,有时候会延长时间。
系统测试
软件任务进度安排:
- 1/3计划
- 1/6编码
- 1/4构建测试和早期系统测试
- 系统测试,所有的构件已完成
Brooks 法则:向进度落后的项目中增加人手,只会使进度更加落后。(Adding manpower to a late software project makes it later)
外科手术队伍
对于10人小团队来说非常好的一种组织形式