谈谈汽车软件开发的工程化思想
2022-8-19 18:21:56 Author: 谈思实验室(查看原文) 阅读量:7 收藏

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

如果软件开发的伊始目标就是为了演示或是纯粹做个玩具,我并不反感甚至认可“明天就要”的开发方式,因为敏捷高效成本低。但奈何我们选择了汽车这个产品品类,这几乎就是软件开发的地狱模式。很多三观是需要被颠覆的。
曾经作为一个软件算法工程师,能够让软件在车上跑的好,就是唯一的目标。这个目标逻辑上没有问题,但量产是什么概念,是多个项目并行开发;人员严重短缺,关键人员随时放鸽子;需求变化快还存在大量差异。前序流程频发状况,项目时间计划后墙不倒。在这些背景,要保证大规模车辆,在每个版本上都能够有线性的性能提升,还要维持长周期下的稳定性。并且要维持大量的数据、测试、版本、记录、流程以支持跨部门的合作配合。对,虽然简单说还是软件在车上跑的好,但难点似乎不仅仅在能够跑的好的软件上。
曾经作为一个软件算法工程师,觉得掌握了核心技术是舞台上的C位,这个逻辑上也没问题。可是但凡你碰到一些阻力,一开始都是技术点的问题,深入看是架构出了问题,解决了架构问题,会发现软件工程化跟不上,而这又会上升到公司管理问题而最终都是人的问题是公司文化的问题。虽然说软件算法还是很重要,但是一个在指挥、需求、硬件、架构、工程化、软件算法、项目管理上能力平均的团队才是有效战斗力的保障。
曾经作为一个软件算法工程,觉得勇于担当是好事,要竟可能的用技术解决上下游算法和流程碰到的苦难。这种英雄主义思想是宝贵的,但最好在危难的时候拿出来用,平时就算了。你会发现任何问题总有处理它整体效益最好的环节,你上百行代码解决不好的问题,上游模块可能1行代码就稳定解决了。如果在一个长期项目上,你最后仍然实施了百行代码去解决这个问题,那就是噩梦的开始。可能当上游顺便解决了这个问题,而你的代码却因为耦合性沦为技术债。也有可能由于你的环节无法稳定解决,但又由你负责解决,则稳定性的压力和无所适从就会压垮你。担当是好的品质,但是全局观往往更重要。
一个成熟系统上看,都是前道重,后道轻。问题的解决越靠前越好,无论是算法上的前道感知模块,还是流程上的前道需求或是前道测试搭建,亦或是管理上领导的前道决策。良好的前道工序才能保证后道的品质,也为后道留出更多时间和精力灵活解决意料外的问题。而一个非成熟的系统,是前道轻,后道死。前道如果出现纰漏,后道为了逐级消化这些问题,就可能导致架构的混乱和节奏的失调,最终就是一地鸡毛,一旦更换项目可能就是重头再来。人不可能都很认真和专业,但认真和专业的人部署到前道,收益会更好。
工程化是量产的核心保障,其确保了“功能实现”的鲁棒性、稳定性和一致性。从几个维度我们能够初步了解工程化的点滴思想。
从产品长周期管理的角度来说,对于定期要发布复杂产品的公司来说,往往都是预研一代,研发一代,量产一代,各个职能块之间的配合,背后也有一个工作的流水线,而产品管理最重要的就是产品型谱的管理,这揭示了公司发展的基本方向。当然这需要很好的市场预判以及高标准的执行力。
从产品开发流程的角度看,汽车研发制造流程代表了制造业开发流程的最高水平,其核心就是APQP质量先期策划。简单来说,就是通过对风险的更多关注,来补偿设计生产过程中可能出现的失败。长期而多维度的计划与风险评估是汽车工程师的常态。这种物理硬件的制造,组装和大规模生产和纯粹的软件开发差异很大。最大的区别就是“变化周期”。有人和实体物参与的工作,都无法突破物理限制,工人在流水线上变更工艺,需要时间熟悉,制造新的零件需要重新设计模具和夹具,这些变化并不快,至少相对GIT重新集成一版软件来说并不快。因此对长周期风险的预判成了区别制造业和互联网的一个重要特征。
互联网思维下的敏捷开发,虽然读上去感觉和制造业的思路背道而驰,但个人感觉其同样有浓厚的工程化思维支持。在敏捷开发下,架构仍然是核心。行业有一句话我非常喜欢,架构是远景与残酷现实(需求)的黎明交汇。愿景只能是被翻译成架构设计的那些内容,无法被翻译的叫幻想,两者之间的位置是敏捷开发的上限。敏捷只不过开发分成了架构设计和细节设计。敏捷的是细节设计,而支持敏捷的仍然是具有长周期预判的架构设计。在这点上制造业和互联网的思想仍然是一样的,只不过规避了不同的风险。敏捷开发往往是软件关键模组的平台化定义所带来的,而不是堆砌工程师没日没夜的推倒重来压榨出来的,两者的边际效应天差地别。
从人员管理上来说,最基本的诸如团队梯度的搭建,岗位AB角的设置以及团队能力的平衡,保证项目人员管理的有序、稳定。往往一个项目一个复杂工作,维持70%-80%的人力资源是稳妥的,贸然增加人力资源,可能导致通过“人海战术”解决问题的思想出现,这对于工程化是不利的。
综上所述,无论是制造业的硬件还是互联网的软件,工程化的思路往往是殊途同归。对长周期的变量(架构,制造,人)给予充分的预判,建体系,搭架构,做工具把一切可以标准化,平台化的东西自动化。为短周期变量(用户需求,软件算法,功能应用)的快速迭代提供质量保障,这就是工程化。

码上报名

AutoSec 2022 第六届中国汽车网络安全周暨汽车数据安全展火热报名中

更多文章

智能网联汽车信息安全综述

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

八月精品课程:AutoSec汽车网络安全高级工程师技术培训,仅限前15位,报满即止。

会员权益: (点击可进入)谈思实验室VIP会员

END


微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。

扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。

谈思实验室,为汽车科技赋能,推动产业创新发展!


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzOTc2OTAxMg==&mid=2247511404&idx=1&sn=c6a564b7d8ce1798ffcbab3808ec4122&chksm=e927e9b7de5060a160f9abd96f57e4707ed5b1491bdd8e86a79ef6bad9744776209fde4a1307#rd
如有侵权请联系:admin#unsafe.sh