软件过程评估


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

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

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

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

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

软件过程评估是在开放和协作的环境中进行的。它们供组织用来改进其软件流程,并且结果对组织保密。被评估的组织必须有评估小组的成员。

软件过程成熟度评估

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

当评估目标是组织时,即使连续应用同一方法,过程评估的结果也可能不同。造成不同结果的原因有两个。他们是,

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

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

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

当组织打算实施整体长期改进策略时,流程成熟度就变得至关重要。软件项目评估应该是独立的评估才能客观。

软件过程评估周期

根据 Paulk 及其同事 (1995) 的说法,基于 CMM 的评估方法使用六步循环。他们是 -

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

  • 待评估场所的代表填写标准流程成熟度调查问卷。

  • 评估小组对问卷答复进行分析,并根据 CMM 关键过程领域确定值得进一步探索的领域。

  • 评估小组进行现场访问,以了解现场遵循的软件流程。

  • 评估团队会生成一份调查结果列表,以确定组织软件流程的优势和劣势。

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

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

在数据收集方面,CBA IPI 依赖于四种方法 -

  • 标准成熟度调查问卷
  • 个人和小组访谈
  • 文件审查
  • 与评估参与者一起审查调查结果草案的反馈

斯坎皮

标准 CMMI 过程改进评估方法 (SCAMPI) 的开发是为了满足 CMMI 模型要求(软件工程学院,2000 年)。它也是基于 CBA IPI 的。CBA IPI 和 SCAMPI 均由三个阶段组成 -

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

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

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

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

  • 召开开幕会议
  • 进行采访
  • 整合信息
  • 准备调查结果草案的演示
  • 提出调查结果草案
  • 整合、评级并准备最终结果

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

  • 呈现最终调查结果
  • 召开行政会议
  • 总结评估