点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
ASPICE(Automotive SPICE,汽车软件过程改进与能力评估)是一个用于汽车行业的软件过程改进和能力评估的框架。它提供了一套标准化的流程和评估模型,帮助汽车行业的组织提高软件开发的质量和效率。ASPICE 是基于ISO/IEC 15504(SPICE,Software Process Improvement and Capability dEtermination)标准的,在汽车领域的应用主要集中于软件和系统开发。
ASPICE流程模型主要分为不同的过程类别,每个类别包含一系列的过程要求,这些要求可以帮助企业在软件开发生命周期中持续改进流程并确保软件的质量。
01
ASPICE过程类别
ASPICE将整个过程分为以下几个类别:
Primary Life Cycle Processes(主生命周期过程)
这些过程涉及从需求分析到系统、硬件、软件设计和验证的各个方面。主要包括:
-
SWE.1(软件需求分析):收集、分析和管理软件需求。
-
SWE.2(软件设计):软件的体系结构设计与详细设计。
-
SWE.3(软件单元实现):软件单元(例如模块)的开发与编码。
-
SWE.4(软件单元测试):对软件单元进行测试。
-
SWE.5(集成和测试):对整个软件系统进行集成与测试。
-
SWE.6(软件发布):将开发的软件交付到客户并进行维护。
Support Processes(支持过程)
这些过程包括管理、文档、风险评估和变更控制等,以确保开发过程的顺利进行。主要包括:
-
SUP.1(项目管理):项目的规划、执行、监控与控制。
-
SUP.2(文档管理):对项目文档的创建、管理与控制。
-
SUP.3(配置管理):管理和控制项目中的各类配置项。
-
SUP.4(风险管理):识别、评估和管理风险。
Organizational Life Cycle Processes(组织生命周期过程)
这些过程关注组织层面的能力提升和过程管理。主要包括:
-
ORG.1(组织的过程改进):定义组织级别的过程管理和改进方法。
-
ORG.2(过程能力评估):对组织过程的能力进行评估,找出提升的空间。
02
ASPICE评估模型
ASPICE 评估模型基于能力成熟度模型(CMMI),主要分为五个级别,用于衡量过程能力和组织的成熟度:
-
级别 0(Incomplete):过程没有实现,或没有按照规范执行。
-
级别 1(Performed):过程已经实施并运行,但不一定是标准化的。
-
级别 2(Managed):过程得到了管理,能够通过明确的计划和监督确保其顺利进行。
-
级别 3(Defined):过程已经规范化,并按照组织的标准进行执行。
-
级别 4(Quantitatively Managed):过程得到量化管理,通过度量和数据分析进行优化。
-
级别 5(Optimizing):过程持续优化,组织能够利用过程数据来进一步提升流程。
03
ASPICE流程的具体步骤
每个ASPICE过程都包含一系列的活动、输入、输出和评估标准。以下是一些常见的过程步骤:
-
需求分析(SWE.1) 活动:收集并分析用户需求,确保需求的可追踪性、明确性与一致性。输入:客户需求、系统需求、市场需求等。输出:软件需求文档。评估:检查需求是否清晰、可验证、并且符合项目目标。
-
软件设计(SWE.2) 活动:将需求转化为高层次的软件架构和详细设计。输入:软件需求文档。输出:软件设计文档、架构设计、模块设计。评估:设计的可行性、模块化与可维护性。
-
软件实现与编码(SWE.3) 活动:根据设计文档进行实际编码工作。输入:软件设计文档。输出:源代码、实现文档。评估:代码符合设计规范,并且没有重大缺陷。
-
软件测试(SWE.4) 活动:对软件单元进行功能测试,确保代码正确实现了设计要求。输入:源代码、测试用例、测试环境。输出:测试报告、问题跟踪。评估:软件单元的功能性与稳定性。
-
集成与系统测试(SWE.5) 活动:将单个模块集成到整体系统中,进行集成测试与系统验证。输入:集成后的软件、测试环境。输出:系统测试报告、集成文档。评估:系统集成后的稳定性与功能完整性。
-
发布与维护(SWE.6) 活动:软件完成开发并交付给客户使用,后期进行维护与修复。输入:系统测试报告、用户反馈。输出:发布包、维护日志。评估:软件的可靠性与用户反馈处理。
-
ASPICE实施与持续改进 实施ASPICE时,组织需要确保从过程规划到具体实践的落地。持续改进通常通过:
定期评估:通过自评、内审、第三方评估等手段定期检查过程的成熟度。数据驱动改进:根据评估结果和度量数据调整和优化过程。员工参与:提升团队的过程意识,确保所有成员理解并遵循ASPICE流程。ASPICE的最终目的是帮助企业提升软件开发过程的质量和效率,特别是在汽车行业中,确保汽车软件的安全性、可靠性和合规性。
04
VS敏捷开发
当前国内ADAS(高级驾驶辅助系统)供应商和域控制器开发中常见的开发方式,尤其是在中国的一些企业中,敏捷开发(Agile)方法被广泛应用,而ASPICE(Automotive SPICE)流程的采用相对较少。这个现象的背后有多方面的原因,既有技术上的考虑,也有行业背景和市场需求的影响。
1. 敏捷开发 vs. ASPICE:两者的根本差异
敏捷开发:灵活性和快速迭代:敏捷开发强调快速响应需求变化,灵活的迭代和持续交付。这非常适用于那些需求频繁变化、开发周期较短、需要快速验证的项目,特别是在创新性较强的技术领域。团队协作:敏捷开发强调跨职能团队的密切合作,注重人与人之间的沟通和团队成员的自组织能力。这对于快速应对市场需求的变化尤为重要。快速交付与反馈:敏捷开发中,产品通常通过短期的迭代进行交付,快速获得用户反馈,并在后续迭代中进行改进。ASPICE:过程规范和评估:ASPICE更侧重于过程的标准化、管理和改进。它提供了一套清晰的流程模型和成熟度评估,目标是提升整个组织的软件开发能力,特别是在汽车行业中确保产品的安全性、可靠性和合规性。严格的文档和验证要求:ASPICE 强调对每个开发阶段的严格控制,包括需求分析、设计、测试、验证等,并要求详细的文档记录。这对于那些对安全性、功能性和稳定性要求极高的系统(如ADAS、自动驾驶)非常重要,但也使得其过程比敏捷开发更为繁琐。
2. 国内ADAS和域控制器开发的敏捷化倾向
在中国的ADAS供应商和域控制器开发中,敏捷开发方法的采用较为普遍,主要有以下几个原因:
-
市场需求和竞争压力 快速迭代和创新:ADAS领域涉及的技术高度创新,需求经常变化。中国的ADAS供应商需要快速响应市场需求,快速推出新产品或新功能,这使得敏捷开发成为一种更适合的方式。敏捷开发可以帮助团队在较短时间内交付新版本或功能,保持竞争力。创新驱动:很多国内企业处于技术探索阶段,敏捷开发能帮助企业更灵活地调整技术路线,及时修正产品方向。
-
项目规模和开发周期 项目较为小型化或模块化:对于一些中小型的ADAS开发公司或初创企业而言,采用敏捷开发能更好地应对快速变化的需求,避免了传统开发流程中繁琐的前期计划和大量的文档工作。较短的开发周期:敏捷开发通过短周期的迭代,能够更迅速地进入市场,获取客户反馈,避免长时间的需求冻结和长开发周期带来的市场风险。
-
人员技能与经验 跨职能团队的协作:国内很多ADAS开发团队倾向于使用敏捷开发,因为它强调跨职能团队的密切协作,能够快速响应需求,并且更加适应年轻开发者的工作方式。相比于ASPICE要求的规范化过程,敏捷开发能够给团队成员更多的自由度,允许他们快速调整开发策略和优先级。
3. ASPICE流程较少采用的原因
-
实施成本和复杂性 标准化过程实施难度大:ASPICE需要对整个软件开发过程进行严格的管理和规范化,涵盖需求管理、设计、开发、测试、验证、发布等各个环节。对于很多企业而言,尤其是中小型企业,实施ASPICE流程的成本较高,需要投入大量的时间和人力去做过程改进、培训和评估。文档和流程管理的复杂性:ASPICE要求企业有系统的文档管理和流程控制,这对于快速响应市场变化的企业来说是一种负担。相比之下,敏捷开发能够减少文档工作量,更专注于代码的开发和快速交付。
-
安全性要求与开发经验的缺失 较低的安全性要求:一些企业在初期阶段的ADAS开发中,可能没有遇到必须满足严格安全标准(如ISO 26262)的需求,或者它们正在开发的是非安全关键型功能,因此不需要完全遵循ASPICE流程。经验和文化差异:国内很多企业对于ASPICE流程的理解和应用经验较少,且企业文化中较少有对严密过程管理的重视。相比之下,敏捷开发更容易被理解并快速采纳。
-
行业环境与监管要求 监管标准和行业规范:虽然在国际市场上,尤其是在欧洲和北美,ASPICE已成为车企和供应商的重要规范,但国内很多ADAS开发企业尚未面临与ASPICE相关的强制性监管要求。国内企业在初期开发阶段可能更多关注如何快速切入市场,而非严格遵循复杂的流程标准。
4. ASPICE与敏捷开发的结合
虽然ASPICE流程在国内ADAS开发中应用较少,但越来越多的企业开始意识到在一些关键系统中引入ASPICE流程的重要性,特别是当产品涉及安全性、功能可靠性和合规性时。事实上,敏捷开发与ASPICE并不是对立的,而是可以结合使用的。
敏捷开发中的ASPICE适配:一些企业已经开始在敏捷开发的框架下,结合ASPICE的某些元素。例如,敏捷开发的迭代过程可以结合ASPICE的测试、验证、文档等要求,使得开发过程既具备敏捷性,又满足高质量和安全性要求。
安全关键系统与非安全关键系统分开管理:在实际应用中,可以根据项目的性质和安全要求,针对安全关键系统采用ASPICE流程,而对于非安全关键功能,可以采用敏捷开发方法,这样能够实现灵活与规范的平衡。
在中国的ADAS领域,尤其是一些中小型供应商和初创企业中,敏捷开发因其灵活、快速、成本低等特点,成为了主要的开发模式。ASPICE作为一个更为规范化的过程框架,适用于高安全性、高可靠性要求的汽车软件开发,但由于其复杂性和高成本的实施要求,在中国的很多企业中应用较少。随着行业技术的不断发展,特别是在自动驾驶和安全关键系统中,未来可能会有更多的企业在需要符合安全性要求时结合ASPICE和敏捷开发,以便实现过程的规范化和开发的灵活性并行。
end
精品活动推荐
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......
人员占比
公司类型占比
原文始发于微信公众号(谈思实验室):ASPICE模型开发 VS Agile敏捷开发
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论