1
 软件工程
1.4.4 2.4 软件过程改进

2.4 软件过程改进

软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划、制订及实施。它的实施对象就是软件企业的软件过程,也就是软件产品的生产过程,当然也包括软件维护过程,而并不关注其他的过程。

对于软件企业来说,软件过程是整个企业最复杂、最重要的业务流程,软件产品就是软件企业的生命,要改进整个企业的业务流程,最重要的就是改进它的软件过程。多年以来,人们意识到要想高效率、高质量和低成本地开发软件,必须以改善软件生产过程为中心,全面应用软件工程和质量管理手段。这是世界各国软件产业都要走的路。我国软件产业之所以落后,不是因为技术落后,而是因为对软件生产管理的落后。软件成熟度模型(CMM)就是结合质量管理和软件工程的双重经验而制定的一套针对软件生产过程的规范。由此可见,对软件生产过程的管理在整个软件企业的管理中起到了决定性的作用。

软件过程改进,是指在软件开发过程中对当前过程的执行及其结果的改进的一系列活动。涉及过程至少有3个层次。

(1)组织业务目标和方针,如缩短交付工期,提高技术有效性,减小延期率,降低交付缺陷率,提高用户满意度等。

(2)软件开发过程,如瀑布、迭代等,同时包括支持过程,如配置管理、质量保证等,还有管理过程。

(3)过程活动中使用的模板、方法、检查单等。

过程改进都要以组织业务目标为驱动,因此要针对过程中3个层次的不同,当前过程的目的、过程描述、活动执行的步骤、入口准则、出口准则、使用的方法和工具,当然也包括人员的技能要求等,以及涉及软件开发过程和支持过程等方面是否有存在影响过程目标和业务目标的地方。如果一个组织内其规范性比较弱,那么组织文化要与过程改进同时进行,管理层要营造支持改进的氛围并提供必要的基础设施,组织方针也要随之改变。当然,还要考虑待改进的地方对组织改进需要的优先级。

过程改进是一个系统工程,要讲究方法,有计划、有步骤地进行,这样做才能取得好效果。