人月指工作量单位,即人力(人)和时间(月),若3个人花2个月完成项目则工作量为6人月。人月神话意味着人月是具有欺骗性质的,因为它暗示人员数量和时间是可以相互替换的,但实际上人月之间的平衡不是线性关系,5个人2个月完成的项目10个人1个月并不一定能完成。
作者的Brooks准则:向进度落后的软件项目添加人手只会使进度更加落后。因为添加新成员需要沟通、培训的成本,需要考虑重新安排开发人员工作,以及无法逾越的关键路径。向项目添加人力,越早期越安全。
作者进度安排的经验是1/3计划、1/6编码、1/4组件测试是和1/4系统集成测试。
编程为什么会有趣?作为回报,它的从业者期望得到什么样的快乐?
首先,这种快乐是一种创建事物的纯粹快乐。
其次,这种快乐来自于开发对他人有用的东西。
第三,快乐来自于整个过程中体现出的一股强大的魅力。
第四,这种快乐是持续学习的快乐,它来自这项工作的非重复特性。
最后,这种快乐还来自于在易于驾驭的介质上工作。
职业的苦恼
首先,苦恼来自追求完美。
其次,苦恼来自由他人来设定目标、供给资源和提供信息。
下一个苦恼——概念性设计是有趣的,但寻找琐碎的bug却只是一项重复性的活动。
最后一个苦恼,有时也是一种无奈——当投入了大量辛苦的劳动,产品在即将完成或者终于完成的时候,却显得陈旧过时。
编程,是一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。
我过去在编程时积极性不高,编程效率不高。书中建议我们应该培养对编程的快乐,培养创建事物的纯粹快乐。