PhotobyRachaelRinchiuso 汽车主机厂实现敏捷开发的赋能 手段 Kearney,Chicago 一、汽车智能化成为共识,软件能力将会是主机厂间竞争的关键点 随着E/E架构的不断迭代,传统的面向系统为导向的架构正在朝着面向服务为导向转化。这也就意味着,以前高度集成化的硬件和软件正在解耦,使得软件作为独立的中心化平台而运行。在汽车智能化的大趋势下,“软件定义汽车”成为产业共识,软件及计算能力成为新时代下汽车的核心。软件将深度参与到汽车定义、开发、验证、销售、服务等过程中,并不断改变和优化各个过程,实现体验持续优化、过程持续优化、价值持续创造。 需求决定软件架构,软件架构决定硬件架构,硬件架构决定整车架构。软件功能作为与用户连接的直接接口,逐渐与硬件一起作为产品力的衡量标准之一。因此,整车厂希望通过推出有吸引力的软件集成汽车产品,来获得用户的 持续认可,这是其加强软件开发的根本目的。图1列出了 整车厂和主要高科技厂商在软件研发方面的支出。 在面向软件的组织方式下,参与者需适应不同于传统模式下的诸多变化——软件开发的周期大大缩短,架构从整体化向模块化转变,客户需求从长周期转向实时动态。为了实现对新功能的实时更新与部署,软件架构进行模块化分解,形成标准化、即插即用的组件,以适应软件产品的快速迭代,并达到节省开发成本、提高开发效率的目的。与此相对应的,为了建立一个以软件为中心的汽车公司,在组织与流程、资源与能力、心态与文化方面都需要做出调整。科尔尼认为,推进开发流程的敏捷度、提升组织的灵活度,将有助于传统车企面向软件为中心的转型。 ओ1 ઈኜ׃ᭈբ՛ᭅॐןᎰ༚ᎎೋູ᷎ဿ Ẹᒝഃࠛรᭀތᭈᐕޫงۧય༚ ဌ୶ᭈᐕޫงۧₚᎌԾᙃڏₛ GoogleAppleVW/Cariad Toyota MercedesStellantis BMW FordGMAA/AAOS/GAS Rivian Tesla 32,000 22,000 3,500 2,000 1,500 1,200 1,100 900 800 800 750 600 ဌ୶ݱ᭞ၘᭀᎎᭈᐕޫงۧₚᙃڏₛ Rivian1,500 Nio1,100 Mercedes750 BMW497 Tesla400 Cariad&VW350 Ford225 7 ႐€ڦᴈ٠᧾ݎാ₭ན᫃௸ืᎎมൺ1&.372.0₭ဌ᭞ᭀᎎมൺॷ֊2021୶ݱ׳᳝ᱞ᧤ᔯᎎײᢂ໓ၘᭀࠛ6MZMERᶘᮌՔખᭀבᎎมൺॷ֊2026୶ڥᨆḙჂ ֭ᐕޫงۧʗၩສڦ֊ᐺ᱘᪘ೋູᎎ٠᧾໓ᄽ€ᒝ્ 汽车主机厂实现敏捷开发的赋能手段2 Renault 214 Stellantis 195 Toyota 169 Nio 550 GM 12 Renault 300 DACIAstandalone 55 AppleCarPlay 200 AA/AAOS/GAS 16 DACIAstandalone AppleCarPlay 6 二、敏捷开发优势凸显,愈发受到主机厂重视 ओ2 Vྐྵॐ€ᓯ܆ᓯޫګॐઈ SOPܖᎎ۾ޫ SOPߕᎎՄึᅪᮍ V2Xᦿ༯ V2Xᶻೋ ᷎ဿ POLARION Jira ᖋᗖ Jira ܮᛣ ᧧ᨁ V2Xᦿ༯ V2Xᶻೋ ᓯ ܆ᓯ ޫ รᭀჂᨓ JENKINS ᖋᗖჂᨓ ENOVIA ܮᛣჂᨓ CATia ޫ SOP ᷎ဿ POLARION Jira ᖋᗖ Jira ܮᛣ ᧧ᨁ รᭀჂᨓ JENKINS ᖋᗖჂᨓ ENOVIA ܮᛣჂᨓ CATia ޫ ۾ਁᐺᎎךݕࠛᶐູ 18ຩ 10 11 3-6ຩ ዻఛᖋᗖḎᎰᔲኵܭڡઍₚ413ₛᚐ ՛ऒ܈᮹సೋູ ໓ᄽ€ᒝ્ 汽车主机厂实现敏捷开发的赋能手段3 目前应用V模型进行软件开发仍是主流 V模型(见图2)是汽车主机厂对E/E架构平台型软件的开发模型,也是A-SPICE(AutomotiveSoftwareProcessImprovementandCapability)这一汽车行业广泛应用的软件开发体系的基石。V模型将软件开发过程中的技术要求、需求分析、开发、以及测试环节以V形排布。从整体,到架构层,到系统层,到功能层进行需求分析,再开始开发,待开发工作完成后,又逐层向上从功能测试,到系统测试,到整车测试认证,以及系统集成工作。 通过应用该模型,汽车主机厂可以一步步深化拆解分析需求,在开发后,又能够自下而上的层层验证测试。该模型能够很好的满足车企对于大型复杂系统和软件的管理需求,因而得到了欧美系车企的大力推广和应用。自A-SPICE于2005年发布以来,越来越多汽车主机厂不仅在自身的研发部门需要使用,甚至开始要求其Tier1一级供应商在进行软件交付时也要应用V模型并符合A-SPICE的标准。 敏捷开发模型由于其在软件快速迭代方面的优势,也越来越受到主机厂重视 随着中央计算架构的不断发展,以及OTA的逐渐普及,终端功能性应用的日益增多,,主机厂也越来越多地需要快速迭代软件版本,以满足客户需求,同时在与其他车企竞争中能够保持领先一步。而传统的V模型软件开发则太 过复杂庞大,在应对灵活多变的客户需求时,显得冗长拖沓。举例来说,一个完整的V模型开发过程,通常需要12甚至18个月的时间,而软件更新在V模型下也需要3-6个月的时间,而这显然是无法满足客户需求的,因此主机厂开始引入敏捷开发(Agile)模式,希望能够在部分需要快速迭代的软件功能开发上,实现对消费者需求的快速满足。 敏捷模型(见图3)则是一个闭环的开发流程模型,从规划,代码,编译打包,测试,发布,部署,到反馈,调整持续改进,并最终回到规划环节。可以看出该模型的特点在于以客户为中心,持续获得反馈,持续改进;由于不像V模型那样每次都将收集获得的全部需求统一分析处理,而是分布式渐进式的逐步改进调整,因此其软件开发以及版本迭代的 时间也被大幅缩减。 V模型和敏捷模型这两种开发体系,在适用软件特性、开发时间、灵活度以及对客户需求的反应速度上存在差异(敏捷模型更多应用于智能驾驶舱、互联网等相关应用,而关于动力总成、电池等仍然需要依照V模型,其中具体功能可通过敏捷方式迭代)。长期看两者会共存,也因此主机厂需要熟练掌握这两类开发体系。对于V模型,各个主机厂近年来已经有了较多的应用;对于敏捷模式,由于是从高科技行业引入,传统主机厂还需要进一步掌握该流程的使用,而具有互联网基因的新兴主机厂如Tesla,蔚小理等,则已经能够比较好的应用该模式进行开发工作。 3 ൽޫྐྵॐ€ऎᗍઋೞ᷎ဿᎎఐ᮸ຢุ ോᗢᶻೋോᗢᰎᘼ ޫኜन 1151112 ോᗢฌᮍ10ᜱܳݕᰎᘼ 2 JiraConfluence9REDHAT ANSIBLE Automation 3 ᮚׁޫཡ༎ࠛBambooငཡ༎ࠛዻ֛ᘈඊ ᩀร۰ᶁᩀร 4BitbucketJenkinsJira 14 ോᗢ᪓එ8ᩀรڦᴈᗟฑ്༚ުṤ 5 67 1ᓯ܆ᓯᶻೋ᷎ဿାᒲ4ڦᴈ֥೪᪶ᛣᎎᭈޫ7ᓯ܆ᓯჂᨓՅᶻೋᎎ10େࡰۧᭀ᭞ᎎോᗢຢุ13ᭈࠛܮᛣ᪒୍ݕ ᜱܳݕຢุ܈ՅᶻೋႻᒲ 2׃ܮᛣբલߘᎎดൽޫ5ॷ֊ାݱᎎᶻೋழାڪ8ᯚິᎎኜनᭈຢุ11ဌՔࠋԻ࿗ᎎܮᛣޫ14ঝٝมൺ᱘ᶻ ᳛ݭ 3׃ܮᛣբલߘᎎᭈ᧾᧤6ݱழେࡰᭀ᭞۰งᗋ9༚ےࠛᭈڟ12ڟᎎOTA15ઈ๕มਫ਼੬ዻኜՅ ओ3 ดൽޫྐྵॐ€ऎᗍઋೞ᷎ဿᎎఐ᮸ຢุ ോᗢᶻೋ ޫ 115 ോᗢᰎᘼ ኜन 1112 ᜱܳݕᰎᘼ 10 ോᗢฌᮍ 2Jira ᓯ ܆ᓯ 3 Confluence REDHAT 9ANSIBLE ۰ᶁင Automation ޫᮚׁޫ ཡ༎ࠛ ᩀร Bamboo ཡ༎ࠛ ᩀร ዻ֛ᘈඊ Bitbucket ോᗢ᪓එ 4 5 67 ݰ Jenkins 814 ᩀร Jira ڦᴈᗟฑ്༚ުṤ 1ᓯ܆ᓯᶻೋ᷎ဿାᒲ 2 ᎎ ޫ׃ܮᛣբલߘᎎดൽޫ ᪶ ᛣ3׃ܮᛣբલߘᎎᭈ᧾᧤ င ೨Յ 4ڦᴈ֥೪᪶ᛣᎎᭈޫ 5ॷ֊ାݱᎎᶻೋழାڪ ᳛ݭ 6ݱழେࡰᭀ᭞۰งᗋ 7ᓯ܆ᓯჂᨓՅᶻೋᎎ10 ᜱܳݕຢุ܈ 8ᯚິᎎኜनᭈຢุ11 9༚ےࠛᭈڟ12 େࡰۧᭀ᭞ᎎോᗢຢุ13ՅᶻೋႻᒲဌՔࠋԻ࿗ᎎܮᛣޫ14 ڟᎎOTA15 ᭈࠛܮᛣ᪒୍ݕঝٝมൺ᱘ᶻઈ๕มਫ਼੬ዻኜ ໓ᄽ€ᒝ્ 汽车主机厂实现敏捷开发的赋能手段4 三、卓越敏捷开发的赋能手段 科尔尼根据敏捷开发模型的特点,分析了从开发测试到部署再到改进优化的端到端流程,并提炼出了实现卓越开发的15个赋能手段,帮助主机厂更好地实现敏捷开发。 15个阶段的赋能手段可以根据主机厂对敏捷开发的应用熟练度分为三个阶段(见图4),分别是“敏捷软件开发能力建设”,“敏捷软件开发可规模化扩张”,以及“敏捷软件开 发成为战略优势”。其中第一个阶段是主机厂建设敏捷软件开发的重要阶段,本文将会围绕第一阶段“敏捷软件开发能力建设”下的重点举措做详细阐述和说明,分别包括: ②以功能为导向的敏捷开发;③以功能为导向的软件设计与架构;④关键人才赋能的软件开发;⑦端到端测试与集成的自动化更新机制;⑩已售出车辆的持续更新与集成流程。 其中第一阶段可谓重中之重,是二、三阶段顺利开展的先决条件,主机厂需要在第一阶段夯实能力基础,后续才能在中长期的第二、三阶段发挥优势。因此本文将聚焦于第一阶段“敏捷软件开发能力建设”,从组织架构、软件设计与系统架构、人才策略、端到端自动化测试与集成和已售车辆管理共五个方面展开详细阐述与说明。 ओ4 ઈᖷओ ןᎰ༚ 1ดൽᭈޫᛣܫன᧾ 2׃ܮᛣբલߘᎎดൽޫ 3׃ܮᛣբલߘᎎᭈ᧾᧤Յ 4ڦᴈ֥೪᪶ᛣᎎᭈޫ 7ᓯ܆ᓯჂᨓՅᶻೋᎎᜱܳݕຢุ܈ 10େࡰۧᭀ᭞ᎎോᗢຢุՅᶻೋႻᒲ 2ดൽᭈޫᦿྐྵݕ 1ᓯ܆ᓯᶻೋ᷎ဿାᒲ 5ॷ֊ାݱᎎᶻೋழାڪ᳛ݭ 8ᯚິᎎኜनᭈຢุ 13ᭈࠛܮᛣ᪒୍ݕ 9༚ےࠛᭈڟ 3ดൽᭈޫೋբጙךܽ 15ઈ๕มਫ਼੬ዻኜ 12ڟᎎ38% 14ঝٝมൺชᶻ 11ဌՔࠋԻ࿗ܮᛣޫ 6ݱழେࡰᭀ᭞۰งᗋ قᭈޫᎎॷᐭ ߘᭈՎܰᭅॐ ઈኜୄமݕᛣܫ ᭈݰޫᎎ᪶ᛣ೨င ໓ᄽ€ᒝ્ 汽车主机厂实现敏捷开发的赋能手段5 以功能为导向的敏捷开发 如图5所示,在代码阶段,要实现卓越,就需要一个以功能为导向的敏捷开发组织,其人员一般来自于传统的部门架构,由业务单元高层管理人员、工程与软件团队的核心人员、以及开发工程师组成,但其工作方式则以功能开发为导向。在职能分工上,不再强调人员在企业内的上下级 汇报关系,而是会设定一个核心领导负责项目规划、时间计划以及功能集成,其他人员则包括:系统经理负责项目预算及资源调配,测试工程师负责验证,软件硬件工程师负责软硬件需求分析、方案设计与集成,客户需求服务工程师负责分析客户需求及其解决方案规划,制造工程师负责在硬件制造方面的需求对接与系统集成。该团队在敏捷开发的规划阶段一起工作,然后将并行开展开发和集成与测试工作。 这样的工作方式可以最大化地实现以客户需求为导向,以产品为核心的开发,以及成本高效的持续迭代。 以功能为导向的软件设计与架构 如图6所示,除了开发团队以外,要实现卓越,也需要在代码阶段考虑以功能为导向的软件设计与系统架构。中央计算架构在此则起到了重要的作用。现今虽然中央计算架构被各大车企反复提及,但真正得到实际量产应用的平台并不多,以特斯拉为例,其中央架构涵盖了目前与客户感受 最相关的自动驾驶域、座舱娱乐域以及网络安全与车联网域。基由此设计,可以将软件需求拆解为上车软件以及后台软件,通过网关实现交互。 这样的中央平台架构可以实现通用的软件设计,并且能够应用一个软件版本去覆盖大多数在售车型。综上所述,有中央平台架构做基础,通过高成本性价比的架构,高通用性的软件,以及基于不同平台定制化的