也谈软件开发项目管理(一)

思捷达顾问 (2002/1)

 
 

  比尔·盖茨奇迹般地因DOS及WINDOWS软件而成为世界首富,随着他被看成英雄,软件开发也常被认为是少数几个英雄人物的成果。因此,与一般的研发项目不同,软件开发常常被认为是由少数人的灵感或勤奋程度决定的,是不可控的。一般的研发项目,如果遇到超预算、项目延期等,项目经理一定会非常紧张,想尽一切办法来挽救,如果不是的话,可能就会做好卷铺盖走人的准备了。但是软件项目不同,由于大家都认为其不可控,所以如果项目落后的时间只有20%左右的话,项目组很可能就会开庆功宴,而项目经理可能就会获得升职、加薪了。

  软件开发的确是与其它产品的开发不同,如汽车的开发,可以很明确地分成几个系统,如底盘、车身、发动机等,每个系统又可分为总成,如底盘可分为悬架、制动、变速器、转向等,如此这般,对整车的要求就由具体的、看得见的不同部分满足了,也就比较好跟踪其进度及质量,总而言之,产品是看得见的。而软件产品则不同,具体表现在:

   一、 项目需求变化难于把握:客户的要求也即项目的需求往往是不明确的,也很难用统一的标准来衡量。

  二、 过程难于控制:常常是直到项目快结束时才知道可否按时完成。

  三、 任务难于量化、计划可行性差:软件产品较难衡量,常常是靠感觉进行。项目经理对风险缺乏充分的考虑,造成计划可行性差。

  四、 版本管理混乱、项目间可继承性差:各个项目组间彼此独立,重复开发多。

  五、 缺乏可共同执行的标准:公司没有统一的标准,各项目组各自为政,成员在不同项目时遵守不同的标准,导致无所适从。

  综上所述,软件开发过程常常处于无序状态,较难监控。但是,是否软件开发只能是这样状态呢?也不尽然,众所周知,印度就有不少软件企业的开发是规范的,可以管理的。也正因为此,印度成为世界上最大的软件输出国。其在软件开发上的经验是一个主要原因,CMM在印度的流行也功不可没。一般说来,印度的软件公司从几个方面来对开发项目进行管理:

  一、 项目生命周期;

  二、 项目进度管理;

  三、 项目规模的估计;

  四、 软件质量控制;

  五、 软件配置管理;

  六、 风险管理;

  七、 项目计划、监督及控制。

  接下来将就上述七个问题分别阐述,如何进行软件开发的项目管理,提高软件开发的管理水平,保质、保量地完成开发任务。