将软件刷写到硬件里,直接交付硬件。
这是汽车电子软件行业一直以来更普遍的黑盒交付模式。同时,ECU开发流程主线基本都是围绕交样进行的。
当然,现如今,在软硬件解耦程度的提高、OTA的普及及娱乐类软件涌现下,交付模式越来越聚焦在软件交付上,供应商卖零件的意味越来越弱化,本文暂且不论。
在这里,我们讲个带有软件的样件成熟度的划分,但会同时涉及机械及软硬件状态的描述,即ABCD样件。
可能会帮助大家增加一点对项目流程的理解。
1
A样件
A样件一般是很早期的不成熟产品。
样件制作方式不规范,比如,手工件、3D打印、其他样件代替、现有样件修改等。
一般也只用于非常基本的功能测试,比如,外观确认、结构匹配、包装开发、HIL(Hardware in Loop,硬件在环)测试、台架测试或其他基本工作原理确认等,肯定不能用于耐久类环境测试。
其中的软件可能没做或者做了很简单的基本功能或接口测试。
2
B样件
B样件相较于A样件的成熟度更进一步,这个概念可以理解为过渡阶段,比较含糊一些,很难与A样件有清晰明确的界线。
一般而言,包括制作方式(与量产流程相比)、功能状态以及测试完成度的关键部分都已经基本满足要求。
但还剩余一些非关键部分,如非配合尺寸不良、非正式产线出件等。
通常,也可以上车测试了,跑一下受限的路试也没什么问题。另外,常说的DV(Design Verification)就是用这个阶段的零件。
其中的软件可能还有部分非关键模块未开发完或仍然带有一些bug,标定也可能还在调整阶段。
但至少满足了可测试的条件,主要功能都能跑通,比如,ECU的通信诊断功能必须要具备,相当于剩下就是工程化的打磨了。
可以说,在开发阶段,多数模块处于B样的状态。
3
C样件
C样件代表了设计完成并被验证的样件状态,所有功能需求都已满足,硬件或机械件也都是正式模具或产线下来的。
但此时还不能用于销售,因为此时只能证明用非量产的方式可以生产出单件(或少量)的合格品。
实际上,这里的合格品有一个隐含前提,即需要通过PV(Production Validation)。
对于软件开发团队而言,需求都已经执行,子功能都已经验证完毕,即使仍然有可知bug(没有bug的软件是不存在的),也不严重,相关方都能够达成偏差许可。
从供应商开发的角度,开发工作已经完成,技术层面可以释放了,但还缺最后一步——客户确认(validation),如整车或产线确认,如果发现了问题,或许还需要一个迭代。
简单来说,C样件是技术层面OK(含产品和生产)。
4
D样件
尽管C样件OK了,但汽车行业讲究程序“正义”和量产稳定,这就引出最后的样件概念——D样件。
D样件就是指经过小批量试生产(量产工艺)并经过必要认可(如PPAP)的样件。
此时的样件不但设计被认可,工艺被认可了,组织、流程也被认可了。至此,证明组织有潜力供应出批量合格产品。
这时的软件呢,自然是已经完成了全部的确认。
D样件之后将进入量产供货的阶段。
5
小结
总体而言,对于研发样件的划分是按照其设计和验证成熟度来定义的。
不同公司基于不同的开发流程和产品特点会有不同的定义和不同的习惯,同一公司不同的人也会有不同的细节理解,以上我们给出一种惯用的区分方式。
总结如下表所示。
6
写在最后
按部就班的成熟度是个理论概念,在实际工作中,即使是机械产品,基本也很难按照这种节奏一步一步走下来。
而对于现在越来越多的软件,更是如此,版本迭代频繁,bug此起彼伏,可能到了D样阶段还是有不少bug待解决,后续还得换件、刷件,SOP形同虚设。
所谓敏捷,已经成为了一种被迫的选择和现状,也迫使我们去不断改造汽车开发流程。