敏捷开发方法在汽车电控软件开发中的应用

1、什么是敏捷开发方法?


      敏捷开发方法百度百科的解释是:敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

      敏捷开发方法的具体应用流程:通过客户需求提炼出产品功能列表,通过计划会讨论需要完成的阶段性的产品功能列表,工程师开始开发-测试-发布的迭代过程,并进行功能的细化,每天都会进行每日站会,完成后交付阶段性的产品功能软件,用于软件发布应用。每次迭代过程工作主要包括:计划会议、每日站会、开发工作、评审会议和回顾会议。

1.1 敏捷开发框架参与人员


根据上图,发现Scrum敏捷开发框架中人员包括:产品负责人Product Owner,教练及团队带头人Scrum Master,开发团队Team。

Product Owner:产品负责人。定义产品功能,决定产品发布,根据市场变化对功能排列优先级,调整产品功能和迭代顺序,认同或者拒绝迭代的交付。

ScrumMaster:教练及团队负责人。领导团队遵循Scrum的原则、方法,排除团队遇到的困难,确保团队高效率的工作。

The team:开发团队。团队成员包含开发人员、测试人员、外部验收人员等等。

1.2 Scrum 整个开发过程分为五个会议


1)待办事项整理会议

  • 由产品负责人将下次需要迭代的用户需求,描述给团队成员,教练及团队成员说出不理解的地方进行讨论,通过完善和解决,最终形成产品功能列表。

2)迭代计划会议

  • 接下来的 Sprint 交付的增量中要包含什么内容?要如何完成交付增量所需的工作?

3)每日站会

  • 每日站会上团队成员需要回答以下3个问题:昨天,我为帮助开发团队达成阶段性功能需求目标做了什么?今天,我为帮助开发团队达成阶段性功能需求目标准备做什么?是否有任何障碍在阻碍我或开发团队达成阶段性功能需求目标?

4)评审会

  • 评审会议在阶段性迭代需求任务快结束时举行,用以检视所交付的产品增量并按需调整产品待办列表。在小组向产品负责人展示迭代工作结果,产品负责人给出评价和反馈。

5)回顾会议

  • 回顾会议的目的在于:检视前一个需求迭代任务中关于人、关系、过程和工具的情况如何;找出并加以排序做得好的和潜在需要改进的主要方面;制定改进 Scrum 团队工作方式的计划。

2、为了推动敏捷开发在全世界的行业应用,发表了敏捷宣言,什么是敏捷宣言?


  • 个人和交互重于开发过程和工具

  • 可用的软件重于复杂的文档

  • 寻求和客户的合作重于对合同的谈判

  • 对变化的响应重于始终遵守固定的计划

3、为什么汽车行业要使用敏捷开发?


  • 如今汽车行业的内卷,并且类似于自动驾驶项目,没有明确的开发需求,以及市场竞争激烈,新鲜科技事物的属性,百家争鸣,百花齐放,谁先发布产品谁就占领市场。敏捷宣言中也提出对变化的响应重于始终遵守固定的计划,因此,引入敏捷开发方法对于类似自动驾驶的项目开发有着重要的优势。

  • 敏捷开发方式,让汽车有持续的生命力和不断产生的价值。通过软件的不断快速迭代和交付,能让客户对汽车产品有新鲜感,有利于品牌价值的提升。

  • 高效,在开发过程中,客户,开发人员和产品负责人强调以客户的需求不断更新,以产品为目的,而不是流程和工具。

  • 敏捷开发模式能够使得开发人员关注产品,通过快速的迭代优化和发布,使得产品性能更优越,让产品保持持续的竞争力。

4、敏捷开发使用的工具有哪些?


产品代办列表:以用户故事的形式来建立产品待办事列表,参考网络上的模板。

图片

冲刺列表:当迭代任务开始后,就会制作冲刺列表来记录当前各个需求所处的开发状态。

图片

燃尽图:显示未完成的需求数量,总体目标数减去已经完成的需求数,按照时间进度的进行排列,用来直观地显示功能开发的进度。

图片

5、敏捷开发方法的如何应用?


     对应的软件核心迭代流程就是:总体需求库进行分解为需求组1、需求组2、需求组3、等等。需求组1-开发1-测试1-发布1-需求组2-开发2-测试2-发布2-需求组3-开发3-测试3-发布3。

     在需求组1、需求组2、需求组3每次需求迭代的过程中进行计划会议(迭代前)、每日站会(迭代中)、开发工作、评审会议(迭代完成时)和回顾会议(评审会议结束后),并结合敏捷开发的工具,来实现产品按时按质发布的目标。

6、总结


      敏捷开发流程确实是很敏捷的,流程简单易用,通俗易懂,但是对于开发人员的专业素质要求很高,要求团队的每个人都是极其专业的人员,能面对各种挑战。同时,敏捷开发流程过于太敏捷,文档记录的方面确实存在欠缺,特别是全新的项目,有着不稳定的因素,因此,需要裁剪其它的开发流程进行融合开发。

文章来源:车载控制器开发及测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值