软件流程评估

软件流程评估是基于流程模型对组织使用的软件流程进行规范检查。评估包括识别和描述当前实践、确定优势和劣势领域,以及当前实践控制或避免导致(软件)质量、成本和进度不佳的重大原因的能力。

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

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

  • 第二方评估由外部评估团队执行,或由客户对组织进行评估。

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

软件过程评估是在开放和协作的环境中执行的。它们供组织使用,以改进其软件流程,其结果对组织保密。接受评估的组织必须有成员加入评估团队。

软件过程成熟度评估

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

当评估目标是组织时,过程评估的结果可能会有所不同,即使是连续应用相同方法也是如此。结果不同有两个原因。它们是,

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

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

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

当组织打算实施总体长期改进战略时,过程成熟度就变得重要。软件项目评估应该是独立评估,以便客观。

软件过程评估周期

根据 Paulk 及其同事 (1995) 的说法,基于 CMM 的评估方法使用六步周期。它们是−

  • 选择一个团队 - 团队成员应该是精通软件工程和管理的专业人士。

  • 要评估的站点的代表完成标准流程成熟度问卷。

  • 评估团队对问卷答复进行分析,并根据 CMM 关键过程领域确定需要进一步探索的领域。

  • 评估团队进行现场访问,以了解软件流程,然后访问站点。

  • 评估团队列出一份发现清单,确定组织软件流程的优势和劣势。

  • 评估团队准备关键过程领域 (KPA) 概况分析,并将结果呈现给适当的受众。

例如,评估团队必须由授权的 SEI 领导领导评估员。团队必须由四到十名团队成员组成。至少一名团队成员必须来自被评估的组织,并且所有团队成员都必须完成 SEI 的 CMM 入门课程(或同等课程)和 SEI 的 CBA IPI 团队培训课程。团队成员还必须符合一些选择准则。

关于数据收集,CBA IPI 依赖四种方法 −

  • 标准成熟度问卷
  • 个人和小组访谈
  • 文档审查
  • 与评估参与者审查初稿结果后的反馈

SCAMPI

标准 CMMI 流程改进评估方法 (SCAMPI) 是为了满足 CMMI 模型要求而开发的 (软件工程研究所,2000)。它也基于 CBA IPI。 CBA IPI 和 SCAMPI 都包含三个阶段 −

  • 计划和准备
  • 进行现场评估
  • 报告结果

计划和准备阶段的活动包括 −

  • 确定评估范围
  • 制定评估计划
  • 准备和培训评估团队
  • 对参与者进行简要评估
  • 管理 CMMI 评估问卷
  • 检查问卷答复
  • 进行初步文件审查

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

  • 召开开幕会议
  • 进行访谈
  • 整合信息
  • 准备初稿调查结果的陈述
  • 展示初稿调查结果
  • 整合、评估和准备最终调查结果

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

  • 展示最终调查结果
  • 召开执行会议
  • 总结评估