• 825查看
  • 0回复

[应用层软件] 谈谈在V模型流程中引入敏捷开发

[复制链接]


该用户从未签到

发表于 29-8-2023 14:19:35 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


汽车软件在复杂性、高可靠性、安全性要求、变更管理以及物理系统特性方面处理起来很复杂,因此汽车软件开发流程都遵循V模型模式,然而随着汽车软件的复杂性呈指数级增长,传统的V模型往往导致后期验证阶段的成本非常高,并且对后期市场和客户需求缺乏灵活性。在当前行业对自动驾驶领域需求还不够明确,以及汽车的开发周期逐渐缩短的条件下,汽车软件开发需要引入敏捷开发流程,一来其可以保证产品更早地投放市场,二来快速响应市场和客户不断变化的需求,支持汽车行业从传统制造业向以"汽车客户需求"为中心的服务型制造业转型。

敏捷开发是一种灵活的方法,它允许软件的增量开发和迭代开发,而不是在开发过程结束时一次性交付所有软件【对传统的汽车ECU,车辆量产前会进行各ECU软件冻结,供应商一次性交付所有软件,在量产后如果需要某个ECU增加新功能,供应商不会再理会的,因为之前的开发合同已到期,需要重新签开发合同,除非是出现软件bug,需要修复】。

尽管这两种方法——敏捷和V模型——都有其优点,但挑战和局限性仍然存在,尤其是在汽车软件开发方面。接下来理一理敏捷开发在汽车软件开发中的应用、其优点、挑战和局限性。以及结合使用敏捷开发和传统过程V模型的效果。

将敏捷开发集成到V模型中的第一步是分析当前V模型面临的主要挑战,以及敏捷开发所具有的优势。两者的对比如图1所示,它都描述了V模型与敏捷开发不同的处理方式。

例如,就合作方式而言,在传统的V模型项目中具有详细而全面的客户合同。到合同结束后会有带来一些问题,由于复杂项目的不确定性以及不断变化的客户需求,合同上确定的需求与实际客户需求有出入。敏捷开发则在整个项目执行过程中保持持续的客户互动,持续接收客户的反馈和变更请求,并在过程中共同开发和审查软件,就预期结果达成一致。

谈谈在V模型流程中引入敏捷开发w1.jpg

图1 V模型与敏捷开发对比

但是在复杂的汽车软件开发项目中融入敏捷开发是一项艰巨的任务,如何在V模型中融入?会带来哪些挑战?效果会不会如描述的那么好?这些都是问题。

将敏捷开发融入到V模型的汽车软件开发的主要手段有以下几个方面:

1、在模块级别上实现增量开发,以分解复杂性,允许用户参与并支持后期更改。

2、通过就增量冲刺的目标达成一致,而不是为软件的完整交付而谈判合同,来促进用户的参与。这将计划的范围从完整的项目时间规划细分为一个个敏捷sprint规划。

3、摆脱基于纸质(或文档)的规范,使用根据使用场景和用户故事进行验证的工作软件。

谈谈在V模型流程中引入敏捷开发w2.jpg

图2 在V模型开发中融入敏捷开发

下面以将敏捷开发过程中的增量开发融入到V模型开发为例子,进行详细说明。

在基于V模型的软件开发中,通过对整个软件体系结构的分层分解,定义了一组软件模块,这些模块实现了客户所需的功能。在传统的V模型中,这些模块先经过充分的开发和测试,然后集成到整个系统中,再进行测试。这个过程的最后一步是客户的验收测试。这将导致客户很晚才参与到反馈中来,从而导致很晚才提出更改请求。

敏捷开发是将模块开发分解为几个增量步骤。这些步骤是作为敏捷冲刺sprint执行的,它根据客户要求的功能以增量方式实现功能。对于每个 sprint(或一组 sprint),客户都会参与每期sprint的输出审查。这是一个挑战,因为必须将每个sprint的开发任务集成到整个系统中,如果不集成到整个系统中,客户可能无法评估软件的质量。软件在环 (SiL)或模型在环 (MiL) 可能有助于软件的验证。

上述的这些想法也跟部分主机厂的工程师进行过一些沟通,为了应对当前不断变化的需求,主机厂的工程师其实也觉得在V模型开发中融入敏捷开发的思想是可行的。

然而这种转变并非易事,因为汽车行业几十年来一直遵循V模型开发流程。相关的标准是基于这些过程的,项目管理和客户交互工作也相应进行。需要主机厂与供应商共同努力,推进这种改变。



该用户已被删除
发表于 18-3-2025 00:32:07 | 显示全部楼层
针对汽车软件开发中引入敏捷开发来应对V模型流程的挑战,以下是我的回复:

在汽车软件开发中,面对软件复杂性、高可靠性、安全性和物理系统特性的挑战,传统的V模型流程确实存在后期验证成本高昂、缺乏市场灵活性等问题。因此,引入敏捷开发流程至关重要。敏捷开发允许软件的增量开发和迭代开发,能显著减少开发时间和成本。通过早期产品投放市场,敏捷开发能够促进快速响应市场和客户不断变化的需求。同时,敏捷开发支持汽车行业从传统制造业向服务型制造业转型,更好地满足“汽车客户需求”为中心的理念。在具体实施中,应重视持续集成和交付、跨部门协同合作、风险管理等核心要素,确保在灵活开发的同时保障产品质量和安全性。这样,汽车软件在面临多重挑战时,通过敏捷开发能够更好地适应市场需求并实现可持续发展。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 18-3-2025 00:32:07 | 显示全部楼层
在汽车软件开发流程中引入敏捷开发对于处理复杂性、高可靠性、安全性和变更管理等问题具有显著优势。在V模型流程中,敏捷开发能够提供更高的灵活性和响应速度。

针对汽车软件的复杂性,敏捷开发通过增量开发和迭代开发的方式,将大型软件项目分解为多个小模块,每个模块独立开发、测试,有效管理复杂性。对于高可靠性、安全性和物理系统特性方面的要求,敏捷团队会紧密协作,确保软件与硬件系统的无缝集成。面对变更管理,敏捷开发能够快速响应并有效管理变更,减少后期验证阶段的成本。总之,敏捷开发在保障产品质量的同时,能够灵活应对市场和客户需求的变化,促进汽车行业向服务型制造业转型。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 02:19 , Processed in 0.325342 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.