小项目实施软件配置管理探析
目前,由美国软件工程学会(SEI)开发的软件能力成熟度模型
(CMM,Capability Maturity Model),已经在软件过程及质量改进方面被广
泛接受,但如何在商业驱动的软件过程改进中有效地使用这一模型,特别是针对小
型组织和小型工程项目,仍存在着许多误解。本文就这个问题进行尝试性的探讨,
并对 CMM 二级的软件配置管理关键过程域的执行予以描述。
一、小组织/小项目与 CMM
小组织/小项目必须引入标准的软件能力成熟度模型,否则就不可能成为真正
的软件开发企业。在全面接受 CMM 理念的同时,最为急需导入的是软件配置管理
关键过程域,要不失时机地上线使用软件配置管理工具,以便支撑项目实施。项目
承制方不仅能在开发过程中受益,最为实际的是通过软件基线的界定,能形成阶段
性产品。这些产品是项目开发团队理应关注的对象,也是市场部经理与客户方博弈
的砝码。小组织/小项目在执行软件配置管理关键过程域中,应该完全按照规范操
作,不能做任何裁剪,在组织结构与角色划分上尽量实现 4 个目标、25 个关键实
践及其描述的各种活动。
1.小项目/小组织
CMM 能否被用于小项目/小组织的问题中,关于“小”的定义一直是模糊难解的。
其中,小项目到微小项目是在小组软件过程(TSP,Team Software
Process)的范围中,而个人的开发努力则在个体软件过程(PSP,Personal
Software Process)的范围中。TSP 和 PSP 阐明了 CMM 的概念是如何应用到小
项目中的。
2.PSP 和 TSP
个体软件过程是一种可用于控制、管理和改进个人工作方式的自我改善过程,
是一个包括软件开发表格、指南和规程的结构化框架。PSP 为基于个体和小型群组
软件过程的优化提供了具体而有效的途径,譬如,如何制定计划,如何控制质量,
如何与其他人相互协作等等。在软件设计阶段,PSP 的着眼点在于软件缺陷的预防,
其具体办法是强化设计结束的准则,而不是设计方法的选择。
个体软件过程与具体的技术(程序设计语言、工具或者设计方法)相对独立,
其原则能够应用到几乎任何软件工程任务之中。个体软件过程应达到:
①说明个体软件过程的原则;
②帮助软件工程师做出准确的计划;
③确定软件工程师为改善产品质量要采取的步骤;