1. 课程导入
各位好,我是老张。做了十几年汽车软件,今天咱们聊聊 ASPICE。
很多人第一次听到 ASPICE,觉得是个高大上的标准。其实说白了,它就是一套告诉你「怎么把汽车软件开发好」的流程框架。我刚开始接触时也觉得复杂,后来发现,它就是把那些优秀工程师的做事习惯,总结成了可复用的流程。
1.1 历史背景:为什么会有 ASPICE?
故事要从 2000 年代初说起。那时候汽车电子越来越复杂,但开发方式还很原始。我记得有个项目,ECU 软件出了问题,团队花了三周才定位到是需求写错了。这种事在当时太常见了。
为什么会这样?因为没有统一的开发标准。各家车企各搞一套,供应商今天按 A 的要求做,明天又要满足 B 的规范,质量完全靠个人经验。
2005 年,欧洲主要车企联合起来,基于 ISO 15504(也就是 SPICE)搞了个汽车行业的专用版本——ASPICE。它的全称是 Automotive SPICE,专门用来评估汽车软件开发过程的能力。
| 时间 | 事件 | 意义 |
|---|---|---|
| 2005 | ASPICE 1.0 发布 | 汽车行业有了自己的过程评估标准 |
| 2007 | ASPICE 2.0 | 增加了对系统级过程的关注 |
| 2015 | ASPICE 3.0 | 引入硬件过程,覆盖更全面 |
| 2017 | ASPICE 3.1 | 当前主流版本,细化了评估规则 |
核心要点:ASPICE 不是凭空造出来的,它是汽车行业对软件质量失控的回应。说白了,就是大家被坑怕了,才决定统一标准。
1.2 核心价值:它到底能带来什么?
我经常被问到:「老张,我们公司做 ASPICE 评估,到底图什么?」
答案其实很简单——可预测性。
没有 ASPICE 的时候,项目能不能按时交付、质量好不好,全看团队里有没有大神。有了 ASPICE,你就能把「靠运气」变成「靠流程」。我个人习惯用三个词概括它的价值:
- 透明:每个阶段做什么、产出什么,一目了然
- 可控:出了问题能快速定位,知道是需求、设计还是测试的锅
- 可改进:评估结果告诉你哪里弱,下次怎么改
举个例子。我曾经参与过一个项目,客户要求 ASPICE CL2 级。刚开始团队很抵触,觉得流程太繁琐。但做到一半,需求变更来了三次。要是以前,肯定乱成一锅粥。但因为有了 ASPICE 的变更管理流程,每次变更都有记录、有评审、有回归测试,最后项目反而提前两周交付了。
我的经验:别把 ASPICE 当成负担。它就像你开车时的导航,虽然有时候会提醒你绕路,但总比迷路强。
1.3 与 ISO 26262 的关系:两个标准怎么配合?
很多人搞不清 ASPICE 和 ISO 26262 的区别。我打个比方:
- ISO 26262 是「做什么」——它告诉你安全目标是什么,比如「这个功能失效的概率要低于 10^-8」
- ASPICE 是「怎么做」——它告诉你用什么流程来保证这些安全目标能实现
两者不是替代关系,而是互补关系。我见过不少项目,ISO 26262 的安全计划写得漂漂亮亮,但实际开发流程一塌糊涂。结果呢?安全评审时发现,需求没追溯、测试没覆盖,安全目标根本没法验证。
| 维度 | ASPICE | ISO 26262 |
|---|---|---|
| 关注点 | 过程能力 | 功能安全 |
| 核心问题 | 流程是否规范 | 风险是否可控 |
| 评估对象 | 开发过程 | 产品/系统 |
| 输出 | 能力等级(CL1~CL5) | ASIL 等级(A~D) |
| 典型应用 | 供应商能力评估 | 安全认证 |
注意:很多客户现在要求供应商同时通过 ASPICE CL2 和 ISO 26262 ASIL B 以上认证。别想着只做一个就能蒙混过关,两个都得抓。
1.4 评估模型概览:一张图看懂结构
ASPICE 的评估模型,说白了就是两大部分:过程参考模型(PRM) 和 过程评估模型(PAM)。
PRM 定义了有哪些过程,PAM 定义了怎么评估这些过程。我习惯用下面这张图来给团队做培训:
嗯,这张图我每次培训都会用。你注意看,左边 PRM 定义了「有哪些事要做」,右边 PAM 定义了「做得怎么样」。评估的时候,就是把两者结合起来看。
1.5 过程组与能力等级
ASPICE 3.1 定义了 32 个过程,分成三大组:
- 系统工程过程组(SYS):从系统需求到系统测试,共 4 个过程
- 软件工程过程组(SWE):从软件需求到软件测试,共 6 个过程
- 支持过程组(SUP):配置管理、质量保证等,共 8 个过程
能力等级从 CL0 到 CL5,共 6 级。我见过最多的要求是 CL2(已管理级),也就是「流程有定义、有执行、有证据」。说实话,能做到 CL2 的团队,在行业内已经算不错的了。
| 等级 | 名称 | 核心要求 |
|---|---|---|
| CL0 | 不完整 | 过程未执行或部分执行 |
| CL1 | 已执行 | 过程被执行,有产出物 |
| CL2 | 已管理 | 过程被规划、监控、调整 |
| CL3 | 已建立 | 过程基于组织级标准 |
| CL4 | 可预测 | 过程被量化管理 |
| CL5 | 优化中 | 过程持续改进 |
避坑指南:我曾经见过一个团队,为了冲 CL3,花了大半年写流程文档。结果评估时发现,文档写得漂亮,但实际开发还是老一套。记住,ASPICE 评估的是「你实际怎么做」,不是「你文档怎么写」。
好了,这一章就到这里。ASPICE 的框架你已经有了基本概念。后面我们会一步步深入每个过程组、每个能力等级,以及怎么在实际项目中落地。