汽车行业的项目研发管理,有别于其他行业的地方在于,汽车行业遵循V模型的标准,近几年,由于造车新势力的加入,汽车行业越来越多的接触敏捷开发,因此,作为一名优秀的项目管理工程师,势必要对这两方面的流程都有所了解,才能真正驱动团队。
ASPICE诞生的时间、背景和目的
在05 年的时候——注意这个时间是 05年, 现在已经是 17 年之后了——德国的十几家主机厂和比较强势的供应商一起制定了一个汽车软件流程的评价框架,后来他们背靠VDA(德国汽车工业协会)发布了这套框架。制定这套框架的目的是什么呢?因为他们的软件供应商,不可能把软件以白盒形式交付给他们。这时候他们想到了一个招:虽然我不能看你的代码,但是我要求你的整个软件或者系统的研发流程是按照特定的流程。这个流程就是汽车行业非常有名的 V字型开发流程。它的主体部分,是系统工程和软件工程部分。具体来说,就是针对一个系统的开发需要包括:系统需求分析、系统架构设计、软件需求分析、软件架构设计、软件详细设计,这是V字型的左边,以及对应的右边验证测试的过程。
ASPICE与敏捷开发融合
接下来我们就要谈谈ASPICE和敏捷开发的结合了。刚刚已经讲了很多ASPICE,它其实是软件流程的评价框架,是甲方对乙方的要求。那么敏捷是什么呢?敏捷其实是一种软件开发的理念、价值观和一系列工具的融合。它的出发点和 ASPICE完全不一样。
ASPICE的出发点是甲方对乙方的要求,而敏捷的出发点其实是站在乙方的角度,讨论如何快速地实现软件开发。所以敏捷实际上是来告诉大家怎么样真正地来实现这个过程的。
ASPICE是一个要求,甲方要求乙方做什么。敏捷是说,乙方怎么来快速地做这个东西。这个其实就是目前汽车行业转型的困境:大家都知道要转型,但没有人知道该怎么转,没有人知道该怎么融合,标准也还没出来。
敏捷里面讲到了很多理念,比如说可工作的软件,高于详细的文档。敏捷里面也提供了很多理论化的工具,比如说 scrum、Kanban、燃尽图、敏捷回顾会议等等。我们可以看到有很多软件公司就是基于这样一套方法来设计他们的软件,比如说澳洲的 Atlassion 公司。我们谈完了ASPICE和敏捷,我们知道ASPICE是对于汽车行业软件开发流程的标准。虽然它诞生于2005年,已经有17 年的历史了,但汽车软件开发(中国的),真正发生革命性的变化,是在2014年前后,在汽车行业还没有诞生一个新的软件开发标准之前,它还是有它存在的意义的。我觉得这个新的软件开发标准,应该会在近几年诞生,因为最近几年整个汽车行业的变革是非常快的,可以说是颠覆性的,整个汽车行业变得非常有活力。这个时间点,特别适合产生新的软件开发流程。这个新的软件开发流程或者标准,也很有可能是在中国诞生的。因为中国的电动车或者说智能车的生产比例,占全球总数的40%以上。在这块我们是有优势的。笔者曾在造车新势力及传统车企的软件中心从事软件质量与工具链的工作,在深入接触并应用ASPICE之后,觉得ASPICE不是一颗银弹,不要认为它能够解决所有的问题,它只是一个老师对于学生或者甲方对于乙方的要求。如果你去深入地挖掘这个要求,然后自己想出一套方法来做,当然也可以,但是你的效率会特别慢,因为整个汽车软件的研发过程比较复杂。