项目进度为何总是估算失败,作者从以下几个方面进行了论述:
1.程序员的乐观主义
所有的程序员都是乐观主义?我怎么感觉不太像呢,不是还有个词叫“码农”的嘛......自从团队合作开始之后,就必须有程序员去从事一些无关紧要、琐碎的事情,他们已经感觉不到创造新事物的快乐,只有日复一日的重复劳动。
2.对人月的错误观念
增加人手不能提高工作的效率?估计这会让很多项目经理感到吃惊。“软件开发本质上是一项系统工作----错综复杂关系下的一种实践,沟通、交流的工作量非常大”。增加人手所带来的沟通成本远高于所增加的劳动力,同样,员工的流动对项目的工作也有极大的影响,没有人能够把自己的所知完整的传递下去。
3.系统测试的滞后
为什么测试的时候才发现那么多问题呢?是开发人员太平庸,还是系统太过复杂?如果由开发人员自己做测试而取消测试人员,能否解决这个问题呢?
4.估算缺乏依据
估算能有切实的依据吗?也许功能都开发得差不多了,但是谁能说测试不会发现新的问题而导致大的修改呢?