1.2.3 软件项目管理的内容和目的

软件项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了软件开发不能按时提交、预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是,软件开发者逐渐重视软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31%的项目未做完就被取消,53%的软件项目进度通常要延长50%的时间,只有9%的软件项目能够及时交付并且费用也控制在预算之内。

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。

软件项目管理的内容主要包括:

(1)软件项目范围管理;

(2)软件项目进度管理;

(3)软件项目质量管理;

(4)软件项目成本管理;

(5)软件项目风险管理;

(6)团队和沟通管理;

(7)软件配置管理;

(8)软件过程控制。

软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期、按质完成软件交付用户使用。而研究软件项目管理是为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则、方法,同时避免前人的失误。

软件项目管理和其他的项目管理相比有特殊性:首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证;其次,软件系统的复杂性导致了开发过程中各种风险难以预见和控制。例如,Windows操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理有上百个。这样庞大的系统如果没有很好的管理方式,其软件质量是难以想象的。