本文共 1205 字,大约阅读时间需要 4 分钟。
项目滞后的的原因总结如下:
所有的程序员都是乐观主义,可能是因为程序员都比较年轻,而年轻人都是比较乐观的。所有项目进度的评估背后都有一个假设:一切都将运作良好,每一项任务仅花费它所“应该”花费的时间。
编程是一件创造性的活动,而创造性活动分为三个阶段:构思、实现和交流。软件最初只是作者脑子里的一个构思,然后通过代码等来讲它实现,最后,当别人用到这个程序的时候通过文档、注释等可以与作者进行思想上的沟通。
项目进度的评估发生在构思和实现之间,在项目构思完成之后,项目实现之前。这个时侯,我们无法得知自己的构思是否存在缺陷(似乎说存在多大的缺陷更为合理),我们只能依赖于一切都将运作良好的假设。
由于假设并不成立,因此项目延期似乎是不可避免的。
在项目延期之后,我们下意识的反应是增加人力,这必然是一个错误。
测试可以帮我们找出项目存在的bug,理论上我们的bug数量应该为零,但是bug数量会很多,并且永远也不会有最后一个。
我们认为,越早的找出bug,对项目整体进度越有好处。因此项目的测试应该随着开发工作的开始而开始,这也许就是现在测试驱动开发的理论吧。
软件开发工程中各部分占的比重:
项目的测试工作占用了一般的工作量,由此可见测试的重要性。但实际开发过程中很少有为测试分配这么多时间的,这导致测试所花费的时间往往占去一多半的工作量,因为由于对测试的不够重视,通常会导致许多bug不能被及早的发现。
在系统开发过程中,除了测试,进度都能够基本保证。
向进度落后的项目中增加人手,只会使进度更加落后。
本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/3416155.html,如需转载请自行联系原作者