乐于分享
好东西不私藏

轻松掌握敏捷开发方法在汽车软件开发中的应用︱汽车敏捷开发

轻松掌握敏捷开发方法在汽车软件开发中的应用︱汽车敏捷开发

本 文 目 录

1

敏捷方法在汽车软件开发过程中的整合

2

用于汽车产品研发的敏捷原则 Agile Principles for Automotive

3

汽车软件合规与敏捷:动态发展中探寻平衡

一、敏捷方法在汽车软件开发过程中的整合

(原创 明琴 AI赋能汽)

摘要

敏捷实践由于其灵活、及时的交付、丰富的实现和迭代的特性而在软件开发中被广泛使用。考虑到广泛的好处,汽车行业也正在从传统的方法转向汽车软件开发的敏捷实践。汽车软件的主要挑战是安全性、复杂性、用户参与、灵活性和创新性;这些都是传统方法难以处理的问题。为了克服这些挑战,采用这种方法是必要的,它应该是灵活的,有快速的变更管理和用户参与,并能够完成汽车行业的要求和标准。因此,为了加快汽车软件的开发过程,有必要整合敏捷开发流程。本文对敏捷方法的实施提出了见解,并了解了敏捷流程和V模型在汽车软件开发中的综合使用效果。本文揭示,从研究和产业的角度来看,如何将敏捷方法和V模型这两种方法结合起来,目前还不清楚。本文的研究结果表明,在汽车软件开发中结合使用敏捷过程和V模型是有前景的,有必要开发一种结合敏捷方法和V模型的汽车软件开发方法。

I.引言

汽车软件在复杂性、创新性、高可靠性、安全要求、变更管理和物理系统的特点方面都很复杂。因此,汽车行业最常见的汽车软件开发过程遵循V模型。然而,随着汽车系统的复杂性指数级增长,较晚的验证和验证过程导致了不可抗拒的更高的风险和成本的开发手段。一般来说,传统的软件开发过程不能满足动态市场的需求。通过引入敏捷宣言(2001年),它承诺敏捷过程可以保证更早地将产品发布到市场。敏捷方法能够对市场和客户不断变化的需求做出快速反应。此外,在开发过程中,他们提供用户参与,以对不同的要求进行调整,并对最终的软件进行后期改进。敏捷方法在汽车行业的整合是一个潜在的解决方案,以面对动态市场环境的挑战和需求。采用敏捷方法的另一个关键因素是软件开发的传统过程的不灵活性。然而,敏捷是一种灵活的方法,它允许软件的增量开发,并在迭代中开发软件,在增量中交付软件,而不是在开发过程结束时一次性交付所有软件。通过在2001年引入敏捷宣言,敏捷方法在软件开发中变得更加重要。根据敏捷宣言,敏捷方法可以获得:

  • “个人和互动高于流程和工具

  • 客户参与合同协商与谈判

  • 工作软件的全面文档

  • 应对变化而不是遵循计划”

在汽车行业中,V模型是最常见和传统的方法。然而,当涉及到软件密集型系统的需求工程时,汽车领域的开发方法不能有效地适应需求。例如,当系统的复杂性相对较高时,传统的V模型在后期验证阶段往往会导致非常高的成本,并且对后期市场和客户的要求不灵活。

尽管这两种方法--敏捷和V模式--都有它们的好处,但挑战和限制仍然存在,特别是在汽车软件开发方面。本文旨在提供关于敏捷方法在汽车软件开发中的实施的见解,即敏捷方法如何被用于汽车软件的开发,它们的好处、挑战和限制。它显示了一些与敏捷方法和传统流程V模型的结合使用有关的效果。

II.相关工作

Pfeffer等人进行了一项研究,描述了自动驾驶系统开发过程中发现的挑战,特别是在设计功能方面出现的问题。所进行的研究是探索性的,采访了与德国大批量汽车OEMs相关的人员。

Marner等人说明了传统范式和敏捷流程的综合效应,并提出了在汽车SW领域发布计划中的挑战。此外,本研究还解释了敏捷属性如何能够克服已有的挑战。

Hohl等人在他的研究中考察了汽车行业的嵌入式软件、敏捷开发和软件产品系列管理之间的关系。

Schloßer等人通过解释敏捷和V模型的优点和缺点,提出了开发汽车软件的不同框架。本研究对V模型和敏捷过程的结合使用提出了见解。

在汽车领域提出了一种混合方法,用于改进流程,解释了在安全关键型软件开发环境中,通过整合Scrum和传统的V模型,可以加快开发流程的因素对于安全关键软件的开发,另一项研究提出了一种开发方法,即在需求分析阶段采用形式化规范,并在软件实施阶段后整合形式化验证。然而,这个方法论主要是针对高可靠性软件或安全关键软件。

一种评估模型“A HAA-敏捷混合评估法”将 CMMI 元素和 Automotive Spice 与敏捷属性相结合,引入汽车领域。

Liu等人提出了一项研究,通过引入基于仿真的开发和建立连续和早期的集成验证,提出了一个改进版的V流程模型,称为 "增量V开发流程"。基于一个实例项目(案例研究)的初步研究结果表明,增量式V模型可以通过缩短时间周期和持续时间、最小化工作量和提高产品质量来改进V模型。

因此,现有的文献中没有关于结合敏捷方法和V模型的结论或最终结果。目前还没有任何一种方法能专门解决汽车软件开发中结合敏捷和V模型的所有主要影响。为了解决这个问题,本文的研究打算开发一种方法,通过研究V模型使用中面临的挑战,用适当的敏捷方法解决这些问题,同时仍然满足汽车行业的要求,例如关于安全或流程成熟度,从而实现敏捷方法和V模型的结合。

III.现有的挑战

选择敏捷方法融入V模型的第一步是分析当前使用V模型的主要挑战,以及与敏捷方法普遍相关的主要优势。表1根据V模型进行软件开发项目中普遍发现的挑战,构建了这些潜在的改进领域。所提到的挑战是对汽车领域的详细文献分析的结果,主要在本文的第二部分描述。对于每一个挑战,它都描述了V模型是如何解决这个问题的,以及与此相反,敏捷方法将如何处理这个挑战。例如,客户协作(表1中的 "协作类型")这一挑战在传统的V模型项目中通过详细而全面的客户合同来解决。这些合同在项目结束时成为一个问题,因为它们没有充分反映现实,在复杂的项目中存在着不确定性,而且需要不断地改变和适应。敏捷方法论建议在整个项目执行过程中不断与客户互动,重视个人的反馈和变更要求,在共同开发和审查软件的过程中就预期结果达成共识。显然,在复杂的汽车软件开发项目中实施这种新的范式是一项困难的任务,正如第二节中引用的文献所证明的那样,它没有得到充分的解决。

所提议的研究将选择最有希望将敏捷方法集成到V模型中的候选者,执行过程中的更改,并在示例项目(案例研究)中测试修改后的过程。这背后的一个普遍假设是继续应用V模型作为汽车软件开发的主要流程框架。因此,敏捷软件开发不会完全取代V模型,也不会将V模型集成到敏捷框架中,例如通过多次迭代V周期来增量地生产软件。关于V模型仍将是雨伞框架的假设还需要进一步研究和验证。然而,如何在V模型框架中实现敏捷方法是本文研究的重点。

基于 V 模型和敏捷方法改进汽车软件开发的主要杠杆体现在以下几个方面:

  • 在模块层面上实施增量开发(见图1),以打破复杂性,允许用户参与并支持后期修改。

  • 通过就增量短期的目标达成一致,而不是就完全交付软件的合同进行谈判,来培养用户的参与。这就改变了计划的范围,从完整的项目运行时间变为一些敏捷短期的运行时间。

  • 摆脱基于纸张(或文件)的规范,使用工作软件(如原型、模拟、可执行规范),根据场景和用户背景进行验证。

这个列表将被扩展。这些陈述构成了拟议研究的假设。它们需要细化成如何在V模型中实现敏捷扩展的概念模型,并且需要验证。它旨在使用行动研究,以便在示例项目中建立评估和验证的实验。

图1 将敏捷原则嵌入到 V 模型中
IV.拟议的方法

V模型将在特定区域进行修改,以评估和验证已确定的改进(见表1)。作为该方法的一个例子,本节将更详细地阐述模块级增量开发的实现(见图1)。建议将增量开发作为一种敏捷方法,以分解复杂性,允许用户参与并支持后期更改。

将敏捷嵌入到V模型中--增量式迭代

在基于V模型的软件开发中,整体软件架构的分层分解形成了一组软件模块的定义,这些模块实现了客户要求的功能。在传统的V模式中,这些模块被完全开发和测试之后被集成到整个系统中,并再次进行测试。这个过程的最后一步是由客户进行验收测试。这导致了客户很晚才参与进来,反馈也很晚,因此会导致很晚才提出修改要求。拟议的敏捷方法是将模块开发分成几个递增的步骤。这些步骤以敏捷短期的方式进行,根据客户要求的功能,以渐进的方式实现功能。对于每个短期阶段(或一组短期阶段),客户都会参与到审查的结果中。这是一个挑战,因为客户可能无法评估所生产的软件的质量,而不能集成到整个系统中。循环中的软件(SiL)或循环中的模型(MiL)可能有助于验证生产的软件版本。

为了验证这一发现,针对所提出的方法和确定的挑战,我们与汽车领域的从业人员进行了一些讨论。与从业人员讨论的结果表明,本文提出的方法在汽车软件开发中是有前景的。

下一步是将这些变化落实到一个实际项目的方法中。

在多特蒙德应用科学与艺术大学IDiAL学院内,开展了许多汽车软件开发项目,这些项目将作为拟议行动研究的第一候选项目。规划的环境是ita3项目全景1,它为复杂的汽车软件开发工具和方法。它涉及到一些大型汽车供应商公司的相关软件开发活动。
V.总结
从文献中发现,汽车行业正在从传统模式向更灵活的方法转变,即敏捷方法。对于汽车行业来说,这种转变并不容易,因为该行业几十年来一直在遵循传统的流程。相关的标准是基于这些流程的,项目管理和客户互动也相应地进行。然而,敏捷转型已经开始了。文献还显示,将敏捷方法与V模型相结合的成果很少,也没有任何方法专门解决敏捷方法与V模型相结合对汽车软件开发的影响。在本文中,敏捷元素被嵌入到传统的V模型中以获得更好的结果。目前,正在研究哪些开发阶段可以集成敏捷迭代。并确定了一些候选项目,将在实例项目中进一步研究。从文献资料和对从业人员的访谈结果显示,所进行的方法是有希望的,需要进一步研究。在未来的工作中,计划基于现有的挑战来评估所提出的方法:它如何解决已确定的挑战,以及所提出的方法在多大程度上可以应用于汽车软件的开发过程。
参考文献:
[1]J. Bosch and P. M. Bosch-Sijtsema, “Introducing agile customer centered development in a legacy software product line,” Software Practice and Experience, 2011, vol. 41, no. 8, pp. 871–882.
[2]K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern, B. Marick, R.C. Martin, S. Mellor, K. Schwaber,
J. Sutherland, D. Thomas, “Manifesto for Agile Software Development”, 2001.
[3]B. Katumba and E. Knauss, “Agile development in automotive software development: Challenges and opportunities,” in Product- Focused Software Process Improvement, A. Jedlitschka, P. Kuvaja,
M. Kuhrmann, T. M¨annist, J. M¨unch, and M. Raatikainen, Eds. Cham: Springer International Publishing, 2014, vol. 8892, pp. 33– 47.
[4]Liu, B., Zhang, H., & Zhu, S, “An incremental V-model process for automotive development,” in 23rd Asia-Pacific Software Engineering Conference (APSEC) IEEE, December 2016, pp. 225- 232.
[5]R. Pfeffer, Basedow, G. N., Thiesen, N. R., M. Spadinger, A. Albers, & E. Sax, “Automated Driving-Challenges for the Automotive Industry in Product Development with Focus on Process Models and Organizational Structure”, in IEEE International Systems Conference (SysCon) April 2019 (pp. 1-6). IEEE.
[6]M. Broy, “Automotive software and systems engineering,” Proc. 2nd ACM and IEEE Int. Conf. Formal Methods and Models for Co- Design, 2005, MEMOCODE'05, (pp. 143-149).
[7]K. Marner, S. Theobald, & S. Wagner, “Real-Life challenges in automotive release planning,” in Federated Conf. Computer Science and Information Systems (FedCSIS) (Sep 2019) (pp. 831- 839).
[8]P. Hohl, J. Ghofrani, J. M¨unch, M. Stupperich, and K. Schneider, “Searching for common ground: Existing literature on automotive agile software product lines,” in Proc. International Conference on Software and System Process - ICSSP 2017, R. Bendraou, D. Raffo,
H. LiGuo, and F. M. Maggi, Eds. New York, New York, USA: ACM Press, 2017, pp. 70–79.
[9]A. Schloßer, J. Schnitzler, T. Sentis, & J. Richenhagen, “Agile processes in automotive industry–Efficiency and quality in software
development” in 16 Internationales Stuttgarter Symposium
2016 (pp. 489-503). Springer, Wiesbaden.
[10]Takahira, R. Y., Laraia, L. R., Dias, F. A., Abraham, S. Y., Nascimento, P. T., & Camargo, A. S. “Scrum and Embedded Software development for the automotive industry”, in Proc. PICMET'14 Conference: Portland International Center for Management of Engineering and Technology; Infrastructure and Service Integration, IEEE (2014, July) (pp. 2664-2672).
[11]Q. Fang, C. Zhang, X. Ye, J. Shi, & X. Zhang, “A new approach for developing safety-critical software in automotive industry” IEEE 5th International Conference on Software Engineering and Service Science, August 2013, (pp. 64-69).
[12]F. McCaffery, M. Pikkarainen, & I. Richardson, “Ahaa--agile, hybrid assessment method  for automotive,  safety critical smes”. in Proc. 30th international conference on Software engineering, May 2008 (pp. 551-560).
[13]B. Liu, H. Zhang, & S. Zhu, “An incremental V-model process for automotive development,” in 23rd Asia-Pacific Software Engineering Conference (APSEC) IEEE (2016, December), (pp. 225-232).
[14]D. Feldmüller, “Usage of agile practices in Mechatronics System Design Potentials, Challenges and Actual Surveys,” in 19th International Conference on Research and Education in Mechatronics (REM) (June 2018) (pp. 30-35).
[15]M. Broy,“Challenges in automotive software engineering,” in Proc. 28th International Conference on Software Engineering, ser. ICSE
06. New York, NY, USA: ACM, 2006, pp. 33–42. [Online]. Available: http://doi.acm.org/10.1145/1134285.
[16]A. Dresch, D. P. Lacerda, & Antunes, J. A. V, “An overflight in research” in Design science research, Springer, Cham Heidelberg, New York, Dordrecht, London: Springer International Publishing Switzerland 2015.

[17]Wiecher, C., Japs, S., Kaiser, L., Greenyer, J., Dumitrescu, R., & Wolff, C. “Scenarios in the loop: integrated requirements analysis and automotive system validation”, in Proc. 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (October 2020), (pp. 1-10).

二、用于汽车产品研发的敏捷原则 Agile Principles for Automotive

(原创 亚远景科技 亚远景研发管理)

01

Customer Satisfaction First

让客户满意是最高优先级

Our highest priority is to satisfy our customers through early andcontinuous delivery of valuable and usable system functions.

通过交付可用且有价值的功能,并且尽可能早,且持续来实现。

02

Welcome Changing Requirements

拥抱变化的需求

Requirement changes are mastered, prioritized and system atically integrated into our continuous development work. Agile processes make useof changes to the competitive advantage of the customer.

开发过程中接受和融入需求变更,通过敏捷方式有序、系统性管理变化,使得客户赢得竞争优势。

03

Frequent Delivery

频繁交付

We deliver regularly usable and enhanced system features, preferringshorter time periods within a few weeks or months.

短周期,定期交付可用和增强的系统功能。

04

Business and Development Working Together

联合工作

Experts from all domains should collaborate intensively during product development.

开发过程中,建立业务与开发团队协同工作机制,确保协作效率与效益。

05

Motivated Individuals at the Heart of Projects

围绕人来组织项目开发

We organize the product development around motivated individuals. Weesign an environment and support to achieve maximum value, In doing sowe trust that the individuals do their jobs independently and in the bestpossible way.

创建环境来实现价值最大化,以此相信每个人会独立且以最好的方式完成他们的工作。

06

Face-to-Face is the Prime Communication Method

倡导及时有效沟通

The most efficient and effective way to communicate information to andwithin a development team is face-to-face.

面对面交流是团队内、外最有的效沟通方式。

07

Working software is the primary measure of progress

可见的功能增长

Usable and extended svstem functions are the most important measureof progress.Agile processes promote sustainable development.

最好的进度管理是不断地交付可用和扩展的系统功能。

08

Aim for Sustainable Progress

连续实质性开发

Clients, developers and users should be able to maintain a steady pacefor an unlimited period of time.

客户、开发人员和用户保持步调一致,快速理解、开发和测试,确认。

09

Continuous Attention to what Matters

持续改进

Continuous attention to technica excellence and good design promotes agility.

持续关注技术进步与设计优化,可促进推广敏捷工作。

10

Keep it Simple

简易

Simplicity - the art of maximizing the amount of work not done - isessentialment changes are mastered, prioritized and system atically integrated into our continuous development work. Agile processes make useof changes to the competitive advantage of the customer.

简易,是重视与处理未完成工作量最实质的方法。

11

Create Teams Self-organizing

创建自我管理的团队

The best architectures, requirements and designs are created by self-organized teams.

自适应、自我管理型团队可创建最好的架构、需求和设计。

12

Make Time for Reflection

自我反省与检讨

At regular intervals, the team reflects on how it can become more effective and adjusts its behavior accordingly .

团队会定期反思如何提高效率,并相应地调整自身行为。

三、汽车软件合规与敏捷:动态发展中探寻平衡

(段立华 施战备 ICT茶馆)

一、引言

随着汽车从传统模式向“新四化”的高速演变,车载软件系统变得愈发复杂且代码规模激增。一辆自动驾驶汽车软件代码量将突破5亿行,其更新模式也从SOP“静态”发布演化至现在随功能释放“动态”的升级模式,持续满足用户丰富感知的智能驾乘体验需求,因此软件差异化是各车企竞争的高地,也是生死存亡之争——软件定义汽车的时代已然到来。

二、挑战

伴随车载软件智能化程度的提升,为用户带来高科技与高智能体验的同时,也带来了更高的质量、安全和软件升级风险,国内外的标准化组织十年间相继发布了多项与质量、安全和软件升级相关的法律法规(见图1所示),旨在约束车企完善软件研发体系,提升软件产品质量与安全性,规范软件升级,保障用户获取可靠质量产品的同时,保护人身安全、财产安全以及数据安全,切实保护消费者权益。那么如何在保证软件满足合规性的同时,提高研发效率和响应市场变化的能力,在动态发展中探寻一种新的平衡,成为主机厂和软件供应商面临的重大挑战。

1:汽车软件合规标准归纳示意图

三、汽车软件合规性综述

1.合规标准概述

汽车软件合规是指软件开发必须遵循行业标准和法规,确保软件的质量、安全和升级的规范性;质量相关标准有IATF16949ASPICE;安全相关标准有功能安全ISO26262/GB-T 34590标准、网络安全UNR155/ISO/SAE21434/GB 44495法规与标准,以及信息安全认证体系标准TISAX;预期功能安全ISO21448/GB-T 43267标准;软件升级有UNR156/GB 44496法规与标准,鉴于篇幅有限在此不做详细展开,基本信息详见表1所示。从表格中可以获取标准最新版本、来源、标准实施目的以及适用范围等基本信息。

1:汽车软件合规标准基本信息统计表

这一系列的标准与法规,始于质量改进、切实关注安全、规范约束升级,标准间环环相扣,存在较强的关联关系。如图2所示,质量是产品的生命线,因此依托软件质量达成的前提下,开展功能安全、网络安全等安全相关的设计;在软件升级层面无论是质量还是安全相关的各类软件,均需遵循软件升级法规,以满足国内强标和国外出海的严苛要求。

2:合规标准关联关系示意图

同时各标准间存在覆盖与部分内容交叉的情形,详见图3所示,软件升级法规范畴覆盖面最广,网络安全次之,功能安全和预期功能安全均需在满足网络安全的前提下开展;而预期功能安全作为功能安全的补充标准,与功能安全标准有较大的交叉;功能安全标准含流程与技术部分,流程部分与ASPICE标准部分重合,由此可见各标准间侧重点不同,但其目的均为实现软件质量可靠性与安全性的达成,旨在为客户带来更好的驾驶体验,为企业带来长久的经营效益。

3:软件合规标准覆盖交叉关系示意图

那么在软件产品全生命周期范围内,这些标准是如何支撑汽车软件满足合规性要求呢?图4以坐标系的形式展现软件合规如何达成。基于软件研发管理体系,按照纵横两个方向开展规划与指导,横向代表软件生命周期跨度以及体系维度,以全生命周期为时间轴,搭建软件流程体系框架,流程体系大致分三类:主要生命周期过程,即软件交付产品诞生的主要过程;组织生命周期过程,即项目管理、过程改进、项目重用等过程;支持生命周期过程,即质量保证、配置管理、变更管理等。纵向代表软件合规维度,涵盖软件V模型开发模式、敏捷开发模式、功能安全、网络安全等。各标准对汽车软件开发过程管理、系统设计、安全设计与管理、需求分析、详细设计、测试验证、以及软件升级等方面提供了系统性的指导方法,有效支撑合规要求达成。

4:合规框架示意图

2.软件合规应用场景

汽车作为日常出行的交通工具,会面临各种各样复杂的路况,其质量可靠性与安全性直接关系到驾乘人员以及道路使用者的生命安全。随着软件占比的增加,对汽车软件的质量和多维度的安全要求更高,其不能在车辆使用过程中频繁出现故障或功能降级。除质量要求外,主机厂与供应商还应遵循安全类标准开展整车产品和零部件的软件开发;在功能安全和预期功能安全的框架下保证消费者人身安全;在网络安全框架下保证消费者财产安全;在软件升级过程中,保证消费者数据安全等。图5以一辆自动驾驶汽车为案例开展应用场景解析,遵循ASPICE标准可满足软件质量合规要求,减少软件质量问题;遵循功能安全标准可避免由于电子电气系统失效故障导致的安全风险;遵循网络安全标准可规避网络/漏洞攻击,保护消费者财产与数据安全,同时满足汽车出口国法规要求;遵循预期功能安全标准可避免由于系统设计不足、人为误操作、场景误识别或漏识别引起的风险,最大限度保障消费者的人身安全。遵循软件升级法规可规避软件升级不规范或错误带来的风险,同时满足汽车出口国的法规要求。

5:合规应用场景示意图

四、敏捷开发在汽车软件研发中的应用

随着汽车智能化程度的不断提升,智能驾驶技术的深度应用以及座舱功能的极大丰富,由于硬件的标准化,其软件开发模式更符合互联网软件的开发模式,因此引入了敏捷的软件开发模式。敏捷开发以用户需求进化为核心,它强调团队自组织、高效协作、快速响应变化和持续交付以适应不断变化的市场需求。敏捷开发的主要优势包括提高开发效率、增强团队灵活性、产品快速上市和提升客户满意度。

6:敏捷模式示意图

敏捷开发方式通过软件的不断快速迭代和交付,让汽车有持续的生命力和不断攀升的价值。其优势主要体现在以下三个方面。

1.快速拥抱频繁变更的市场和用户需求

消费者对汽车的功能需求多样化、个性化甚至定制化。从对智能驾驶辅助功能的不同级别需求,到对车载娱乐系统丰富性的期望,市场需求变化迅速。敏捷开发方法可以让汽车软件开发者更快地响应这些变化,在短时间内推出新功能或改进现有功能。例如,当市场对车辆自动泊车功能的准确性和易用性提出更高要求时,敏捷团队就可以快速迭代软件算法和用户界面设计,以满足市场需求。

2.高压竞争态势下的产品创新

汽车行业竞争激烈,软件功能成为汽车产品差异化的关键因素之一。各主机厂为了在竞争中脱颖而出,需要不断创新,推出独特的软件功能。敏捷开发鼓励团队成员的创新思维,通过快速原型制作和迭代,可以快速验证新想法的可行性。例如,一些汽车制造商通过敏捷开发快速推出了基于虚拟现实的车载娱乐体验等创新功能,吸引了更多消费者。

3.缩短软件开发周期抢占市场先机

传统的软件开发方法在汽车软件领域往往面临周期过长的问题,导致软件更新换代缓慢。敏捷开发采用迭代式开发,将大型项目分解为多个小的迭代周期,每个周期都能产生可运行的软件版本。这样可以更快地将软件推向市场,提高企业的市场响应速度。例如,对于汽车软件的更新升级,敏捷开发可以让更新包更快地发布,减少用户等待时间。

尽管敏捷开发在互联网行业取得了巨大成功,但在汽车软件领域,其应用面临诸多挑战:首先,汽车软件的复杂性和安全性要求使得敏捷开发中的快速迭代和灵活性难以实现。其次,汽车软件的开发周期长,涉及多个供应商和合作伙伴,协调和管理的难度增加。最后,合规性要求与敏捷开发的原则存在冲突,如何在两者之间找到平衡点是关键。

五、合规性与敏捷开发的融合

1.融合的必要性

在竞争激烈的市场环境下,行业内卷严重,卷价格、卷交付周期、卷技术、卷创新等;各车企为抢占市场先机,整车研发周期持续缩短,产品快速迭代交付,测试周期被压缩,这些活动都在压缩质量和安全的空间,带来严苛的质量和安全挑战,甚至面临召回风险;行业法规重拳出击,如无法满足质量和安全性要求,产品可能会面临无法上市和出海的风险。因此软件合规性与敏捷开发的融合势在必行:合规性保证了软件的基本质量和安全性,而敏捷开发则提高了开发效率和市场响应速度。只有将两者结合起来,才能在保证安全的前提下,快速推出满足市场需求的产品。

那么如何应对这些挑战和风险,又该如何破局?首先是应对EE架构变革,重构软件研发流程体系,例如满足新EE架构的业务过程、安全合规的流程等;其次应用透明清晰化、上下游业务追溯等的开发过程管控,保证意识对齐,清晰业务策略与接口,解决信息离散化,模糊化,碎片化的问题,统筹全盘过程管控,解决复杂产品开发与集成过程,利用持续集部署和发布等方法,在缩短产品开发周期的同时满足法规要求。

以上的应对策略,如果没有数字化解决方案,将无法开展全局的、协同的、高效的过程管控,依托软件数字化管理系统,进行全新的企业布局、产品战略定位,合作伙伴生态整合、流程体系全面打通与协作,用以强力支撑汽车行业熬过这个竞争激烈的寒冬,是挑战、是压力、更是破局重生的新机遇。

2.融合的实践策略

1)文化和组织变革:推动组织文化向更加开放和协作的方向发展,鼓励跨部门合作,提高团队的敏捷性。

2)流程和工具的适配:全新EE架构下的业务流程贯通、融合软件合规与敏捷流程,使之既能满足合规性要求,又能适应敏捷开发的需求。同时引入支持敏捷开发与合规适用的软件全生命周期管理工具,来支持合规与敏捷融合的数字化落地,既能方便敏捷开发过程中的需求迭代,又能确保需求满足合规性的可追溯性要求。采用敏捷开发中持续集成、持续部署和持续测试(CI/CD/CT)的方法,在保证软件质量的同时加快软件发布速度,并且通过合理配置可以使其满足合规要求。

3)加强沟通和协作:加强团队成员之间的沟通和协作是确保合规和敏捷开发顺利进行的重要保障。开发团队需要建立有效的沟通机制,确保信息的畅通和问题的及时解决。此外,开发团队还需要注重团队协作和自我管理能力的培养,以提高开发效率和质量。

4)培训和学习:对团队成员进行敏捷开发和合规性标准的培训,提高他们对两者重要性的认识和实践能力。

5)定期评审和回顾:依托敏捷的冲刺回顾会,开展阶段性评审与复盘,是确保合规性和敏捷开发顺利进行的重要手段。通过评审和回顾会议,开发团队可以及时发现和解决问题,确保项目的顺利进行。同时还可以为开发团队提供改进和优化的建议,促进软件开发过程的不断完善。

6)引入大规模敏捷框架:为了应对汽车跨专业协同管理的复杂性,许多团队采用大规模敏捷框架SAFe来加速产品开发并管理不同团队和工件的交换。SAFe有着自己的价值观、原则、方法与实践,进而形成一整套有逻辑层次的框架体系,其8个主要特征为:协调对齐、信息透明、快速集成、节奏同步、给知识工作者自由度、设计敏捷、敏捷发布火车、PI规划会议,这些特征的开展在很大程度上能够解决大型汽车组织的敏捷应用问题。

7)风险管理:建立有效的风险管理机制,识别和评估敏捷开发过程中可能出现的风险,制定相应的应对措施。

3.融合架构

ASPICE质量合规为业务主线,围绕功能安全、网络安全、预期功能安全、软件升级定义融合体系框架;同步各开发阶段对质量、安全的合规要求、对敏捷和快速交付的适应等。以系统需求开发阶段为例介绍一下融合过程:在系统需求开发时需考虑ASPICE对需求的要求(追溯性和一致性等)、同时还应考虑功能安全、网络安全以及预期功能安全相关的安全类需求,建立融合的系统级需求,系统需求开发完毕后,将各类需求分配至下游开发过程开展工程设计;该过程能够更全面地将合规设计融入至产品中,使之满足合规标准要求;而在下游软件开发过程引入敏捷开发、CICDCT等,能够做到高效和高质量的产品交付,更快满足市场需求的同时,还能够满足合规的要求,两者相辅相成,深度融合敏捷与合规,详见图7所示。

7:融合架构示意图

六、案例分析

1某汽车制造商的自动驾驶软件开发

某汽车制造商在开发自动驾驶软件时,面临着既要满足功能安全标准(ISO 26262)又要快速迭代以应对市场竞争的挑战。他们采用了融合合规与敏捷的方法。在开发流程上,建立了以敏捷迭代为基础的框架,每个迭代周期开始时,首先由功能安全团队和系统工程师共同梳理安全和系统需求,明确安全目标和相关功能需求。在开发过程中,使用自动化测试工具对软件进行持续测试,包括对自动驾驶算法的模拟场景测试和功能安全相关的故障注入测试。同时,团队成员定期接受关于功能安全和敏捷开发的培训,加强了不同角色之间的沟通协作。通过这种方式,该汽车制造商在保证自动驾驶软件符合功能安全标准的同时,能够快速更新和改进软件功能,提高了产品的市场竞争力。

2.某汽车软件供应商的车载娱乐系统开发

某汽车软件供应商在开发车载娱乐系统时,需要遵循隐私保护法规和质量标准。他们将合规要求融入敏捷开发流程,在设计阶段就考虑了数据隐私保护机制,如采用加密算法对用户数据进行加密处理。在敏捷开发的迭代过程中,设置了隐私合规检查点,确保每个新功能的添加都不会违反隐私法规。同时,利用需求管理工具对用户需求进行管理,保证需求的可追溯性,满足质量标准要求。通过这种融合策略,该供应商的车载娱乐系统在市场上获得了良好的用户反馈,既保证了用户数据的安全,又能快速推出新的娱乐功能。

七、面向合规的敏捷开发价值与收益

1.降低法律风险

不合规的汽车软件可能面临巨额罚款。例如,在欧盟,违反汽车软件相关法规(如网络安全和隐私法规),最高可处以1000万欧元或企业全球年营业额2%的罚款(以较高者为准,数据来源于欧盟相关法规文件)。如果企业合规开发软件,就能避免这类巨额罚款。

2.提高生产效率

合规的开发流程能减少开发过程中的返工。通常,不合规开发返工率可能达到20% - 30%,合规开发可以将返工率降低至10%以内。以一个软件项目开发成本1000万美元为例,返工率降低能节省100-300万美元成本,同时开发周期也能缩短10%- 20%,加快产品上市时间。

3.增强市场竞争力

根据市场调研机构J.D. Power的报告,有近70%的消费者在购车决策中会考虑汽车软件功能的安全性和合规性。合规开发软件可以帮助汽车企业在这部分注重安全合规的消费者群体中提升竞争力。如果汽车企业市场份额为5%,通过软件合规开发吸引更多消费者,市场份额有望提升1 - 2个百分点。假设汽车企业年销售额为100亿美元,这将带来1 - 2亿美元的额外收益。

4.减少售后成本

汽车软件问题是导致车辆售后问题的重要因素。据Automotive News的数据,软件相关售后问题占总售后问题的20% - 30%。通过合规开发软件,能够减少软件问题导致的售后维修。假设每单售后维修成本为500美元,每年销售10万辆汽车,售后问题率降低10%,则可节省售后成本500×100000×0.1 = 500万美元。

八、结论

汽车软件的合规与敏捷开发是汽车行业软件发展面临的重要课题,对于汽车制造商和软件供应商在激烈的市场竞争中满足消费者需求、确保产品安全可靠具有至关重要的作用。尽管两者存在一定的冲突,但通过建立合适的融合策略,包括建立合规的敏捷框架、加强团队培训与沟通以及采用合适的工具和技术等,则完全可以在保证汽车软件合规性的前提下,实现敏捷开发,提高软件质量和开发效率。PTC全球资深副总裁兼大中华区总裁刘强曾经说:“用一个现代、集成、互联的数字化平台来整合汽车行业的整个产品研发流程,从整体上建立起以软件为核心的创新动力模式,不仅能够真正帮助汽车企业实现具有颠覆性的创新,建立自己不可动摇的市场竞争力,而且也是汽车企业同时实现汽车软件合规和敏捷开发的不二选择。”

未来,随着汽车软件的进一步发展,合规与敏捷的融合将不断深化和完善,以适应新的技术和市场挑战。

END


本公众号声明:

1、如您转载本公众号原创内容必须注明出处。

2、本公众号转载的内容是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请作者或发布单位与我们联系,我们将及时进行修改或删除处理。

3、本公众号文中部分图片来源于网络,版权归原作者所有,如果侵犯到您的权益,请联系我们删除。

4、本公众号发布的所有内容,并不意味着本公众号赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本公众号证实,对本文全部或者部分内容的真实性、完整性、及时性我们不作任何保证或承诺,请浏览者仅作参考,并请自行核实。