人月神话3

在编程时,即编程人员将脑中的构思转换为程序的过程中,错误往往是无法避免的,因为人的思路中会隐藏着一些不完善的地方,这些不完善的地方只有在具体实现过程中才暴露出来,与此同时,由于编程人员都是乐观主义者,对于自己的思路的期待超出了其本身的完善度,编程人员通常以为“一切可以很好的运行”,造成了程序的实现过程具有很多预料之外
在软件完成过程中,项目管理人员在进度估算上也存在谬误,比如将人月作为工作量的单位,这种认知方式使得很多项目管理人员误以为人月是可以互换的,但在实际情况中,很多程序开发任务是不可分解的,人员的增加对于加快项目进度毫无益处。即使对于某些需要沟通的可分解任务,增加人员后也会带来一些额外的培训及沟通成本,由于软件开发是一种具有错综复杂关系的系统工作,随着人员的增加,这种沟通带来的额外增加的时间成本可能大于未进行分解前的时间成本消耗,反而造成开发时间的延长。同时由于过度的乐观主义,对于整个项目的系统测试时间往往分配的过少,而实际情况是在系统测试阶段会出现大量的未知的错误,在项目即将发布的时候,这些问题对于整个团队将会产生巨大的压力和高昂的代 
软件开发的项目进度估算过程,大多数时候仅仅凭借项目经理的直觉进行判断,当客户给予的压力过大时,项目经理极其容易做出不合理的项目进度安排。
在项目进行过程中,如果发生进度落后的情况,项目经理难免会下意识的增加项目人手,但是,增加项目人数会带来培训,交流的额外时间消耗,进而很可能造成“Adding manpower to a late software project make it later”的可怕状态,抑或是项目经理只能临时减少项目中的任务,已完成项目进度。
综上,项目开发过程中,缺乏合理的项目进度安排极可能造成项目的滞后,因此在项目开始前,就要对项目进度,项目工作量进行合理的计算,并未项目最终的系统测试留下充裕的时间,保证项目的容错性。

猜你喜欢

转载自www.cnblogs.com/1983185414xpl/p/10414397.html