我们理解的也好,不理解的也好,描述都应该简短精练。 ---塞缪尔·巴特勒,讽刺诗
1.1 编程系统产品(Programming Systems Product)开发的工作量是供个人使用的、独立开发的构件程序的九倍。我估计软件构件产品化引起了3倍工作量,将软件构件整合成完整系统所需要的设计、集成和测试又强加了3倍的工作量,这些高成本的构件在根本上是相互独立的。
1.2 编程行业“满足我们内心深处的创造渴望和愉悦所有人的共有情感”,提供了五种乐趣:
(1) 创建事物的快乐
(2)开发对其他人有用的东西的乐趣
(3)将可以活动、相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力
(4)面对不重复的任务,不间断学习的乐趣
(5)工作在如此易于驾驭的介质上的乐趣——纯粹的思维活动,其存在、移动和运转方式完全不同于实际物体
1.3编程行业的六种苦恼:
(1)将做事方式调整到追求完美,是学习编程的最困难部分
(2)由其他人来设定目标,并且必须依靠自己无法控制的事物(特别是程序);权威不等同于责任
(3)实际情况看起来要比这一点好一些:真正的权威来自于每次任务的完成
(4) 任何创造性活动都伴随着枯燥艰苦的劳动,编程也不例外
(5) 人们通常期望项目在接近结束时,(bug、工作时间)能收敛得快一些,然而软件项目的情况却是越接近完成,收敛得越慢
(6)产品在即将完成时总面临着陈旧过时的威胁
人月神话总结:点击打开链接