如何既满足ASPICE要求,又减少开发过程文档

原创 汽车电子与软件 2023-04-04 08:52

作者 | 罗宇超

出品 | 汽车电子与软件


经常听到一些团队说,我们是想满足ASPICE,但是ASPICE要求的文档太多了,有没有一种方法,既能让我们的开发过程满足ASPICE标准要求,同时又能减少开发过程文档?

首先我们来分析这个问题。

既然我们想要减少开发过程文档,那么首先就需要知道, 1. ASPICE究竟要求了哪些开发过程文档?

如果能找到这些最耗时的开发过程文档,接下来我们可以考虑,2. 是否能直接减少这些开发过程文档?

直接减少开发过程文档本身,相当于在直接挑战ASPICE框架,是很难说服评审师的,有很大的失败风险。我们换个角度,3. 能不能让开发过程文档的准备不那么耗时?

这篇文章,我们重点来回复问题1和3.


1. ASPICE究竟要求了哪些开发过程文档?

基于我的经验,我把ASPICE中涉及的最重要(最难搞、最难整理、最难出具evidence……)的开发过程文档,分为如下 4 类,如果能使如下4 类开发过程文档的出具变得比较简单,那ASPICE项目的评审时长可以缩短50%以上,项目开发效率也可以提高30%以上

第1类是设计规范(Specification),所谓的设计规范指的是,需求文档、架构文档、详细设计文档,测试用例文档也可以放在这一类里面。一般来说这类文档拥有严格的格式,每一家公司有所不同,但都大同小异。

第2类是评审文档,包含了评审清单(checklist)、评审问题的记录、以及评审问题的追踪过程。

第3类是基线文档,很多团队的基线库里面,存储了N条基线,每条基线包含了一次开发过程的所有文档,比如需求文档、设计文档、测试用例等。基线管理对很多团队来说都是一个难点,一是没搞清楚基线管理的底层逻辑,二是没有找到合适的工具。有关基线管理,可以参考我上一篇文章《汽车行业如何做基线管理?》

第4类是变更文档,包含了变更请求、变更影响分析、变更评审结果、变更执行情况等。


3. 能不能让开发过程文档的准备不那么耗时?

这里我先说一个大胆的结论:不要写文档!那文档的准备时间就是0了。

看到这里,有些同学可能要划走了,“你们互联网造车真是666,上来就直接不写文档,汽车行业用血的教训,ASPICE搞了几十年,你们一上来就要颠覆它,6啊!“

这里我要对“不要写文档”作进一步的修饰:不要专门写文档,团队成员应该专注于项目推进,专注于解决一个个具体的任务,花更多时间来详细描述任务,然后通过工具,来帮助自动生成文档

我以上述 4 类文档来一一举例,如何实现上述想法。


第一类,“设计规范不是写完了就束之高阁的,设计规范就是待办任务”。


这句话怎么理解?有些团队把设计文档写地非常清晰,非常美观,具有层次感,恨不得从最开始就把所有的细节都写出来,他们写完了一个 50 页或100 页的文档。接下来他们需要基于这些 Specification 去安排他们的任务。这时候发现,Specification 太复杂了,太详细了,使用的工具Word或其他类似Word的在线编辑器,也不适合安排任务,然后他们开始基于Specification,去某些任务跟踪系统中创建新的任务。你瞧,这里面做了重复性的工作。

为什么设计文档本身,不能直接作为待办任务跟踪呢?

所以一种常见的拉低效率的方式是先写文档,再基于文档去重写一遍任务,当任务有更新的时候,又要反过来更新文档。或者先更新文档,再更新任务。如果不进行双向更新,显然不满足ASPICE的一致性要求,如果更新,又将是一个巨大的工作量。

另一种常见的耗时方式是,先去任务跟踪系统中创建任务,等到ASPICE评审老师要来评审时,再基于这些任务,去创建设计文档。此时任务在系统中已经非常繁杂了,结构性、追溯性的整理都非常麻烦,准备文档非常耗时,并且往往是为了准备文档而准备文档。这也是很多团队觉得,ASPICE不能帮助改进开发流程,而只会增加工作量的最大原因。

我们更推荐的方式是直接写待办任务,然后去丰富待办任务。

当待办任务写完之后,按照待办任务的组织架构方式,直接生成设计文档,甚至可以导出word格式的设计文档。


第二类,“评审过程本身是简单的,难的是应审”。


相信做过ASPICE应审的同学都会深有感触。对于团队来说,评审一份设计规范是经常要做的行为,即便没有ASPICE要求,也会这样做,但是他们做的过程一般是直接进行线下讨论,讨论的过程中如果发现问题,当场就直接修改了,这种方式当然是最高效的,但对于应审来说,它不满足要求,因为难以提供评审过的证据。
所以,更好的方式是将两者相结合,我们既能以一个类似线下评审的并行方式进行文档评审,同时评审的过程又能自动地留下大家的评审记录,并且将评审记录自动汇总,最终出具结果。
对于评审未通过的文档(参考上述第一类,此时文档已经是N条待办任务),留下评审未通过记录的同时,需要再次发起评审,直至完全通过评审要求。


第三类,“基线存在的唯一理由是为了变更”。


为什么这么说,大到一个项目,小到一个任务,如果我们在开始之初,就能确保不会有任何变化,那完全就不需要基线。存在基线的原因,恰好是因为在开发的过程中会有不断的变化,团队需要知道最初的需求是什么,过程中每一次变化是怎样。基线的存在对于甲乙双方都是一个保护作用。对于甲方客户来说,可以确保乙方不会轻易去修改他的原始需求,对于乙方来说,也可以防止甲方提完需求之后,中途随意增加、改变需求,从而导致整个项目延期。
所以,基线能清晰地反馈过程中的变化就够了,而不需要将每次变更后的基线内容全部保存下来。很多团队都存在这样的误区,将每一次基线的内容全部保存下来。后一次基线相对于前一次基线改变了什么,反而不够清晰。很多团队使用“高度概括”的文档变更历史记录来显示变更“详情”,实际上根本无法显示变更的真实内容,更别谈去追溯了,这就有些本末倒置了。


第四类,“搞清楚什么时候需要变更,比变更本身更重要”。


有些团队在什么时候需要变更上没有搞清楚。
当设计规范写下来之后,不管什么时候有改变,都要走变更评审流程,会让整个开发过程变得比较复杂且低效,且会降低变更的严肃性。最终的结果就是,如果所有的改变都需要走变更,每天都开变更评审会,没有人会认真对待评审会,也就相当于没有了变更评审会。
还有一些团队虽然明确了,设计冻结之后才需要变更,但是工具中无法很方便地知道是否冻结(如果使用线下的word、excel,每个人就更难明确,文档是否真的冻结了。大多数工具也无法清晰地标明这一点)。
即使工具中清晰地标明了冻结,还有一个问题,就是变更的颗粒度。如果设计规范本身的颗粒度比较粗,比如一个设计规范里面包含了20条需求,那么针对这个设计规范,它变更的概率接近于1(1-50%^20),同上,会面临着频繁的变更评审活动。
但是如果把这个设计规范拆分成20条需求(待办任务),那么其中可能18 个需求都是没有变化的,只有两个需要变化,这个时候的变更的影响范围就不会那么大,内容也没有那么多,评审起来的效率就更高了。而且由于设计规范的颗粒度足够小,因此变更请求方对于这个需求的变更就可以非常明确,变更的影响范围也可以非常明确。
评审人基于变更请求给出的意见,最终留下评审记录,决定变更是否最后通过。


作者介绍:
罗宇超,云体科技创始人,软件质量工程师,工具链工程师。


汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 文/郭楚妤编辑/cc孙聪颖‍相较于一众措辞谨慎、毫无掌舵者个人风格的上市公司财报,利亚德的财报显得尤为另类。利亚德光电集团成立于1995年,是一家以LED显示、液晶显示产品设计、生产、销售及服务为主业的高新技术企业。自2016年年报起,无论业绩优劣,董事长李军每年都会在财报末尾附上一首七言打油诗,抒发其对公司当年业绩的感悟。从“三年翻番顺大势”“智能显示我第一”“披荆斩棘幸从容”等词句中,不难窥见李军的雄心壮志。2012年,利亚德(300296.SZ)在深交所创业板上市。成立以来,该公司在细分领
    华尔街科技眼 2025-05-07 19:25 327浏览
  • 飞凌嵌入式作为龙芯合作伙伴,隆重推出FET-2K0300i-S全国产自主可控工业级核心板!FET-2K0300i-S核心板基于龙芯2K0300i工业级处理器开发设计,集成1个64位LA264处理器,主频1GHz,提供高效的计算能力;支持硬件ECC;2K0300i还具备丰富的连接接口USB、SDIO、UART、SPI、CAN-FD、Ethernet、ADC等一应俱全,龙芯2K0300i支持四路CAN-FD接口,具备良好的可靠性、实时性和灵活性,可满足用户多路CAN需求。除性价比超高的国产处理器外,
    飞凌嵌入式 2025-05-07 11:54 61浏览
  • 后摄像头是长这个样子,如下图。5孔(D-,D+,5V,12V,GND),说的是连接线的个数,如下图。4LED,+12V驱动4颗LED灯珠,给摄像头补光用的,如下图。打开后盖,发现里面有透明白胶(防水)和白色硬胶(固定),用合适的工具,清理其中的胶状物。BOT层,AN3860,Panasonic Semiconductor (松下电器)制造的,Cylinder Motor Driver IC for Video Camera,如下图。TOP层,感光芯片和广角聚焦镜头组合,如下图。感光芯片,看着是玻
    liweicheng 2025-05-07 23:55 251浏览
  • UNISOC Miracle Gaming奇迹手游引擎亮点:• 高帧稳帧:支持《王者荣耀》等主流手游90帧高画质模式,连续丢帧率最高降低85%;• 丝滑操控:游戏冷启动速度提升50%,《和平精英》开镜开枪操作延迟降低80%;• 极速网络:专属游戏网络引擎,使《王者荣耀》平均延迟降低80%;• 智感语音:与腾讯GVoice联合,弱网环境仍能保持清晰通话;• 超高画质:游戏画质增强、超级HDR画质、游戏超分技术,优化游戏视效。全球手游市场规模日益壮大,游戏玩家对极致体验的追求愈发苛刻。紫光展锐全新U
    紫光展锐 2025-05-07 17:07 266浏览
  • 随着智能驾驶时代到来,汽车正转变为移动计算平台。车载AI技术对存储器提出新挑战:既要高性能,又需低功耗和车规级可靠性。贞光科技代理的紫光国芯车规级LPDDR4存储器,以其卓越性能成为国产芯片产业链中的关键一环,为智能汽车提供坚实的"记忆力"支持。作为官方授权代理商,贞光科技通过专业技术团队和完善供应链,让这款国产存储器更好地服务国内汽车厂商。本文将探讨车载AI算力需求现状及贞光科技如何通过紫光国芯LPDDR4产品满足市场需求。 车载AI算力需求激增的背景与挑战智能驾驶推动算力需求爆发式
    贞光科技 2025-05-07 16:54 183浏览
  • 在过去的很长一段时间里,外卖市场呈现出美团和饿了么双寡头垄断的局面。美团凭借先发优势、强大的地推团队以及精细化的运营策略,在市场份额上长期占据领先地位。数据显示,截至2024年上半年,美团外卖以68.2%的市场份额领跑外卖行业,成为当之无愧的行业老大。其业务广泛覆盖,从一线城市的繁华商圈到二三线城市的大街小巷,几乎无处不在,为无数消费者提供便捷的外卖服务。饿了么作为阿里本地生活服务的重要一环,依托阿里强大的资金和技术支持,也在市场中站稳脚跟,以25.4%的份额位居第二。尽管市场份额上与美团有一定
    用户1742991715177 2025-05-06 19:43 56浏览
  • Matter协议是一个由Amazon Alexa、Apple HomeKit、Google Home和Samsung SmartThings等全球科技巨头与CSA联盟共同制定的开放性标准,它就像一份“共生契约”,能让原本相互独立的家居生态在应用层上握手共存,同时它并非另起炉灶,而是以IP(互联网协议)为基础框架,将不同通信协议下的家居设备统一到同一套“语义规则”之下。作为应用层上的互通标准,Matter协议正在重新定义智能家居行业的运行逻辑,它不仅能向下屏蔽家居设备制造商的生态和系统,让设备、平
    华普微HOPERF 2025-05-08 11:40 237浏览
  • 温度传感器的工作原理依据其类型可分为以下几种主要形式:一、热电阻温度传感器利用金属或半导体材料的电阻值随温度变化的特性实现测温:l ‌金属热电阻‌(如铂电阻 Pt100、Pt1000):高温下电阻值呈线性增长,稳定性高,适用于工业精密测温。l ‌热敏电阻‌(NTC/PTC):NTC 热敏电阻阻值随温度升高而下降,PTC 则相反;灵敏度高但线性范围较窄,常用于电子设备温控。二、热电偶传感器基于‌塞贝克效应‌(Seebeck effect):两种不同
    锦正茂科技 2025-05-09 13:31 84浏览
  • 硅二极管温度传感器是一种基于硅半导体材料特性的测温装置,其核心原理是利用硅二极管的电学参数(如正向压降或电阻)随温度变化的特性实现温度检测。以下是其工作原理、技术特点及典型应用:一、工作原理1、‌PN结温度特性‌硅二极管由PN结构成,当温度变化时,其正向电压 VF与温度呈线性负相关关系。例如,温度每升高1℃,VF约下降2 mV。2、‌电压—温度关系‌通过jing确测量正向电压的微小变化,可推算出环境温度值。部分型号(如SI410)在宽温域内(如1.4 K至475 K)仍能保持高线性度。
    锦正茂科技 2025-05-09 13:52 87浏览
  • 这款无线入耳式蓝牙耳机是长这个样子的,如下图。侧面特写,如下图。充电接口来个特写,用的是卡座卡在PCB板子上的,上下夹紧PCB的正负极,如下图。撬开耳机喇叭盖子,如下图。精致的喇叭(HY),如下图。喇叭是由电学产生声学的,具体结构如下图。电池包(AFS 451012  21 12),用黄色耐高温胶带进行包裹(安规需求),加强隔离绝缘的,如下图。451012是电池包的型号,聚合物锂电池+3.7V 35mAh,详细如下图。电路板是怎么拿出来的呢,剪断喇叭和电池包的连接线,底部抽出PCB板子
    liweicheng 2025-05-06 22:58 484浏览
  • 二位半 5线数码管的驱动方法这个2位半的7段数码管只用5个管脚驱动。如果用常规的7段+共阳/阴则需要用10个管脚。如果把每个段看成独立的灯。5个管脚来点亮,任选其中一个作为COM端时,另外4条线可以单独各控制一个灯。所以实际上最多能驱动5*4 = 20个段。但是这里会有一个小问题。如果想点亮B1,可以让第3条线(P3)置高,P4 置低,其它阳极连P3的灯对应阴极P2 P1都应置高,此时会发现C1也会点亮。实际操作时,可以把COM端线P3设置为PP输出,其它线为OD输出。就可以单独控制了。实际的驱
    southcreek 2025-05-07 15:06 365浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦