软件过程评估
软件过程评估是对组织使用的软件过程进行的规范化检查,基于过程模型。评估包括识别和描述当前实践,识别优势和劣势领域,以及当前实践控制或避免软件质量、成本和进度方面重大问题的能力。
软件评估(或审计)可以分为三种类型。
**自我评估(第一方评估)**由组织内部人员执行。
**第二方评估**由外部评估团队执行,或组织接受客户的评估。
**第三方评估**由外部方执行(例如,供应商接受第三方评估以验证其与客户签订合同的能力)。
软件过程评估在开放和协作的环境中进行。它们用于帮助组织改进其软件过程,结果对组织保密。接受评估的组织必须有成员参与评估团队。
软件过程成熟度评估
软件过程评估的范围可以涵盖组织中的所有过程、选定的软件过程子集或特定项目。大多数基于标准的过程评估方法都基于过程成熟度的概念。
当评估目标是组织时,即使在连续应用相同方法的情况下,过程评估的结果也可能不同。导致结果不同的原因有两个:
必须确定正在调查的组织。对于大型公司,组织的定义可能有多种,因此在连续评估中,实际评估范围可能会有所不同。
即使在看起来相同的组织中,选择代表组织的项目样本也可能影响范围和结果。
当评估目标单元是项目级别时,评估应包括所有对项目成功或失败有意义的因素。它不应受给定过程成熟度模型的既定维度的限制。在此,评估实施程度及其有效性,并由项目数据证实。
当组织打算开始整体长期改进策略时,过程成熟度变得相关。软件项目评估应为独立评估,以确保客观性。
软件过程评估周期
根据 Paulk 及其同事(1995 年)的说法,基于 CMM 的评估方法使用六步循环。它们是:
选择团队 - 团队成员应是软件工程和管理方面的专业人士。
待评估站点的代表填写标准过程成熟度问卷。
评估团队根据 CMM 关键过程域分析问卷答复,并确定需要进一步探索的领域。
评估团队进行现场访问,以了解站点采用的软件过程。
评估团队列出调查结果,其中确定了组织软件过程的优势和劣势。
评估团队准备关键过程域 (KPA) 配置文件分析,并将结果呈现给合适的受众。
例如,评估团队必须由 SEI 授权的首席评估员领导。团队必须由 4 到 10 名成员组成。至少有一名团队成员必须来自接受评估的组织,并且所有团队成员必须完成 SEI 的 CMM 简介课程(或同等课程)以及 SEI 的 CBA IPI 团队培训课程。团队成员还必须满足一些选拔指南。
关于数据收集,CBA IPI 依赖于四种方法:
- 标准成熟度问卷
- 个人和集体访谈
- 文档审查
- 评估参与者审查草案调查结果的反馈
SCAMPI
标准 CMMI 过程改进评估方法 (SCAMPI) 旨在满足 CMMI 模型的要求(软件工程研究所,2000 年)。它也基于 CBA IPI。CBA IPI 和 SCAMPI 都包含三个阶段:
- 计划和准备
- 在现场进行评估
- 报告结果
计划和准备阶段的活动包括:
- 确定评估范围
- 制定评估计划
- 准备和培训评估团队
- 对参与者进行简要评估
- 管理 CMMI 评估问卷
- 审查问卷答复
- 进行初步文档审查
现场评估阶段的活动包括:
- 举行开幕会议
- 进行访谈
- 整合信息
- 准备草案调查结果的演示文稿
- 展示草案调查结果
- 整合、评分和准备最终调查结果
报告结果阶段的活动包括:
- 展示最终调查结果
- 举行执行会议
- 结束评估