什么是 ASPICE
ASPICE 现在越来越多地被 OEM 和零部件供应商提及和重视,几乎成为汽车行业的通用标准,那么什么是 ASPICE 呢?
发展历史
ASPICE 全称是 “Automotive Software Process Improvement and Capacity Determination”,汽车软件过程改进及能力评定,是汽车行业用于评价软件开发团队的研发能力水平的模型框架。
CMMI
ASPICE 模型最初是在 CMMI 基础上发展起来的。CMMI 全称是能力成熟模型集成(Capability Maturity Model Integration),是在 1994 年由美国国防部与卡内基-梅隆大学下属的软件工程研究中心以及美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力。
CMMI 基本上都采用 IDEAL 方法来进行过程改进,通过不断的分析差距、建立计划、实施行动、总结经验,来获得提升。
ASPICE 历史
ASPICE 于 2005 年正式发布,首版为 2.0 版本,经过不断发展更新,现在最新的 ASPICE 是 2018 年发布的 3.1 版本。
其实,ASPICE 是 SPICE 的一个分支 Automotive SPICE,医疗、航天等行业也制定了自己的行业 SPICE 标准。
ASPICE 详细
ASPICE 其实包含两部分:过程参考模型、过程评估模型。过程评估模型从过程参考模型中选择过程并增补指标,这些指标支持收集客观证据,使评估师能够根据能力维度对过程进行评定分配。
过程参考模型
过程参考模型基于 V 模型构造,ASPICE 过程参考模型概览如图所示。
ASPICE 将过程分成 3 个组别:主要生命周期过程、组织生命周期过程、支持生命周期过程。其中主要生命周期过程是最为重要且比较难以完成的部分。在 ASPICE 中的工程过程主要有系统工程和软件工程。系统工程和软件工程在 V 模型中十分醒目,也是整个 ASPICE 的精华所在。
双向可追溯性和一致性是 ASPICE 特别注重的点,但这种可追溯性和一致性在项目的实操过程中,审查员一般只能以抽查的方式检测。特别是一致性,工具是很验证检查出来的。
因此 ASPICE 要求,需求文档需要被验证,且需要有具体的标准定义。设计文档需要被评估,且评估准则可包括质量特性如模块化、可靠性、安全性(security)和可用性等。
过程评估模型
ASPICE 将过程评估模型分为:
- 过程实施指标 – 只适用于 L1
- 基本实践(BP)
- 工作产品(WP)
- 过程能力指标 – 适用于 L2 ~ L5
- 通用实践(GP)
- 通用资源(GR)
评估指标与过程能力的关系如图。
ASPICE 将层级分为六级:L0~L5。各级别过程能力的评定参考表如下图。
ASPICE 的不足及完善
从 ASPICE 的名称就能看出,ASPICE 的出发点在评估软件-“软件过程改进和能力测定”,因此 ASPICE 忽略了硬件和机械工程。
好在 ASPICE 加入了“插件”的概念。如图,粗体字的过程是 ASPICE 3.1 PRM/PAM 的一部分,而其它工程过程(机械工程、硬件工程)却不在 VDA QMC 授权下开发。机械工程、硬件工程需要 OEM 或者供应商自己定义。