软件如何改变汽车领域
编辑:米希尔·范根赫滕 VitalHealth 软件影响 genuchten@ieee.org
编辑:莱斯·哈顿 橡木计算协会 lesh@oakcomp.co.uk
销量一直是汽车和导航领域的关键驱动力。TomTom最初是导航售后市场的高销量供应商。由于购车者不再愿意为定制的车载导航解决方案支付高价,再加上智能手机导航应用的广泛普及,车载导航系统已不再是汽车的有力卖点。这意味着导航系统的拥有成本必须降低。
TomTom 原本能通过其售后市场解决方案来分摊这些成本,但该市场已迅速成熟并处于下滑趋势。因此,该公司必须找到另一种方式来确保销量。显然,这种销量不可能来自 TomTom 自 2009 年以来一直在成功交付定制的、高度集成的主机单元(接收器)。该公司无法从需要提供软硬件解决方案的项目中获得足够的销量。在硬件供应方面,竞争优势太小。
因此,TomTom 从供应主机单元转向向现有的主机单元供应商提供导航软件。之前的竞争对手变成了合作伙伴,负责提供硬件和非导航功能;而 TomTom 则提供导航应用服务和地图。这使得对导航堆栈的需求大幅增加,从而显著提升了已售许可证的数量。
(见图1)以及更高的市场份额。图 1中2017年年中之后的数据反映了来自已确认交易的预期许可证数量。该图表以2016年为基准指数100(即 2016年的统计数据作为比较基准)。
利用协同效应
仅仅增加需求不足以从更高的销量中获益。如果汽车导航项目仍然保持高度的定制化工程,那么除了整个市场在增长之外,仍然无法降低成本。必须在更多方面利用协同效应所采用的各种汽车项目中的导航堆栈。
这自然使模块化和可配置性等需求变得突出。但对内置质量的需求也在不断增长。定制工程项目通常需要花费大量时间进行手动测试。人们认为,更高的模块化程度和更好的质量将大幅缩短周期时间和项目成本。然而,说起来容易做起来难。
然而,对模块化和质量的投资是值得的。项目成本和周期时间大幅降低;参见图2。TomTom在不减少可用导航解决方案多样性的情况下实现了这一目标——它们全部看起来不同,并在各种平台上运行。
在此背景下,项目是指与汽车客户约定的完整工作包。项目从合同确认时开始,到产品发布时结束。
与许多大型软件堆栈一样,导航堆栈在过去10年中已发展成为一个庞大而单一的软件巨兽,难以维护、定制和在不同平台上集成。TomTom最初主要为其售后市场产品设计了该堆栈,而这些产品对定制化和集成的要求要低得多。现在,该堆栈必须为进入高销量策略的汽车市场做好准备。
首先,TomTom 将用户界面与包含业务逻辑的核心功能分离,因为用户界面通常需要进行定制。该公司将导航核心作为具备文档完善的接口的可配置客户端库提供。
另一个问题是代码分支过多,导致维护成本高昂。新的设置立即引入了严格的单一代码分支策略,从而迅速大幅降低了维护成本。
质量
导航核心需要服务于众多汽车应用,因此必须满足最高的汽车质量要求,不仅涉及故障数量,还包括回归问题。这要求所有团队都要专注于质量。
许多团队发现,为未解决的缺陷设定一个阈值,然后在达到该阈值时解决这些缺陷(而不是实现新功能)会带来更大的吞吐量。及早修复缺陷成本更低,并为后续开发提供更稳定的基础。因此,敏捷方法在支持缺陷管理方面,与提倡限制进行中的工作的优势是一致的。为此,TomTom 为每个团队设定了未关闭缺陷数量的上限。当缺陷数量超过该限制时,修复缺陷优先于功能开发,且每周预留用于解决缺陷的容量也随之增加。
图3显示了未关闭缺陷的加权数量的下降趋势。
另一项措施是在每次构建中大力投资测试自动化。这样可以及早发现回归问题,从而提高质量。这支持了持续集成,有助于早期故障检测,并为后续开发提供稳定的平台。
最后,TomTom引入了先进的静态代码分析工具。它使用TICS(TIOBE软件质量框架;www.tiobe.com/tics/tics-framework)来衡量代码质量,该框架支持ISO 25010标准中定义的软件质量。TICS涵盖了代码覆盖率、抽象解释、圈复杂度、编译器警告、编码标准、代码重复、扇出和死代码等方面的指标。它分析数百个项目,并跟踪小、中、大项目的前三名。团队希望在某一类别中进入前三名的愿望极大地推动了质量提升。这无疑有助于提高导航堆栈的质量。
图4显示了从2014年第三季度到2016年第四季度的静态代码分析结果。2015年的下降是由于对代码库进行了大规模重构,导致了一些暂时的不稳定性,但为代码质量的进一步提升创造了条件。
生产力
为了应对导航系统客户数量的增加,TomTom 必须缩短新功能的周期时间。随着汽车行业创新速度的加快,创新周期时间必须缩短。更高的创新水平也会导致更多的不确定性,而应对这种不确定性的最佳方式是实施更短的周期时间。这使得已开发功能能够快速获得反馈。
为了实现更短的周期时间,从而提高生产力,TomTom 实施了规模化敏捷框架(SAFe)(Scaled Agile Framework;www.scaledagileframework.com)。采用稳定、集中、自我管理的团队,而非不断变动的项目团队,实现了功能流动。最初,产品增量的频率为三个月。然而,当TomTom的售后产品需要更短的时间来响应市场反馈时,TomTom将频率缩短至两个月。
图5展示了以每人周的故事点数衡量的生产率提升情况。故事点是用于估算工作量的统一度量单位。由于2016年发生了一些组织结构上的变化,2016年的统计数据无法进行比较,因此未包含在图中。
许多人写过关于敏捷开发优势的文章。人们常常认为,在具有强烈客户承诺的环境中,敏捷性并不适用。但我们发现事实恰恰相反。与更传统的项目管理方法相比,敏捷性在实现承诺的可行性方面提供了更高的透明度。对速度进行准确监控,能让你很好地把握是否需要采取纠正措施。
但敏捷开发的承诺只有在以下情况下才能成为现实:领导风格发生变化。通过将承诺下放至团队层面进行管理,会灾难性地影响透明度、质量和生产力。团队除了增加表面工作、降低质量或夸大估算外,无法应对承诺和不确定性。相反,当团队意识到领导层接受不确定性的存在并且允许犯错时,他们会变得更加投入。他们会快速学习,敢于承担风险,并对风险保持透明,从而不会危及承诺。
重大变革的前夜
有人说,汽车行业在未来10年将经历比过去100年更多的创新;我们对此表示认同。(关于这些变革对软件影响的概述见2017年7/8月《IEEE 软件》。1)例如,多年来,汽车信息娱乐系统的功能一直落后于同类消费产品约十年。(然而,汽车系统的质量要好得多,尽管消费产品的质量正在迅速提升。)用户是否仍能接受这种巨大的功能差距值得怀疑。当大型软件公司进入汽车行业时,它们将带来前所未有的创新。2连接性(connectivity)和空中下载软件将成为实现这一目标的重要推动力。
汽车行业的一个重要趋势是自动化程度的不断提高。汽车将能够实现更高程度的自动驾驶,主要是为了显著提升安全并减少致命事故。当然,自动驾驶汽车不会一夜之间到来,但随着时间推移,将为驾驶员提供越来越多的辅助功能,使其出行更加安全和便捷。
此外,自动驾驶汽车通常具有明确的目的地,这将推动交通管理系统中的创新,以平衡交通流量并改善其流动。
与自动化相一致的另一个趋势是能源节约,随着越来越多的汽车向电动化发展,能源节约将不断增加。
连接性将是推动变革的另一个关键因素。增强的连接性不仅能够实现我们之前提到的空中下载软件更新,还将为始终在线的联网汽车提供更多机会。许多导航功能(如路线规划、搜索和地图显示)可以在服务器上执行,且服务器上的许多应用程序也可以相互连接。随着可用处理能力的增加,用户界面可以进一步创新,例如引入自然语言处理。而或许更为重要的是,联网汽车将产生海量数据,从而催生全新的商业模式。
连接性的一个额外优势在于,更具创新性的功能可以在服务器端实现,而嵌入车辆中的功能则可以由在同一主机中使用长达10年的CPU支持。这种混合设置可以显著加快创新功能的市场渗透速度。
多年来,TomTom 一直提供路线规划、搜索和地图显示等服务,这些服务的应用正在迅速增长,如图6所示。该图显示了指数化增长与成本,其中2015年1月为指数100。2016年初成本的峰值是由于一次商业促销活动的成功超出了供应商合同的限制所致。第二次峰值出现在TomTom更换供应商时。目前,服务请求数量的增加导致每个请求的成本明显下降。
云与价值链
一方面,按使用付费而非为拥有权付费对公司而言具有吸引力,因为它能带来经常性收入。另一方面,这也使得商业模式对销量更加敏感。过去,功能开发的商业案例基于对汽车销售相对可靠的预测。而未来,这些案例将基于预期的用户行为,而用户行为会更加成本敏感。目前,相比每年支付一小部分费用来续订订阅服务,客户更倾向于在购买新车时一次性购买地图更新等功能。
从另一个角度来看,成本模型显示出更大的差异。过去,车载CPU的成本在汽车售出时一次性支付,而未来每次请求都将产生费用。
连接在线服务会产生成本。过去,软件设计师必须考虑硬件限制,而如今由于硬件资源看似无限,他们对此的关注较少。但现在,他们突然需要关注服务器端成本了。
由连接性(connectivity)带来的更高灵活性将促进更多创新。但正如我们之前提到的,创新伴随着更大的不确定性,企业需要为此做好组织准备。而这不仅仅意味着实施敏捷流程,还需要彻底重新思考汽车行业。
行业希望与其供应商建立更紧密的关系。这种关系将从合同执行转变为合作伙伴共同分担商业风险的协作模式。
然而,管理这些风险的最佳方式仍然是依靠销量。2011年,我们得出结论,导航已成为销量之争。3在互联世界中,这一趋势将更加明显。
400

被折叠的 条评论
为什么被折叠?



