。目前,无论是软件系统的研发公司还是政府机构都在积极将软件项目管理引入信息系统开发建设活动中,对开发整个过程实行有效的科学管理,它贯穿于信息系统开发的整个生命周期。
软件项目是一种特殊的项目,它创造的产品或者服务是逻辑载体,没有具体的形状和尺寸,只有逻辑的规模和运行的效果。软件项目不同于其他项目,不仅是一个新领域而且涉及的因素比较多,管理也比较复杂。软件项目除具有一般项目的特点外,有其自己的特点,在做软件项目管理的过程中只有了解软件项目的特点,才能有针对性的选择合适的管理方法,使项目取得成功。软件项目主要有以下特点:
(1)软件项目是一种逻辑实体,不是具体的物理实体,它具有抽象性。这使得软件项目与工程实体有很大的区别。
(2)软件的生产与硬件不同,开发过程没有明显的制造过程,也不存在重复生产过程。
(3)软件没有硬件的机械磨损和老化问题。然而,软件也存在退化问题,在软件生存期中,软件环境的变化将导致软件失效率的提高。
(4)软件开发至今没有摆脱手工的开发模式,软件产品基本上是“定制”的,做不到利用现有的软件组件组装成所需要的软件。
(5)软件本身是复杂的。它的复杂性源于应用领域实际问题的复杂性和应用软件技术的复杂性。
(6)软件的成本相当高。软件开发需要投入大量的、复杂的、高强度的脑力劳动,因此成本比较高。
(7)软件开发和软件项目管理工作涉及到很多社会因素,要受到机构政治、文化、决策体系和管理方式的限制。
以上这些特点,在系统开发过程中将导致软件系统在需求开发阶段往往是系统建设意图不明,项目目标不清楚,很难将其具体化。导致项目的不确定性,软件项目多数涉及企业或政府部门的管理,而管理本身就是不确定的,另一方面,软件项目的不确定性也指在执行过程中还会遇到各种始料未及的“风险”,使得项目不能按原有的计划来运行。导致需求范围不好界定,用户需要的东西自己说不清或不容易被开发人员理解,项目范围需要在项目实施过程中不断清晰。使得项目具有弹性,不同的开发单位,不同的项目经理去做相同的项目,结果会有很大区别。使得项目建设时间具有紧迫性,任何项目都有周期限制,但是软件项目的特点决定了其在这方面有更加严格的要求。随着信息技术的飞速发展,软件项目的生命周期越来越短,时间甚至成为项目成功的决定性因素。使得项目具有独特性,按照项目定义可知,每一个项目都是惟一的,世界上没有完全一样的两个项目。但是这一特性在软件项目领域表现得更为突出,软件项目不仅向客户提供产品,更重要的是根据客户的要求提供不同的解决方案。即使有现成的解决方案,也需要根据客户的特殊要求进行一定的客户化工作。
软件项目管理的一般过程
软件项目管理有四个阶段:项目启动、项目规划、项目跟踪控制、项目结束。每个阶又有各自的过程。
启动是项目管理的第一个阶段,该阶段主要确定项目的目标和范围。其中包括项目开发的周期,软件要完成的主要功能,软件的限制条件、性能、稳定性。这一阶段,项目的范围要进行明确的定义,项目目标必须可实现度量。这一阶段如果管理的不好,将会导致项目的最终失败。项目规划是建立项目行动指南的基准,该阶段包括软件项目的估算、风险分析、进度规划、项目参与人员的选择与配备。项目跟踪控制包括按计划执行项目和控制项目,以便使项目在预算内、按进度、使用户满意的完成。这阶段包括:测量实际的进度,并与计划进度相比较。项目结束阶段主要是确认项目实施的各项成果,进行项目的接交合清算,同时对项目进行最后的评审,并对项目