软件项目管理(第二版)
上QQ阅读APP看书,第一时间看更新

1.3 过程管理

1.3.1 软件过程

过程(Process),通常理解是为完成一个特定的目标而进行的一系列活动或操作步骤。在ISO 9000:2000《质量管理体系基础和术语》中,将过程定义为“一组将输入转化为输出的相互关联或相互作用的活动”。从过程定义中,我们知道,活动的实施是按时间先后次序,围绕输出结果(目标)展开的。在活动实施过程中,相互影响并在组织领导下开展。过程可分为产品的实现过程、管理过程和支持过程,如图1-1所示。

图1-1 软件过程

软件过程(Software Process),是人们用来开发和维护软件及相关产品(如软件项目计划、设计文档、用户手册)的活动、方法、实践和改进的集合。对于软件过程的理解,不能简单地理解为开发流程,因为要管理的不仅是软件开发的活动序列,而是软件开发的最佳实践,包括:流程、技术、产品、活动间关系、角色、工具等,是软件开发过程中各个因素的结合。软件过程管理的目的就是最大限度地提高软件产品的质量和软件开发过程的生产率。产品的质量和过程的生产率依赖于过程、人和技术这三个要素。因此为了更有效地实现软件过程管理,除了技术和人才以外,规范和改进软件过程十分重要。

在软件项目实施过程中,如果项目人员将关注点只放在最终输出(产品)上,不关注开发过程,项目依赖于开发人员个人的素质和能力,将导致开发的产品质量不同,有的质量好,有的质量差。反之,如果将项目的关注点放在项目的开发过程,不管谁来做,也不管什么需求,都采用统一的开发过程规范,产品的质量就会是一样的。这种情况下,产品的质量依赖于企业的开发过程,不依赖于个人能力。

开发过程对于软件产品来说非常重要。软件产业发展中的重要问题就是注重循序渐进的积累,不但是技术实践的积累,更重要的是管理实践的积累,积累项目中的各个环节的实践经验和管理经验。