2. ASPICE核心概念:过程参考模型、过程能力等级、评定模型,以及它们对项目的实际意义
好,咱们直接切入正题。这一章要聊的,是ASPICE的三大基石:过程参考模型、过程能力等级、评定模型。很多刚接触ASPICE的朋友,一上来就被这些术语搞懵了。其实没那么玄乎,我换个说法你就明白了。
说白了,这仨东西就是一套“体检标准”。
- 过程参考模型:告诉你“体检要查哪些项目”。
- 过程能力等级:告诉你“每个项目能打几分”。
- 评定模型:告诉你“怎么打分才公平”。
嗯,就这么简单。下面我一个一个拆开讲。
2.1 过程参考模型(Process Reference Model, PRM)
过程参考模型,你可以把它想象成一张“汽车电子开发的全景地图”。它把整个开发活动,拆成了一个个标准化的“过程”。
ASPICE的PRM里,一共定义了32个过程。这些过程分成了三大类:
| 过程类别 | 缩写 | 包含哪些过程(举例) |
|---|---|---|
| 主要生命周期过程 | ENG | 需求获取、系统需求分析、系统架构设计、软件需求分析、软件详细设计、软件构建、软件集成测试、系统集成测试等 |
| 支持生命周期过程 | SUP | 配置管理、变更管理、问题解决管理、质量保证、验证、确认等 |
| 组织生命周期过程 | MAN | 项目管理、过程改进、重用管理等 |
我个人习惯,把PRM看作是“开发团队的菜谱”。你想想看,如果每个团队都按自己的理解去开发,那项目一多,肯定乱套。PRM就是告诉你:这道菜(比如“软件需求分析”),应该放什么料(输入),用什么火候(活动),最后出锅什么样(输出)。
实际意义:PRM给项目提供了一个“共同语言”。不管是德国总部的架构师,还是中国分部的测试工程师,大家一说“SYS.2(系统需求分析)”,就知道要干什么。这能省掉多少扯皮的功夫啊!
2.2 过程能力等级(Process Capability Levels)
有了菜谱(PRM),接下来就要看你的厨艺水平了。这就是过程能力等级要干的事。
ASPICE把过程能力分成了6个等级,从0级到5级:
| 等级 | 名称 | 一句话解释 |
|---|---|---|
| 0级 | 不完整级 | 基本没做,或者做了但没证据。 |
| 1级 | 已执行级 | 过程被执行了,输出了结果。 |
| 2级 | 已管理级 | 过程被计划、监控、调整了。 |
| 3级 | 已建立级 | 过程有标准流程,并且被制度化。 |
| 4级 | 可预测级 | 过程能用数据量化管理。 |
| 5级 | 优化级 | 过程能持续改进。 |
这里我要特别强调一下。很多项目一上来就追求“3级”,觉得越高越好。其实不是这样的。
为什么? 因为等级越高,需要的管理成本也越高。你想想看,一个只有5个人的小团队,非要搞一套复杂的量化管理(4级),那不是自找麻烦吗?
我的建议:先老老实实把1级和2级做扎实。我在项目中遇到过,有些团队连“需求变更记录”都做不好,就急着去搞“过程制度化”。结果呢?评审的时候,评审员一问三不知,全露馅了。
2.3 评定模型(Assessment Model)
最后,谁来打分?怎么打分?这就是评定模型的事了。
评定模型,其实就是一本“评分手册”。它把PRM里的每个过程,都对应到能力等级上,并且给出了详细的评定指标。
评定模型里有两个核心概念:
- 过程能力指标(PA):比如PA 1.1(过程执行)、PA 2.1(执行管理)、PA 2.2(工作产品管理)等。每个PA下面,又有一堆具体的“实践”。
- 评定证据:评审员不是凭感觉打分的。他们要看证据——文档、会议记录、工具日志、代码评审记录等等。
嗯,这里要注意。评定模型不是用来“考试”的,它是用来“体检”的。我见过太多团队,为了通过ASPICE评定,临时补文档、补记录。结果呢?评定过了,项目还是一团糟。
避坑指南:我曾经辅导过一个项目,他们为了达到2级,把所有的“变更请求”都补了一遍。但补的日期和实际开发日期对不上。评审员一眼就看出来了。结果不仅没加分,反而被扣了“诚信分”。所以,千万别造假!
2.4 三者如何协同工作?
好了,三个概念都讲完了。它们是怎么一起工作的呢?
我举个例子。假设你正在开发一个ADAS(高级驾驶辅助系统)项目。
- PRM告诉你:你需要做“软件需求分析”(SWE.1)。你得把系统需求,分解成软件需求。
- 能力等级告诉你:你的目标是多少级?如果是2级,那你的“软件需求分析”过程,不仅要输出需求文档(1级),还要有计划、有监控、有变更管理(2级)。
- 评定模型告诉你:评审员会怎么检查?他们会看你的需求文档有没有评审记录?需求变更有没有走流程?需求有没有双向追溯?
你看,这三个东西是环环相扣的。没有PRM,你连做什么都不知道。没有能力等级,你不知道做到什么程度算好。没有评定模型,你没法客观地评价自己。
总结一下:对项目来说,这三者的实际意义就是——让“怎么做”有标准,“做多好”有尺度,“好不好”有依据。别把它当成负担,把它当成你保护项目质量的“护身符”。
下一章,我会聊聊怎么把这些概念,落地到敏捷开发的日常迭代里。到时候,你会发现ASPICE其实没那么可怕。