《人月神话》—危险的神话

“成本的确随开发产品的人数和时间的不同,有着很大变化,进度却不是如此。因此我认为用人月作为衡量一项工作的规模是一个危险和带有欺诈性的神话。”当我读到本书中这段时着实很惊讶,因为这与我从小被灌输的思想相悖,诸如“众人拾柴火焰高”、“团结就是力量”之类。难道是我们的古语有错?亦或是本书的作者在博人眼球故意说些胡扯的话?带着疑问继续读了下去,发现谁都没有错,只是适用的情况有些不同。

本书作者这句话非常典型的适用场景就是软件工程领域中。因为在软件开发过程中,很多任务虽然可以分解为许多个子任务,但这些子任务之间需要不断地相互沟通而后交流,有时候就类似于操作系统中进程间的同步与互斥,无论你这个子任务增加多少人,你必须等另一个子任务完成或实施到某个阶段才能开始这个子任务,同时,由于增加进来不少新人,整个项目组又需要指派有经验的组员去培训指导这些新人,一定程度上又拖慢了整个项目的进度。

但有种情况下,增加人手,能够加快项目进度,就是项目中的各任务之间毫无关联或者关联很少。但这种情况基本不可能出现。其实这也是我们老师经常强调的一点,在使用面向对象的编程语言写代码时,要尽量做到“高内聚,低耦合”,这样我们在后期维护和修改的时候就会很方便快捷,这不也是想让我们令对象之间的关联越少越好嘛?

所以,我就在想,JAVA、PHP、C++、C#等面向对象编程语言的开发团队应该是都熟读和仔细思考过《人月神话》书中的内容和思想。

原文地址:https://www.cnblogs.com/ustc-anmin/p/9663707.html