在汽车行业,软件开发需兼顾功能安全合规性(如ASPICE标准)与快速响应市场变化的能力。传统瀑布模型虽能满足ASPICE的严格文档和流程要求,但难以适应需求频繁变更的场景;敏捷开发虽能快速迭代,却可能因文档不足而无法满足ASPICE合规性。混合开发模式通过结合两者的优势,成为汽车软件开发的理想选择。
阶段互补:
瀑布模型:适用于需求明确、范围稳定的阶段,如需求分析、系统架构设计等。通过详细的文档记录和严格的评审流程,确保开发方向的正确性。
敏捷开发:适用于需求频繁变更、需要快速响应的阶段,如功能开发、测试优化等。通过短周期迭代和持续反馈,提升产品的适配性和质量。
风险管控:
在项目初期,利用瀑布模型进行需求分析和架构设计,降低后期大规模返工的风险。
在开发阶段,采用敏捷开发进行功能迭代,快速响应市场变化和客户反馈。
文档与流程平衡:
遵循ASPICE的文档要求,对关键过程和输出物进行详细记录,如需求规格说明书、设计文档、测试报告等。
在敏捷迭代中,采用轻量级文档实践,如简洁的功能描述文档、自动化测试脚本等,减少文档负担,同时满足合规性要求。
背景与挑战:
沃尔沃汽车公司ART转向系统部门的Aurora团队在采用敏捷开发时,面临ASPICE合规性挑战。规模化敏捷框架(如SAFe)未考虑风险管理、安全分析及安全关键系统开发所需的相关文档生成。
解决方案:
构建适应性文档管理策略:根据ASPICE要求,明确需生成和记录的信息,如需求、设计、代码、测试之间的双向追溯性;确定信息的记录方式和生成阶段。
分层设计与增量式开发:将设计分解为不同层次,高层次架构设计保持稳定,详细设计融入具体迭代中。
持续架构设计:采用灵活且可扩展的架构设计模式,减少需求变更对整体架构的影响。
自动化测试与持续集成:使用自动化测试工具和持续集成流程,确保软件质量的持续监控和改进。
实施效果:
该策略使Aurora团队在采用敏捷开发实践的同时,仍满足ASPICE合规要求。
通过提前明确文档要求,减少了迭代中的文档负担,提高了开发效率。
双向追溯性的建立,确保了需求、设计、代码和测试之间的一致性,提升了软件质量。
需求管理:
在敏捷开发中,将ASPICE的关键过程域要求融入需求优先级排序中。例如,对涉及安全关键的功能需求给予高优先级,确保在早期迭代中进行处理。
建立协同的需求变更管理流程,记录变更原因、影响范围,并更新相关文档。
过程管理与文档:
采用轻量级文档实践,满足ASPICE要求的同时减少文档负担。例如,在每次迭代中创建简洁的功能描述文档,逐步完善关键文档(如软件架构文档)。
将ASPICE的过程要求融入敏捷实践中。例如,在Scrum的Sprint计划会议中,安排软件质量保证任务(如代码审查、单元测试计划制定)。
质量保证:
在每个迭代结束时进行ASPICE评估,检查需求管理、设计、编码、测试等环节是否符合标准。
建立质量门控机制,确保每个版本在发布前符合ASPICE的质量要求。
工具支持:
使用项目管理工具(如JIRA、Confluence)来管理需求、变更和缺陷,确保敏捷开发与ASPICE的可追溯性要求相匹配。
利用自动化测试工具和持续集成流程,提高测试效率和质量。
团队培训与文化建设:
为团队成员提供ASPICE与敏捷开发整合的培训,提高团队的敏感度和合规意识。
建立开放的工作环境,促进团队成员之间的知识共享和经验交流。
推荐阅读:
亚远景-ISO/PAS 8800与全球汽车AI监管趋同下的中国企业合规策略与技术适配
亚远景-ASPICE与ISO 26262:汽车软件安全与质量的双标
亚远景-ISO 26262与ISO 21434:汽车安全标准的双基石
亚远景-从标准到文化:ISO/PAS 8800能否定义“可信AI”的全球伦理?
亚远景-软件定义汽车背景下,ASPICE评估如何量化“可升级性”与“可维护性”
推荐服务:
点击查看亚远景ASPICE、ISO26262实施工具-APMS研发过程管理平台
