第1章-焦油坑
编程系统产品的开发之艰辛,让人不禁深思这个行业的种种特质。这似乎是一个既充满乐趣又充满挑战的领域,给予人们满足内心创造渴望的机会,同时也引来了一系列的烦恼。
九倍的工作量差距揭示了独立开发构件程序和软件构件产品化的庞大差异。将构件整合成系统的过程,更是一场设计、集成和测试的漫长挑战。这些看似独立的构件,竟然在整合时展现出高昂的成本,这让我深思系统开发的复杂性。
作者描述了编程行业为人们提供的五种乐趣,从为他人开发有用的工具到将零部件组装成迷宫般的系统,以及面对不断学习的挑战,这些都是让人沉浸其中的动力。在纯粹的思维活动中工作,感受到介质的易驾驭,似乎让整个过程充满了神奇和魅力。
然而,随之而来的困扰也显而易见。追求完美被描绘为学习编程最艰难的部分,而将目标设定在他人手中,却必须依赖无法控制的事物,尤其是程序,似乎带有一层无奈。作者强调权威与责任的不等同,真正的权威来自每次任务的完成,这给人一种责任的沉甸感。
最后,作者描绘了接近项目完成时的情景,即使人们期望能够更快地收敛,实际情况却是越接近完成,进度越慢。同时,产品在完成前总是面临着陈旧过时的威胁,只有在实际需要时才会用到最新的设想,这使我对技术发展的现实问题有了更深刻的认识。
第2章-人月神话
缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素的总和影响还大
良好的烹饪需要时间,某些任务无法在不损害结果的情况下加快速度。
所有的编程人员都是乐观主义者:“一切都将运作良好”
由于编程人员通过纯粹的思维活动来开发,我们期待在实现过程中不会碰到困难。
但是,我们的构思本身是有缺陷的,因此总会有bug。
围绕着成本核算的估计技术,混淆了工作量和项目进展。人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的。
在若干人员中分解任务会引发额外的沟通工作量——培训和相互沟通
关于进度安排,我的经验是为1/3计划、1/6编码、1/4构件测试以及1/4系统测试。
作为一门学科,我们缺乏数据估计。
我们对自己的估计技术不确定,因此在管理和客户的压力下,我们常常缺乏坚持的勇气
Brooks法则:为进度落后的项目增加人手,只会使进度更加落后。
向软件项目中增派人手从三个方面增加了项目必要的总体工作量:任务重新分配本身和所造成的工作中断;培训新人员;额外的相互沟通。
第3章-外科手术队伍
一位首席程序员、类似于外科手术队伍的团队架构提供了一种方法——既能获得由少数头脑产生的产品完整性,又能得到多位协助人员的总体生产率,还彻底地减少了沟通的工作量。
同样有两年经验而且在受到同样培训的情况下,优秀的专业程序3 员的生产率是较差的程序员的10倍
标签:读后感,神话,项目,编程,进度,构件,工作量 From: https://www.cnblogs.com/po3a/p/17985704