当前位置: 首页 > article >正文

汽车软件开发之敏捷开发

一、前言

目前汽车电子产品,特别是汽车几大域控(如:智能座舱、智能驾驶、智能网联、车身控制)市场竞争激烈,消费者对汽车的需求逐渐多元化和个性化,用户对座舱和智驾产品的要求也越来越高。他们不仅要求产品具有创新性和科技感,还要求产品能够提供更加优质、便捷的驾驶体验。但目前该领域产品迭代快、精度高、制造工艺难,所面临的形势无疑格外严峻。

如何平衡消费者对产品、服务及交付时间的期待,成为每个品牌与产品无法绕开的难题。车企需要不断学习并提升自己快速适应变化的能力来加快创新速度、缩短生产周期,以确保新车型在进入市场时能够占领创新高地。敏捷开发方式成为众多车企的选择。

目前汽车软件研发,主要采用 V 模型,其是由瀑布模型演变而来的,也是目前汽车行业运用最广的软件开发模型。它强调在项目开始阶段就对需求进行详细的分析和定义,然后依次进行设计、编码、测试等流程,直到项目完成。V 模型标准化软件开发流程是客户和产品开发方的共同语言,通过实施 V 模型,方便客户进行评审和管控供应商开发质量;通过规范和标准化软件开发流程,有助于降低产品缺陷率和提高产品质量。但其实施成本高、开发周期长、无法及时评审过程产物,也成为汽车软件研发的难题。

二、产品敏捷开发流程管理

与传统瀑布式方法相比,汽车电子产品开发流程的优化方案就是将敏捷开发和 V 模型结合使用。敏捷开发是一种迭代式、增量式的开发方法,强调对需求变化的快速响应和持续交付有价值的软件,将其用于产品的开发,实现敏捷迭代。同时,针对具体产品的特点,强调功能安全的重要性,利用 V 模型的需求管理方法来确保需求的准确性和完整性。通过结合敏捷开发和 V 模型,可以实现对汽车软件开发过程的全面评估和改进,提高产品研发质量和可靠性。

1. 产品敏捷迭代

持续开发、持续集成和持续部署共同构成了敏捷开发过程。通过持续开发,可以快速响应客户需求的变化,提高软件的质量和可靠性;通过持续集成和持续部署,可以确保软件的完整性和稳定性,并最终实现软件的快速上市。

2. 敏捷开发在汽车软件开发上的应用

2.1 需求驱动

减少需求层级,适应快速敏捷的需求:传统 V 模型的开发流程中有 4-5 级的需求文档,每层均对应一个团队,每层均需要文档编写、上下游对齐时间,阻碍了敏捷开发。在运用了敏捷模型的汽车软件开发团队,将需求层级减少为 1-2 级,最终完成从产品需求到软件需求。这些需求编写同样采取敏捷迭代的方式进行。

产品负责人驱动产品&软件开发:传统V 模型的开发流程中是由项目经理驱动软件开发,在运用了敏捷模型的汽车软件开发团队,产品经理负责产品和软件需求,由产品经理将需求下派到软件开发团队,并确定开发计划、验证计划等,最终完成产品的验收。

2.2 功能和安全事项不同的开发管理方法

对于不涉及汽车安全的功能或产品,采用快速迭代的敏捷开发方式:对于不涉及汽车安全的功能或产品,强调的是快速回应用户需求和满足用户体验,允许在软件系统鲁棒性方面进行迭代改善(包含量产后的迭代改善—OTA)对于功能安全需求,采用 V 模型进行开发:对于功能安全需求,强调的开发受控,达到减少用户危害、同时满足严苛的(对内&对外)审核的要求,需要重视流程和文档管理,采取 V 模型进行开发。

三、总结与展望

随着智能汽车的蓬勃发展,汽车功能日新月异,软件代码量日益增加,传统 V 模型下的瀑布式开发已经不堪重负,为了快速交付给客户最迫切需要的功能,软件开发流程的转变至关重要。目前,越来越多的开发公司转向了敏捷开发。但在实际工作中,要实现敏捷转型,也面临不小的挑战。

根据敏捷年度报告中的统计,敏捷转型中面临的挑战主要有以下方面:

从占比最高的前三项可以看出,对于很多组织来说,内部文化仍然是敏捷转型的巨大阻碍。

因此,汽车软件开发流程向敏捷开发转变的过程,也是内部组织架构调整的过程。主要需要解决以下问题:

1.缺乏领导层的支持:

实行敏捷,组织架构上的微调是必不可免的,例如,一个SCRUM 团队,需要产品、开发、测试、集成等各个职能人员,而这些人员通常分属不同部门管理,SCRUM 团队管理者想要有序推进工作,就需要领导层的支持才能保证团队各成员的配合。

2.组织对变革的阻力:

  • 接受新的观念、流程对很多人都较为困难,且在转型初期会较为痛苦;

  • 敏捷特别讲究量化数据,这会使得一些浑水摸鱼、工作量较少的员工暴露出来,他们天然会反抗这种转型;

  • 敏捷转型后,整个组织自驱力越来越强,需要的管理人员则会变少,造成的人员冗余问题又会导致内部产生阻力。

综上所述,敏捷开发将会是汽车软件开发流程的转变趋势,但转向敏捷的过程仍面临组织内部的巨大阻力。同时,目前汽车行业仍然要求软件开发必须符合 ASPICE 认证要求,这导致软件开发团队无法彻底摆脱传统开发模式的束缚。当前 ASPICE 与敏捷开发的结合,往往也是敏捷主导着整个开发流程,而 ASPICE 流于形式。转向敏捷开发,不仅需要软件开发企业内部管理的调整,也依赖于未来行业标准的转变。       


http://www.kler.cn/a/310646.html

相关文章:

  • MicroPythonBLEHID使用说明——蓝牙鼠标
  • 管家婆财贸ERP BB045.销售批量收款
  • 【Elasticsearch入门到落地】1、初识Elasticsearch
  • Docker网络和overlay的基础讲解
  • 羊城杯2020Easyphp
  • c/c++--struct对比
  • Spring 源码解读:手动实现Spring事件机制
  • JSON.parseArray 内存溢出
  • 【第十一章:Sentosa_DSML社区版-机器学习分类】
  • Oracle数据库高级技术探秘:分区表管理与代码实战
  • Python 全栈系列271 微服务踩坑记
  • 数据库学习02——mysql清空表数据后 IBD 文件仍很大的解决方案
  • 面向开发者的LLM入门教程(学习笔记01)
  • 探索学习Python的最佳开发环境和编辑器
  • 家用燃气报警器-家庭可燃气体探测器-旭华智能
  • 【网络安全】服务基础第二阶段——第四节:Linux系统管理基础----Linux网络与日志服务器
  • Docker 镜像制作(Dockerfile)
  • 为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器
  • Mini-Omni:语言模型可以在流中听、说和思考
  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • Spring boot aop集成(面向切面的编程)
  • TMStarget学习——T1 Segmentation数据处理及解bug
  • js进阶-作用域是什么
  • idear导入他人项目如何快速运行
  • 【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)
  • 环境搭建2(游戏逆向)