《人月神话》读书笔记1
功能和易用性之间要达到平衡,系统的概念完整性决定了使用的容易程度
不能与系统基本概念进行整合的良好想法和特色,最好放到一边,不予考虑。如果出现了很多非常重要但不兼容的构想,就应该抛弃原来的设计,对不同基本概念进行合并,在合并后的系统上重新开始
概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。
而进度压力却要求很多人员来开发系统。有两种方法可以解决这种矛盾。
第一种是仔细地区分设计方法和具体实现。第二种是采用一种崭新的组建编程开发团队的方法。
而进度压力却要求很多人员来开发系统。有两种方法可以解决这种矛盾。
第一种是仔细地区分设计方法和具体实现。第二种是采用一种崭新的组建编程开发团队的方法。
调试和查错往往是线性收敛的,寻找最后一个错误比第一个错误将花费更多的时间
我们采用的估算技术隐含地假设人和月可以互换,错误地将进度与工作量相互混淆
用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。它暗示着人员数量和时间是可以相互替换的。
对于软件任务的进度安排,以下是我使用了很多年的经验法则:
1/3计划
1/6编码
1/4构件测试和早期系统测试
1/4系统测试,所有的构件已完成
1/3计划
1/6编码
1/4构件测试和早期系统测试
1/4系统测试,所有的构件已完成
Brooks法则:向进度落后的项目中增加人手,只会使进度更加落后。
项目的时间依赖于顺序上的限制,人员的数量依赖于单个子任务的数量。