亲身体验软件项目管理中的十大误区

发表于:2008-06-27来源:作者:点击数: 标签:项目管理体验误区软件
随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计算机软件 开发 从“个人英雄”时代向团队时代迈进,计算机软件项目的管理也从“作坊式”管理向“软件工厂式”管理迈进。这就要求软件开发人员特别是软件 项目管理 人员更深一步地理解和
随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计算机软件开发从“个人英雄”时代向团队时代迈进,计算机软件项目的管理也从“作坊式”管理向“软件工厂式”管理迈进。这就要求软件开发人员特别是软件项目管理人员更深一步地理解和掌握现代软件工程的理论方法,完成思想观念上的转变。笔者在此分析了10个在现代项目管理中思想观念上容易陷入的误区,希望能够抛砖引玉,引发大家更多的思索和讨论。

  误区1:在项目的需求分析阶段,开发方与客户方在各种的问题的基本轮廓上达成一致即可,具体细节可以在以后填充。因为无论开始时有多么细致,以后对需求的修改几乎是必然的。

  分析:这是一种非常危险的思想。实际上许多软件项目失败的最主要的原因就是需求阶段对问题的描述不够细致,导致后来预算超出或者时间进度达不到要求。正确的做法是:在项目需求分析阶段,双方必须全面地尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。并且,在需求分析结束以后,双方还要建立可以直接联系的渠道,以尽早地对需求变动问题进行沟通。(范围的核实和项目验收都要根据范围基准进行。因此前期的范围说明书和范围的基线至关重要)

  误区2:软件项目的需求可以持续不断的改变,而且这些改变可很容易地被实现。

  分析:的确,在具体实际中由于种种原因客户方很难在需求分析阶段全面而准确地描述所有问题。随着开发进度的推进,往往会有一些需求的改变。而现代软件工程理论也利用软件的灵活性特点通过各种方式来适应这种情况。不过,这并不表明“软件项目的需求可以持续不断的改变,而且这些改变可很容易地被实现”。实践表明:随着开发进度的推进,实现软件需求更改所需要的代价呈指数形式增长。假定在需求分析阶段实现需求更改需要花费1倍的代价;那么,在系统设计和编码阶段,需要花费1.5-6倍的代价;在系统测试阶段需要花费10-20倍的代价;在软件版本发布以后,甚至可能要花费60-100倍的代价。由此可见,在项目开展过程中,软件需求的改变应当尽量早地提出。这样才可能花费少,容易被实现。(不应该称为误区了,现在估计谁都不会认为需求可以持续不断改变)

  误区3:软件程序主要由代码组成,因此编码阶段是整个软件项目的最重要的阶段,应该给与大量的时间,并且集中主要的资源。

  分析:与以前相比,由于软件的规模和复杂度的增加,以及半自动化软件代码开发平台的出现,现代软件项目管理的中心发生了转移——不是着重编码阶段,而是着重系统总体/详细设计阶段。一般说来,在现代软件项目管理中各种资源的合理分配比例是:项目论证、风险评估阶段3% ,项目需求分析阶段8%,系统总体/详细设计阶段45%,编码阶段10%,系统测试阶段34%。(这个跟软件项目的规模密切相关。对于规模小于2万行代码的,或者说采用敏捷或快速开发的,或者说架构已经确定的改进型号项目,编码时间至少要占30%;而对于源代码规模超过50万行的大型软件项目,重点则是在需求和系统设计上面,编码时间一般为10%)

原文转自:http://www.ltesting.net