ASPICE 3.1发布6年多了,这6年,它也经历了生命的起伏和岁月的无常,从热火朝天到被人嫌弃。终于,预热了一年多的4.0于2023年11月29日正式释放,我们再次做一个系列的深度解读,看它能否打一个翻身仗。
这次解读的方式略有不同。因为大家都比较熟悉3.1,也想知道4.0是如何“改邪归正”的,所以我们会把3.1与4.0的内容放在一起:
3.1独有而4.0删除的会用删除线。
3.1到4.0没变化的会用斜体。
4.0新增的会用正体加粗。
本系列会分三篇文章,分别是基础运行逻辑(ASPICE标准的框架、基础概念与评估逻辑)、ASPICE L1(过程参考模型)和ASPICE L2~L5(不同的过程能力等级),本文是第一篇。
1
介绍
1.1 范围
ASPICE面对的对象是嵌入式车载系统开发的过程能力,这里要注意是“系统”,而非是纯“软件”。
它提供了两个模型:
一个是过程参考模型(Process Reference Model,PRM),类似于范文,给出了基本的成文要求。
一个是过程评估模型(Process Assessment Model,PAM),类似于作文竞赛的阅卷准则,告诉你得分点在哪里,怎么打分,怎么综合评级。
为了让例子的逻辑更贴近ASPICE,多说一句,相当于阅卷准则是一份,比如,从主题立意、中心思想、内容结构、语言运用、字迹字体等不同得分点进行。但你需要写多份作文,比如,诗歌、散文、议论文、记叙文等不同的文体,因为我们的过程不是只有一个。
总结一下,一份阅卷准则+多份不同文体的范文=ASPICE,你基于自己的能力和风格,写出自己的这多份作文,阅卷老师(ASPICE评估师)来对你的每篇作文进行打分,综合之后,会给出你每篇作文是几类文的评级,随后也可以提出提升写作能力的建议。
1.2. 术语
这个章节给出了对术语使用应遵循的优先顺序:
ISO/IEC 33001、ISO/IEC/IEEE 24765、ISO/SAE 21434 和 ISO/IEC/IEEE 29119、本标准的附录C、PMBOK指南(第4版)及PAS 1883:2020。
1.3. 缩略语
讲了常见的缩略语,略。
2
符合性声明
这个章节没什么具体内容,就是强调了ASPICE符合ISO/IEC33004,算是表明正统和合法性。
3
过程能力确定
可以用来阐释使用工程评估模型确定过程能力的逻辑,我们还是将其比作作文阅卷。
横轴是PRM(过程参考模型)中的各个过程,也就是不同文体的范文,即各过程类别,如诗歌、散文、议论文、记叙文。
纵轴是能力等级,即利用PAM(过程评估模型)及对应的度量框架对你每篇作文是几类文进行的评级结果。
比如,根据某考生某一篇作文的情况,可能会针对不同的得分点依次打3分、4分、3分、2分、2分之类,多篇作文按类似思路评定后,最后判断这名考生的作文水平依次是诗歌三类文、散文二类文、记叙文一类文、议论文一类文,如果所有作文都能达到二类文,我们就会说这名考生达到了本次作文竞赛二类文的等级。
就像,该供应商的xxx OEM的xxx项目进行了ASPICE评估,VDA Scope的16个过程域都获得了二级认证。总听到有人说,xxx公司获得了ASPICE L2认证,其实是不严谨的,相当于说这个考生是二类文。当然,这个类比只是说出了这个模型最表层的样子,细节上会有很多差异,我们接着往下看。
3.1 过程参考模型
看这张图就够了,这就是ASPICE范文的样子,比如,ACQ是诗歌,MAN&SUP是散文,SYS&SWE&HWE&MLE&VLE是议论文,其他的是记叙文。
ASPICE3.1
ASPICE4.0
3.1.1 主要生命周期过程类别
这个也不用多讲,上图的ACQ、SYS、SWE、SPL、HWE、MLE、VLE部分就是主要生命周期过程。
那么,在继续进入下面内容之前,思考下ASPICE的某种内在追求及运行脉络在哪里?我一直觉得软件的交付和工厂的运营有很多类似之处。因此,这里我们切换为比较直观的汽车组装流水线为例。
为了完成一台整车的交付(对应于软件最终SOP释放),我们会有冲压、焊装、涂装、总装这4大工艺流程,它们或有前后次序,或在并行推进,有的工位要人工操作(对应于工程师人工分析需求、手工编码、手工测试......),有的设备自动化程度高(对应于数字化工具链、基于模型的代码、自动化的脚本测试......),中间会有半成品的交付(对应于不同成熟度的软件释放),不同阶段会有不同的QC检查(对应于集成或合格性测试)......
所以说,在理念上,ASPICE的这些主要过程也是期望实现自动化的流水线模式。当然,可能柔性要求更高些,毕竟软件开发是个依赖人的、智力性的、知识性的工作。
3.1.2 支持生命周期过程类别
SUP(Support)部分被叫作支持过程。我们继续沿用产线的思路来理解,对比实实在在的产线设备和人员,显得有些务虚,但人家显然也自有其价值,汽车在产线上流动时,是需要一些打辅助的东西的,例如。
QA不让堆料是“质量保证”。
首件中件尾件尺寸测量确认属于“验证”。
你的工位上下游及自身都要对部件进行评定算是一种“联合评审”。
产线会有作业指导书也是基于“文档化”的。
每个模块零件都有对应的追溯标签在软件领域属于“配置管理”的范畴。
发现漆面划伤要按不良品流程处理也是一种“问题解决管理”。
换不同配置模块时的工装换型可粗略对应于“变更请求管理”。
生产中大量的数据需要被管理姑且对应于“机器学习数据管理”。
3.1.3
组织生命周期过程类别仍然用生产制造举例,这块就可以理解为运营管理,例如。
生产主管管人保产量属于管理的一种,“项目管理”也是。
维修经理发现冲压模具有断裂风险可归在“风险管理”里。
随处可见的不良率指标属于典型的“度量”。
局部工装换型即可满足多种车型的生产的内涵类似于“重用程序管理”。
很多工厂会有合理化建议提交流程也算是典型的“过程改进”了。
其实,我们会发现制造和软件并不分家,有很多类似之处,软件工程似乎有很多可以向制造业学习的地方或者二者可以融合的地方。
3.2 过程评估模型——度量框架
这部分就是前面所说的作文竞赛的阅卷准则,我们可以在后面具体内容上详看。
3.2.1 过程能力级别和过程属性(Process Attribute,PA)
这里给出了如标题两个概念,过程能力级别就是这名考生的各篇作文是几类文;过程属性就是得分点,适应于所有文体。
在ASPICE中,我们把过程能力分为6个级别,也就是对应于6个作文等级,包含9个过程属性,对应于9个得分点,如下表所示。
3.2.2 过程属性评定
搞搞清楚了得分点,就要考虑得分点到底怎么打,怎么样是1分,怎么样是4分呢,毕竟作文不是数学,灵活性更大,这得分点的评分方式就是这ASPICE里的“评定尺度”,且看下图。
从描述述可以看出来,这个评估尺度的把握更多是一种经验、直觉、感觉,而非量化的。尽管标准也给出了如何评定的方法建议,但实在是佶屈聱牙,十分费解。
我觉得可以这样去理解。实际的项目开发很难清晰地区分出不同流程的界限,肯定是你中有我,我中有你,比如,测试和bug、需求和设计、项目管理和质量保证......都会糅合在一起。简言之,这方法就是要综合考虑,综合考虑过程的定义、过程达成的结果、各个过程之间的关系。好似一句废话,但这其实就是这项工作的特点。
3.2.3 过程能力等级模型
这个直接看图,大概是什么意思呢?
相当于是二类文只看主题立意是不是跑题、中心思想是否明确......但五类文要从主题立意、中心思想、内容结构、语言运用、字迹字体等多个方面来看。
越是低等级的文章,得分点越少,因为低等级文章没有,但满分作文得是要全方位评价了。当然,实际习惯里,一类文是最好的意思,恰好和ASPICE评级顺序相反。
具体的细节会在后面章节展开。
3.3 过程评估模型——指标
为了更精细地获得每一个PA的达成程度,过程评估模型进一步定义了两种有关PA是指标:
过程实施指标。其只适用于能力级别1级,提供了过程成果实现程度的指示,相当于阅卷准则里主题立意属于最基本的得分点,不跑题可算是等级1。
过程能力指标。其适用于能力级别2级到5级,它们提供了过程属性实现程度的说明。这就是说在达到最基本的成文标准1级后,就可以根据其对其他得分点的达成程度进行更高等级的评定。
当然,ASPICE评估不像批改作文,对着那几篇文章看就好了,ASPICE评估主要是针对过程的工作产品进行检查,或者对过程执行者和管理者所做的陈述进行评估。
解释了这个指标的概念,接下来看看更细节的描述。
3.3.1 过程实施指标
过程实施指标的类型为:BP(Basic Practice,基本实践)和WP(Work Product,工作产品)。BPs和WPs都与一个或多个过程成果相关。因此,BPs和WPs总是过程特定的,而不是通用的。
BPs代表面向活动的指标,就是过程中一步步的活动,或者说要具体做什么,这也是ASPICE认为是最基本的、最必要的部分。
WPs代表面向结果的指标,是一个过程的输出结果,或者说具体做出了什么,也即交付物,比如,你的代码、架构书、测试报告等。
这里强调了一点,WPs不是强制的,应该由具体的项目或组织自行定义模板或方式。ASPICE告诉你这样做挺好,但好的方式有很多种,要尊重并鼓励多样性。
3.3.2 过程能力指标
过程能力指标的类型为:GP(Generic Practice,通用实践)和GR(Generic Resource,通用资源)。
GPs和GRs是与一个或多个PA(Process Attribute,过程属性)的达成相关的。然而,与过程实施指标相反,它们是通用类型,即它们适用于任何过程。
当然,为了结构完整,ASPICE在等级1里也增加了PA1.1的GP1.1.1,算是对过程实施指标的一个概述。
GP和GR的区别在于,前者是面向活动的指标,相当于论点本身是否立意高远,而后者是面向基础设施的指标,强行类比的话就是写文章必须用碳素笔,开发中用到的工具链就属于这个范畴。
为了便于整体理解,ASPICE模型的运行逻辑可参见下图。
ASPICE3.1
3.3 过程评估模型——评估指标
为了更精细地获得每一个PA的达成程度,过程评估模型进一步定义了两种有关PA的指标:
3.3.1 实践(practices)
面向活动,支持实现过程目的或特定过程属性,可以进一步分为BP和GP。
基础实践(BP):它们提供了过程结果实现程度的指示,基本实践与一个或多个过程结果相关,因此总是特定于过程而不是通用的。换句话说,就是各个过程中一步步的活动,或者说要具体做什么,这也是ASPICE认为是最基本的、最必要的部分,所以也只适用于能力级别1。
通用实践(GP):它们提供了过程属性实现程度的指示,通用实践与一个或多个过程属性成就相关,因此可应用于任何过程。GP能应用于能力级别1到5。
3.3.2 信息项(information items)
面向结果,信息项及其特征指示了过程结果和过程属性的达成情况,是评估的信息源。
对比ASPICE3.1,信息项算是对工作产品(work product)的扩充替代。
如何理解呢?这个更抽象的信息项比更具体的工作产品更加侧重于“价值”与“业务”,而不停留于基于某个模板的东西有没有或者文档本身,这是一种语言上的微妙,但也体现了ASPICE想更致力于务实。
4
全文小结
整体来看,ASPICE 4.0相比较ASPICE 3.1,本质逻辑没有变化,但有些理念的改变,主要体现在以下3点:
更侧重于当下汽车软件的开发模式(关注真实环境和终端用户),比如,增加硬件工程、强化verification与validation的概念。
扩充了智驾部分(机器学习),但仍然未关注座舱类或云端类软件。
更务实、更软件、更敏捷。一个体现是使用information item替代work product作为指标,二是删减了相对更追求规程化的过程域或指标(如联合评审、文档化以及GRs)。
5
写在最后
ASPICE 4.0一定程度解决了一直为人诟病的教条与繁重的问题,但整体处于稳步推进的状态,没有太激进,基本和当前汽车软件开发模式的发展阶段保持吻合。
关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时获取公众号“水轻言”最新文章。
完