软件过程评估



软件过程评估是对组织使用的软件过程进行的规范化检查,基于过程模型。评估包括识别和描述当前实践,识别优势和劣势领域,以及当前实践控制或避免软件质量、成本和进度方面重大问题的能力。

软件评估(或审计)可以分为三种类型。

  • **自我评估(第一方评估)**由组织内部人员执行。

  • **第二方评估**由外部评估团队执行,或组织接受客户的评估。

  • **第三方评估**由外部方执行(例如,供应商接受第三方评估以验证其与客户签订合同的能力)。

软件过程评估在开放和协作的环境中进行。它们用于帮助组织改进其软件过程,结果对组织保密。接受评估的组织必须有成员参与评估团队。

软件过程成熟度评估

软件过程评估的范围可以涵盖组织中的所有过程、选定的软件过程子集或特定项目。大多数基于标准的过程评估方法都基于过程成熟度的概念。

当评估目标是组织时,即使在连续应用相同方法的情况下,过程评估的结果也可能不同。导致结果不同的原因有两个:

  • 必须确定正在调查的组织。对于大型公司,组织的定义可能有多种,因此在连续评估中,实际评估范围可能会有所不同。

  • 即使在看起来相同的组织中,选择代表组织的项目样本也可能影响范围和结果。

当评估目标单元是项目级别时,评估应包括所有对项目成功或失败有意义的因素。它不应受给定过程成熟度模型的既定维度的限制。在此,评估实施程度及其有效性,并由项目数据证实。

当组织打算开始整体长期改进策略时,过程成熟度变得相关。软件项目评估应为独立评估,以确保客观性。

软件过程评估周期

根据 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 评估问卷
  • 审查问卷答复
  • 进行初步文档审查

现场评估阶段的活动包括:

  • 举行开幕会议
  • 进行访谈
  • 整合信息
  • 准备草案调查结果的演示文稿
  • 展示草案调查结果
  • 整合、评分和准备最终调查结果

报告结果阶段的活动包括:

  • 展示最终调查结果
  • 举行执行会议
  • 结束评估
广告