编辑推荐: |
本文介绍了从"汽车软件过程改进能力评估模型"看研发过程的关键点相关内容。
希望对您的学习有所帮助。
本文来自于微信公众号系统及流程思考,由火龙果软件Linda编辑、推荐。 |
|
1. 引言
汽车软件过程改进能力评估模型,Automotive Software Process Improvement
and Capability dEtermination,简称ASPICE,是一种软件过程能力评估模型,旨在评估和改进汽车行业的软件开发过程。它提供了一套标准和指南,帮助组织评估其软件开发过程的成熟度和质量,并提供改进的方法和最佳实践。
因为汽车软件的研发涉及高安全性、高稳定性、牵涉多方利益、需要多方高度协作等特点,对汽车软件的研发提出了很大的挑战,ASPICE意在解决这些挑战,从而最大程度地保证汽车软件研发的高质量、高安全、需求与实现的一致性及可预测的维护成本。
通过ASPICE我们可以学到很多最佳指导与实践,从而应用到我们日常的研发流程及相关的工作当中,比如需求、设计、实现的一致性,追溯机制,边界清晰等。
2. 研发的关键点
2.1 考虑利益攸关者的诉求
不管是间接地受到系统运行状况影响的投资者,还是直接与系统关联的客户、供应商、开发者企业等都处于此系统运行的大环境之中,彼此关联,互相影响,在考虑系统的未来时需要重点考虑这些角色的诉求。
2.2 需求必来自利益攸关者
所有的需求都应该有出处,这个出处是我们的利益相关者,比如客户、供应商、经销商、政策及法律制约方等。任何的设计、验证等工作如果不能追溯到最初的需求及需求的合法提出方,则是成本的浪费、时间的浪费、机会成本的浪费、产品不稳定的源头之一。如下图:


2.3 边界必须清晰
系统由各个实体、虚体组成,彼此有自己的职责,又都身为大系统的一个要素,其主要责任就是为其他关联组件提供输入,同时也从其它关联组件获取输入,只有边界清晰才能成就对方。这个边界在软件研发中可以通过清晰的接口、输入、输出、性能、安全等描述及对应的实现来解决。对于软件与硬件之间的接口也需要清晰的描述、模拟来避免后续返工而引起的巨大成本的浪费。
2.4 结构化管理
结构化管理是一种系统化、规范化的管理方法,通过建立清晰的框架、流程和标准,将复杂任务或组织运作分解为可操作的模块,以提高效率、降低不确定性并实现目标。不论是需求、设计、测试、问题单、风险、度量、代码等都需要进行结构化的管理。
比如需求,如果都在Word文档中,那么其中的段落是无法单独共享、分析、及与其它相关的设计、测试等相关内容关联的,也无法分层管理、进行权限管理等。而结构化管理则对需求的属性、层次、段落、模板、权限、关联、审批、版本等进行管理,也就是把需求作为一个对象进行管理。
ASPICE中对系统、软件、硬件、质量、问题等的过程、产出物等都有了结构化的描述,这个结构化的描述可以指导企业满足ASPICE中的要求。
2.5 层次化管理
层次化管理是一种将复杂系统或流程分解为多个相互关联但相对独立的层级,通过明确各层级的职责和交互关系来实现高效管理的方法论。ASPICE的总体布局也符合V型的层次化、一致性的及追溯性的结构化原则。如下图所示:

在ASPICE框架中,这种管理理念体现在多个维度:
1. 过程架构分层
主要生命周期过程:工程开发核心流程(SYS/SWE/HWE)
支持生命周期过程:质量保障基础(SUP)
组织生命周期过程:能力建设框架(MAN/PIM/REU)
2. 产品开发层次
系统层:整车功能与交互
组件层:ECU/子系统实现
单元层:软件模块/硬件元件
3. 验证层级结构
单元验证 → 2. 组件验证 → 3. 集成验证 → 4. 系统验证 → 5. 确认
层次化管理的核心原则:
1. 明确边界定义
各层级有清晰的输入输出标准
示例:SWE.1明确软件需求与系统需求的接口
2. 标准化交互机制
定义层级间的沟通协议
示例:SYS.4规定系统集成接口控制
3. 渐进式能力提升
从基础执行到优化创新
示例:从Level1到Level5的能力演进路径
2.6 闭环管理
ASPICE标准中的闭环管理理念贯穿整个产品生命周期,通过"计划-执行-检查-改进"(PDCA)循环确保每个过程输出都得到有效验证和反馈。
在ASPICE中总体本身就是个闭环管理:需求、设计、测试、监控、优化。而每个模块里面也符合闭环逻辑,这种闭环机制主要体现在以下三个维度:
需求实现闭环:从需求定义到验证确认的完整链条
问题处理闭环:从问题发现到解决验证的全过程跟踪
改进提升闭环:从度量分析到过程优化的持续循环
如下由专门的流程优化举措:

2.7 追溯机制
讲究证据与源头,也是对一致性的要求。ASPICE标准中的追溯机制是一种系统化的关联管理方法,通过建立不同层级工作产品间的双向链接,确保产品开发的一致性和完整性。这种机制贯穿整个V模型开发周期,形成纵横交错的追溯网络。
典型追溯要求举例:
SYS.2.BP5:系统需求↔利益相关者需求的双向追溯

SWE.1.BP5:软件需求↔系统需求的双向追溯

SWE.2.BP4:软件架构↔软件需求的双向追溯

2.8 风险意识
ASPICE将风险管理视为贯穿整个产品生命周期的关键活动,通过系统化的方法识别、评估和控制技术风险与项目风险。风险管理在ASPICE框架中不是孤立的过程,而是融入各个工程和管理活动中。
风险管理的过程体现:
1. 专门的风险管理过程(MAN.5)

ASPICE明确规定了风险管理过程:
风险识别:系统性地发现潜在问题
风险评估:分析可能性和影响程度
风险应对:制定缓解/规避/转移/接受策略
风险监控:持续跟踪风险状态
2. 风险驱动的工程实践
SYS.3.BP3:系统架构设计中的风险分析
SWE.2.BP3:软件架构设计的风险评估
HWE.2.BP4:硬件设计的风险考量
2.9 资源规划
ASPICE标准将资源规划视为项目成功的基础保障,通过结构化的方法确保人力、设备、工具等各类资源在正确的时间以适当的配置投入项目。
既有专门的对团队建设资源要求,也有专题的资源的要求,都为了保证软件的高质量。
如下是团队建设对资源的要求:

如下是流程提升对资源的要求:

2.10 共享理念
首先ASPICE本身就是一套共享的指导原则、框架、最佳实践,帮助企业实现高质量的软件。同时对软件生命周期中各个阶段的共享也提出了明确的要求。这种共享机制不仅提高效率,还确保组织过程资产的持续积累和增值。
ASPICE对资产重用作为总体原则之一:

系统架构中的元素共享:

工作件的共享:

还有需求、设计、测试用例、资源等等的共享。在IPD的设计中、在数据治理中都存在共享理念,为此共享的理念已经渗入到我们工作、生活的方方面面了,无论是工作的计划,还是数字化的转型,共享是我们必须重点关注的概念。
3. 总结
不论是何种行业标准的制定,都是为了指导或强制某些必需的产出及遵循的流程、制度,但总体上也是为了在这个生态中让彼此的协同、信任达到一个新的高度,提升总体商业或生活效率,降低总体商业或生活成本。
在这些标准中协同、共享、逻辑、边界、层次、工作件、计划、闭环、一致性等理念都经常出现,总体是为了保证某个目标得以实现而制定的各种规定。
相对来说很多标准规定了某些必需的产出、过程,但也为企业留了很大的灵活性。比如标准需要你保证需求、设计、验证的一致性,但如何保证一致性及你用到的具体的流程、工具并没有说明,这也为不同流程成熟度、不同数字化程度、不同发展阶段的企业提供了采用自身可以做的手段的机会,降低企业的总体成本。但我们必须理解标准中的一些基本思想,这样就不会为了标准而标准,而是利用这个标准真正地让企业的管理水平、产品设计水平达到一个新的高度,且一旦理解其基本思想也就有了很多可以利用的手段服务于企业。
|