ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ASPICE CL2评估全指南:智能驾驶团队从差距分析到正式通过

ASPICE CL2评估全指南:智能驾驶团队从差距分析到正式通过 上周朋友圈里刷到希迪智驾通过ASPICE CL2评估的消息亚远景第一时间发来祝贺。圈外人看到这条新闻多半会以为只是“一家公司通过了某个体系审核”但圈内人的反应完全不同对智能驾驶领域的创业公司来说这个结果比拿了一轮融资更实在。整车厂和Tier1在选供应商时如今开口第一句就是“你的ASPICE做到什么等级了”如果没有CL2很多项目连招标资格都拿不到。今天借这个事件把ASPICE CL2背后的门道彻底讲透不管你是准备启动评估的项目经理还是被卷进来的开发、测试、配置管理同学这篇应该能帮你少走不少弯路。1. 什么是ASPICE为什么智能驾驶公司都在卷它ASPICE的全称是Automotive Software Process Improvement and Capability Determination中文一般叫“汽车软件过程改进及能力评定”。它由汽车行业特别工作组主导开发底层标准脱胎于软件过程评估标准ISO/IEC 15504现在主流版本是3.1更新一些的4.0版本也已经落地。别被这个拗口的名字吓到它的内核其实不复杂不考核你的代码写得有多炫也不评价产品功能有多领先而是评估你“开发和维护软件的过程”是否受控、可重复、可改进。我常用一个开餐厅的类比来解释这事。ASPICE看的不是你家的招牌菜好不好吃而是后厨有没有标准菜谱、原材料有没有入库单、厨师有没有按流程操作、客人投诉有没有登记和闭环。只要过程是稳定的菜品质量就是可预期的。汽车行业比餐饮行业严格百倍尤其是现在“软件定义汽车”成为主流刹车、转向、动力域里的代码一旦出问题就是人命关天。整车厂必须确认供应商的开发过程是“认真管理过的”而不是靠一两个技术高手救火。1.1 从V模型看ASPICE到底覆盖了哪些过程ASPICE的参考模型覆盖系统层和软件层的关键工程过程最直观的就是V模型。左侧过程包括SYS.1系统需求分析、SYS.2系统架构设计右侧对应SYS.3系统集成与集成测试、SYS.4系统合格性测试。软件层则是SWE.1软件需求分析、SWE.2软件架构设计、SWE.3软件详细设计与单元构建以及SWE.4单元验证、SWE.5软件集成和集成测试、SWE.6软件合格性测试。除了这些工程类过程还有一批支持过程和管理过程同样会被纳入评估范围比如SUP.1质量保证、SUP.4联合评审、SUP.8配置管理、SUP.9问题解决管理、SUP.10变更请求管理以及MAN.3项目管理。很多团队一开始只盯着SWE系列过程觉得把软件需求、架构、单元、集成这些做好就够了。这个认知在第一次准备评估时非常危险。审核员看的是“完整生命周期里的受控状态”需求没做配置管理、缺陷没有走问题管理闭环、变更没有评审记录任何一个环节断裂都会被写进发现项。1.2 能力等级CL0到CL5到底在讲什么ASPICE用能力等级来度量每个过程的成熟度从低到高依次是CL0到CL5。这几个等级的现实含义我按自己在项目里的体会拆一下CL0过程基本没有执行或者执行了但没有任何证据能证明。CL1过程被执行了工作产品也产出了基本能达到预期结果。意思是“你做了”。CL2过程不仅被执行还被管理起来了。意思是“你做了而且是有计划、有监控、有配置管理地做的”。CL3过程在组织级被明确定义并在多个项目得到部署。意思是“不是凭经验做而是全公司都按标准做”。CL4过程被量化管理用数据和统计手段控制偏差。CL5过程持续优化创新强调预防和改进机制。现在国内多数客户对供应商的硬指标是SWE系列达到CL2部分要求高的车身域、智能驾驶域项目已经开始瞄准CL3。CL2是当前行业最普遍的门槛也是很多团队第一次建立软件过程体系时的核心目标。2. CL2级别真正的含义过程被“管理”起来CL2最容易被误解成“有流程文件就算数”这是大错特错。CL2的评定核心是两个过程属性PA2.1绩效管理和PA2.2工作产品管理。一句话总结过程不仅在做而且是在被“看管”着做。PA2.1要求过程执行的绩效被管理审核员会看你的项目计划是否真实、角色和职责是否分配、资源是否到位、进度是否有周期性监控、发现偏差后是否采取了纠正措施。PA2.2要求工作产品被管理需求文档要有明确的标识、评审、基线和变更控制代码库要权限可控、版本可回溯测试报告要有结论、有签署。举个例子一个团队产出了非常详细的需求规格书内容专业度很高但文档命名是“需求_V12_最终版_真最终版.docx”放在某位工程师的个人网盘里没有评审记录也没有配置管理。这在ASPICE视角下等同于需求工作产品没有被管理PA2.2直接达不到预期。2.1 绩效管理PA2.1计划、监控与纠偏PA2.1在评估中的具体体现包括四层。第一层是过程执行目标明确项目选定了哪些过程每个过程的目标是什么裁剪的依据是什么。第二层是过程和活动的计划比如软件测试计划里要写明测试对象、测试环境、测试层级、通过准则和进入退出标准。第三层是责任人与资源明确谁来审批需求、谁来评审设计、测试资源够不够。第四层是跟踪监控项目例会不能只聊进度百分比还要对比计划和实际偏差超过阈值怎么处理。我接触过的团队里最容易丢分的是“做了监控但没有纠偏证据”。周报里写了“进度延期2周”但后续没有任何计划更新、资源调整或范围变更记录审核员会认为监控动作是断裂的。记住发现问题但没行动在审核员眼里等于没发现问题。2.2 工作产品管理PA2.2评审、基线、追溯工作产品管理的核心是把产物当成“正式交付物”来对待。每个工作产品要定义它应该包含什么内容、由谁编写、由谁评审、评审通过标准是什么。管理动作上配置管理计划要明确基线建立时机比如代码基线在集成测试阶段如何建立、变更需要走什么样的申请和审批流程评审记录要能回答“谁在什么时候发现了什么问题问题是否已闭环”。这里不得不提追溯性。审核员在文件抽查环节最常做的事就是挑一条需求让你从系统需求追到软件需求、架构设计、单元实现再追到对应的集成测试和合格性测试用例。如果某一段断链审核员会立刻产生“工作产品不受控”的怀疑。这种怀疑一旦形成仅仅凭临时补文档是救不回来的因为访谈中相关角色会露馅。2.3 CL2和ISO 26262的协同关系另一个绕不开的话题是功能安全标准ISO 26262。经常有团队问既然已经做了ISO 26262还要不要做ASPICE CL2答案是两者定位不同互为支撑。ISO 26262侧重安全功能与安全目标的达成比如危害分析、安全需求、ASIL等级和功能安全验证ASPICE侧重软件开发流程本身的质量与受控能力。一个完整的安全开发体系通常都要同时兼顾两者。智能驾驶项目往往既要满足功能安全要求又要满足客户对软件开发过程的管理要求。CL2评估准备过程中建立的需求管理、评审机制、变更控制、配置管理正好为ISO 26262的落地提供了基础设施。这也是为什么现在越来越多公司把ASPICE和功能安全放在同一个体系里推进效果比两条线各做各的好很多。3. 从差距分析到正式评估通过CL2的实操路径说完了原理和标准下面聊最接地气的部分一个团队从零开始到底怎么一步步拿到CL2的评估结论。我按一般项目的推进节奏拆解周期通常在四到六个月前提是团队有一定工程实践基础而不是完全混乱。3.1 定评估范围选对项目几乎所有评估准备都从“选项目”开始。这个选择极其重要原则是选一个当前正在执行、资料相对完整、涉及需求分析到软件测试全流程的项目。过于早期的项目不行工作产品没成型证据链拉不起来已经结束超过半年的项目也不推荐相关人员可能已经投入新项目访谈时回忆成本太高现场容易问出前后矛盾。同时要确定评估过程范围。客户如果只关注软件层通常覆盖SWE.1到SWE.6外加SUP.8、SUP.9、SUP.10、MAN.3和SUP.1、SUP.4。如果做的是包含系统开发的完整控制器项目SYS系列也要纳入。范围不是越大越好有些支持过程当前项目不适用的可以按裁剪逻辑在计划中说明但裁剪必须有理有据而不是单纯逃避评估。3.2 差距分析先照镜子再补课范围定了接下来做差距分析。这一步不能走过场方法是对照ASPICE的过程属性逐项打分把现状和CL2目标之间的差距列表化。比如SWE.4单元验证如果你的团队只是在开发环境里随手跑了一下没有明确的单元验证计划、没有测试用例评审、没有覆盖率统计那这项就是“明显差距”。差距分析输出的是一张整改清单每项差距落到责任人、完成时间和验证方式。我见过最快的团队差距分析只花了两周因为内部工具链和文档基础扎实也见过准备了大半年的团队原因是把差距分析做成了“文档模板对照表”列出了几百个文件名称的新建任务却没有真正理解过程背后的逻辑。差距分析的价值在于帮助团队想清楚“我们现在是怎么做的”和“CL2期望我们怎么做”而不是沉浸在补文档的工作量里。3.3 过程体系与模板落地文件不是越多越好过程体系的搭建有两个极端一是完全没有文件二是文件多到没人看。两种都不健康。合理的做法是建立三层结构第一层是组织级流程手册描述项目开发主流程、裁剪指南、角色职责第二层是项目级计划包括软件开发计划、配置管理计划、质量保证计划、测试策略第三层是操作模板和检查单比如需求规格书模板、设计文档模板、评审记录表、缺陷分类表。这里有一个很关键的实操心得模板格式最忌“大而全”。ASPICE审核员看的是内容质量和执行证据不是文档页数。一份十页的、条目清晰、可跟踪的需求规格书远比一份百页但注释混乱的Word文档有效。模板落地后最好在项目上试用一轮收集团队反馈再迭代不要让模板成为开发人员的负担。3.4 关键证据链V字右侧怎么闭合CL2评估现场的核心动作是抽查证据而证据的精华在追溯矩阵。成熟团队通常用ALM工具如Polarion、Jama、DOORS、CodeBeamer维护需求、用例和测试结果同时通过Git、SVN管理代码和文档基线。手工维护Excel追溯表在项目规模小的时候能凑合但一旦需求频繁变更Excel的更新滞后会让审核员在抽查时发现断链。证据链的闭合至少要满足三层。一是需求层面的双向追溯客户需求到系统需求到软件需求每一层都要能向上找到来源、向下找到实现。二是设计和实现层面软件需求到架构组件到详细设计到代码单元代码注释里最好带上需求编号。三是验证层面每条需求都有对应的单元测试、集成测试或合格性测试用例测试执行结果和缺陷记录能对应上。这三条链闭合V模型才算真正站了起来。4. 评估现场实录审核员的视角与应对正式评估通常持续三到五天评估员数量取决于评估范围。现场流程一般分几个阶段首次会议、文档评审和访谈、工作产品抽样核查、发现项综合研判、末次会议。很多第一次经历评估的团队紧张到把所有PPT准备了一遍又一遍结果审核员只花很少时间看PPT大部分时间在翻记录、追问题。4.1 评估日程与受访角色一个典型的评估日程里审核员会安排多轮访谈受访对象包括项目经理、系统工程师、软件架构师、开发工程师、测试工程师、质量保证人员和配置管理员。每个人被问的问题大多围绕自己的实际工作展开目的是验证过程定义和实际执行是否一致。有一个细节很重要受访者在访谈中说出来的内容必须和文件证据对得上。审核员问“这个需求变更当时是怎么处理的”如果受访者回答“我们直接在代码里改了后面补了记录”但配置管理记录里显示变更请求在代码提交前已经审批通过这里就会出现矛盾。所以准备评估前每个关键角色都应该基于真实项目资料做访谈演练而不是背标准答案。4.2 访谈中的高频问题与回答逻辑审核员访谈的问题往往看起来简单实际设计得很刁钻。比如“请描述一下你负责的软件需求分析过程是怎么运作的”听起来是在问流程实际上是在考察过程实例的三个要素输入是什么、活动怎么执行、输出是否受控。回答这种问题有个好用的结构先说分析活动的输入来源比如客户需求、系统需求、法律法规要求再说怎么开展活动比如访谈客户、评估可行性、明确验收标准最后说输出物怎么被管理和验证比如需求评审、基线化、变更控制。项目里的具体例子要随时能拿出来比空谈流程强十倍。审核员真正想听的不是完美话术而是“这个团队确实知道自己在干什么”。4.3 文件抽查和追溯验证现场最容易翻车的地方文件抽查的杀伤力很大因为审核员一般是随机抽样。比如他会从需求列表里挑出一个中等复杂度的需求要求你展示该需求从系统层到代码和测试的完整路径同时提供对应的评审记录和测试结果。如果过程体系平时是“补出来”的这种抽查基本会暴露问题。我在实践中观察到最容易翻车的环节不是缺少文档而是文档和实际情况分叉。比如某条需求在追溯矩阵里状态是“已实现”但代码仓库里对应的模块根本不存在或者测试用例标记为“通过”但测试执行报告里没有任何退出标准说明。这些细节比“少一份文档”更加致命因为审核员会把它们解读为过程失控信号。4.4 发现项分级与整改闭环评估结果会以发现项形式呈现一般分为重要不符合项、一般不符合项和观察项。重要不符合项意味着某个过程属性没有达到基本要求需要整改并再次验证一般不符合项表示局部存在偏差可以通过整改计划关闭观察项则是不算不合格、但值得改进的地方。整改不是改文档那么简单而是要拿出“问题原因分析纠正措施验证证据”的闭环。比如审核员发现配置管理计划更新不及时整改时不仅要修订计划还要说明为什么之前会漏以及在后续项目中如何避免。评估完就万事大吉的心态要不得很多公司第二次评估时被翻出上一次的整改没做彻底反而更难看。5. 团队最容易踩的坑和几点实在建议最后聊几个我这些年见过的高频坑。这些坑不是标准文档里会写的但几乎每个准备ASPICE的团队都会遇到提前知道能省很多力气。5.1 把过程评估做成了文档运动这是最常见的坑。团队为了赶进度从外部买来几十份“ASPICE模板”然后花了两个月时间批量填写、补签字、补日期看起来每个过程都有产出物实际上没有任何一个过程真正跑起来。这种造假式的准备最怕现场访谈因为一聊就会露馅。正确的做法是把文档建设和实际项目执行同步进行。项目真实跑一个迭代把过程中的待办、评审、缺陷、变更记录都留痕然后基于真实记录整理出符合评估要求的工作产品。哪怕文档不是那么精美只要真实可信评估员是能感受到的。5.2 重工程过程轻支持过程很多团队把预算和精力全部投在SWE系列觉得开发才重要SUP.8配置管理、SUP.9问题解决管理这些“打杂”的过程最后弄弄就行。结果恰恰是这些支持过程最容易被审出重要不符合项。配置管理是追溯性的基石问题管理是变更闭环的入口它们出问题工程过程再漂亮也会被连累。建议在准备阶段一视同仁地对待所有纳入评估范围的过程。尤其是配置管理不要只看有没有用Git还要看权限控制、分支策略、基线管理、发布标记是否完整。很多团队代码托管工具用得溜可是回顾一个特定版本的完整代码集时却说不清楚基线在哪里、由谁批准发布。5.3 工具链割裂导致追溯数据断裂小型团队常犯的另一个问题是工具用得很多但彼此之间没有关联。需求和设计在在线文档协作工具里代码在代码托管平台缺陷在项目管理工具里测试用例在Excel里。结果每个工具的局部信息都全但跨工具追溯时数据链断裂需要人工核对。解决思路不一定要上昂贵的ALM平台而是制定工具间的手工同步规则并通过定期检查和审计保证更新。比如需求变更后在项目管理工具中必须关联对应需求编号代码提交消息中强制填写需求或缺陷编号。只要规则明确、检查到位低成本工具链也能满足CL2要求。5.4 给准备启动ASPICE的团队四点建议第一先花两周做差距分析别急着买模板或聘外部咨询。差距分析能帮团队精确找到痛点后续资源投入更有效率。第二项目试点不要贪大选一个周期适中、范围可控的项目跑通全套过程再在组织内复制。第三把评估准备当成一次真正的内部分享机会项目经理、开发、测试、QA都要理解ASPICE的核心逻辑而不是只有过程专家懂。第四临时抱佛脚只能抱出形式抱不出体系真正让团队受益的是在准备过程中建立起来的工作习惯比如每次评审都留痕、每次变更都走流程、每次测试都有结论。我个人在实际参与评估项目中的体会是CL2真正的价值并不在那份评估报告上而是它逼着团队第一次完整地看清自己的开发过程需求到底有没有闭环、变更到底有没有失控、测试到底有没有覆盖率依据。希迪智驾迈过这一步意味着后续在智能驾驶解决方案的交付中面对客户的研发要求时会少很多解释成本。如果你的团队也正在筹备ASPICE不要焦虑把过程当成产品对待先让它真实地跑起来再让它稳定地被管起来CL2迟早会水到渠成。
返回列表