【Zeekr_Tech】汽车软件敏捷开发和分支管理

极氪软件及电子中心Filip

经过十多年的发展,敏捷软件开发已经从一种前卫的开发方式转变成为在各大软件公司中被广泛应用的主流技术,变成了互联网行业的一种潮流,而随着软件定义汽车等概念的兴起,软件在一辆汽车中的价值正在不断增加。电动化、网联化、智能化、共享化的背后都需要强大的软件能力作为支撑,而软件能力不仅体现在构建出高质量的软件产品上,同时还体现在软件产品的快速迭代以满足快速变化的市场需求的能力之上。这样的变化无疑给汽车软件开发带来了新的挑战,同时也带来了巨大的机遇,新玩家纷纷入场,期望在软件和用户体验上赢得市场,而传统的汽车制造商则正重新审视组织架构、人才、流程、职责等方方面面以期适应新的变化,成为软件驱动的公司。

持续集成/持续发布(Continuous Integration and Continuous Delivery)是敏捷软件开发中的核心过程,本文将从的持续集成/持续发布角度探讨汽车软件开发过程中的代码管理和发布流程。

传统汽车软件的开发流程

传统汽车软件开发大量依赖于供应商,汽车制造商提出需求,由供应商负责软件编写和实现。在过去十几年的时间里,汽车电子器件的数量增长迅速,车内电子控制单元(ECU)从十几个增长到了上百个,带来的是软件复杂度的快速增加。除了汽车功能繁多所带来的软件复杂度,汽车电子类产品在软硬上往往对设备的高可靠性、稳定性有着严格的要求,这些要求在消费电子类,甚至是医疗电子类和工业控制类产品上是没有的。因此,为了满足功能安全等要求,汽车的软硬件往往需要做额外设计。面对这样的复杂系统,汽车行业制定了许多标准及方法论以规范开发过程,而在软件开发过程中,最有名的是ASPICE(Automotive Software Process Improvement and Capability dEtermination)。

Automotive SPICE简称ASPICE,是ISO/IEC 15504(SPICE)国际标准在车用领域下的修改版本。其目的是为了评估汽车产业中,电子控制器供应商开发的流程。

ASPICE 建立在 V 模型之上,它需要与每个开发阶段相对应的测试阶段。 这是一个严格的模型,需要严格的评估以确保持续的评估和发展。 下图是ASPICE中定义的典型开发流程:

【Zeekr_Tech】汽车软件敏捷开发和分支管理_第1张图片

 

(From:

你可能感兴趣的:(自动驾驶,敏捷开发)