当软件能够自编自写

软件对汽车行业的发展起到越来越重要的决定性作用。保时捷工程罗马尼亚公司总经理 Marius Mihailovici 在本文中展望了软件开发的未来,并阐述了为何程序员工作在未来20年内将发生翻天覆地的变化。

今天的汽车已成为轮胎上的计算机。如今一辆汽车中最少装有 70 至 100 个电子控制单元(ECU),用它们组成的网络来实现各种功能。例如,ECU 控制燃油喷射、调节车辆制动行为、监控空调设备。未来发展的下一步将是 HCP(高性能计算平台),它能明显提高 ECU 的计算能力。

随着车辆中的代码行数以及功能复杂性的不断增加,更高的计算能力和更好的集成性必不可少。用一个数字足以说明一切 —— 1 亿行。准确地说,一辆现代化汽车中所使用的代码多达 1 亿行。对比一下,一架波音 787 Dreamliner 客机只有 1,400 万行代码。

车辆的娱乐系统和导航系统也离不开大量代码。此外,人们的智能手机和其他设备也能够与汽车互联,这些功能都需要复杂的软件才能实现。软件的作用还远不止于此。它在汽车中担负着越来越重要的任务。不管是现在还是未来,汽车软件最重要的功能包括与其他交通参与者和基础设施交换数据、从云端为车辆更新升级,最终甚至可以实现自动驾驶。

软件研发的“平衡术”

汽车软件的研发环境往往非常严苛。各种安全法规和客户要求使得开发人员的必须严格遵守的设计说明书厚重无比。软件行业中常见的开发流程通常是以时间为导向的,根据客户要求的时间表来确 定若干开发阶段。我们的客户期望能够在约定的日 期得到相应的结果。

Marius Mihailovici, Managing Director of Porsche Engineering Romania, 2021, Porsche AG
Marius Mihailovici 的团队拥有极高的自由度并能够自己设定目标。

除此之外,汽车软件还需要完成政府部门的获批流程,即所谓的认证。例如,根据规定,某款车型只有在已制造和验收了一定数量以后才能投放市场。另外,汽车行业中的开发总是要达到“已完成”的状态才能进入下一个阶段。

所有这些不同的挑战意味着开发人员的工作需要快速而又灵活。他们的工作目标通常是在短时间内确定的,而且经常发生变化。可以说,软件的开发以结果为导向。

敏捷开发与持续集成

我们在克卢日分公司的软件开发人员所使用的开发工具在过去 20 年一直非常行之有效。那就是尽可能采用敏捷开发。这种方法将开发流程分为多个小阶段,其结果可以在每日反馈中进行审核。各个开发团队都拥有很大的自由度,团队之间也直接合作,从而发挥各自的能力相辅相成。他们每天自主灵活地设定目标。团队负责人通常只起到协调的作用,只需掌控全局。

当前软件开发的另一个标准是“持续集成”。这是一个高度自动化的过程,开发团队需要在每个工作日结束时检查软件元素的可操作性,并将其集成到整个系统中。这样我们就能够快速识别问题并修复错误。敏捷方法和持续集成可提高软件开发的效率,并为客户提供附加价值。这意味着能更为顺畅地向客户展示中期结果,同时也便于客户快速提出反馈意见。

我认为上述方法将在未来五年中越来越多地被采用。我们将更加注重结果,而不是时间。开发团队层级结构的重要性可能会削弱,我认为更扁平化的自组团队才是大势所趋,因为只有这样才能承担更明确的责任。此外,工作地点灵活多样也将顺理成章。这也符合我们“能力优先,地点不限”的用人原则。在接下来的几年里,自动化程度也将不断提高,越来越多的软件将同样通过软件而不再是人来测试。手动测试将完全退出历史舞台。

汽车与周边环境的界限愈发模糊

汽车行业之外的发展情况也将迫使我们转换思维,因为汽车已经越来越多地融入到驾驶者的数字化生活当中。例如,当您坐进驾驶室时,智能手机会自动连接到车辆中。多媒体、导航、通讯等功能无缝地融合在一起。

这些使用场景将改变我们软件开发人员的工作内容,原因很简单:纯粹的“汽车软件”与其他应用程序之间的界限已变得越来越模糊。这就需要我们的开发人员拥有新的思维模式。我们的工作人员自己也处于数字化的生活方式中。他们不仅知道我们的客户想要什么,还知道车辆使用者对汽车有何期待。

未来的 ECU 将影响软件开发

新的 ECU 架构也正在改变汽车软件的开发方式。未来的汽车中将会由少量的中心化的、算力更强的 HCP 计算机,以及底层简单的专有 ECU 进行控制。除基本功能以外的所有应用程序都将在这些中央单元上运行,例如娱乐系统、数据传输或通讯应用等。这些配备真正操作系统的中央控制单元实际上将汽车变成了四个轮子上的电脑。

对于开发人员来说,这意味着他们的工作方式并不会发生太大变化,改变的只是他们需要处理的那些系统:层次结构更多、组件更少,并且由一个整体软件进行控制。与其他软件一样,定期更新也必不可少。也就是说,汽车软件不再只是一次性的开发和安装,而是需要不断地持续开发,即使汽车早已交付给客户。

未来不再需要软件开发人员?

未来还会有软件开发人员吗?这个问题并不荒谬。一些专家认为,人工智能(AI)将在未来二十年内完全接手软件开发的工作,汽车行业也不例外。当然,业界对此也有不同的看法。我个人认为,更可能的情况是由我们制定框架条件,然后由AI来付诸实施。我们仍然需要软件架构师、需求工程师和软件工程师来定义AI或神经网络需要完成的工作。也就是根据定义的需求生成软件功能,并不断进行自动测试和纠正,直到软件质量达到预期水平。

因此,未来开发人员的思维模式必须能够着眼于整个系统。他们必须知道最终客户如何使用汽车。他们的工作不仅取决于 OEM 的要求,而是更多地由消费者决定。但是,我坚信一点,没有任何软件是完美无缺的。错误总是在所难免。我们只是不再需要亲自进行查找和修复。在软件专家的监督下,未来的新系统可以自行做到这一点。

Marius Mihailovici

Marius Mihailovici 自 2016 年以来一直担任保时捷工程罗马尼亚分公司的总经理。在此之前,他曾就职于阿尔卡特朗讯/诺基亚公司并担任研发主管,另外还曾在 2G 和 3G 项目中担任软件经理一职。在任职于 World Telecom 期间,他曾担任通信工程师。

信息

文字:Marius Mihailovici

本文最早刊发于保时捷工程杂志 2021 年第 1 期

相关文章

基于数据的车辆开发是不可或缺的
Innovation

基于数据的车辆开发是不可或缺的

可持续发展、人工智能和整车制造商与技术服务提供商之间的新型合作伙伴关系:保时捷股份公司研究与开发董事迈克尔·施德纳博士(Dr. Michael Steiner)和保时捷工程管理委员会发言人马恩博(Markus-Christian Eberl)在访谈中探讨关于汽车开发领域中最重要的议题。

现实道路上的耐久性测试
Innovation

现实道路上的耐久性测试

在全球范围的车辆验证工作中,车辆开发工程师、测试工程师及质量工程师须将整车基于特定市场进行功能验证,从而确保其实际符合预期性能。为此,相关团队必须将自身对技术的深刻理解与特定市场的具体情况相结合,为客户提供高效专业的服务。