ASPICE框架基于验证和确认模型,也称为V模型。这意味着开发的每个阶段都有一个测试阶段。这种线性开发方法意味着必须在项目开始时明确确定需求。早期的设计决策往往会导致延迟。一旦开发过程开始,就很难适应需求的变化,因为测试也是提前创建的。开发完成后,按照顺序对软件进行需求测试。此外,从指定初始需求到测试和反馈之间的长周期导致开发过程后期如果需要进行更改,会产生额外的成本。
相反,敏捷软件开发遵循增量方法,并在完成初始规划后提供进行更改的灵活性。因此,如果需求在开发周期内发生变化,那么重新规划工作相对容易,因此,发布时间大大缩短。
考虑到敏捷与ASPICE开发过程之间的巨大差异,是否可以在敏捷方法中遵循ASPICE框架?这在某种程度上肯定是可能的。事实上,许多汽车软件开发公司都成功地做到了这一点。
ASPICE长期以来一直与软件开发的瀑布式方法联系在一起,因为它确定了应该执行活动和交付工作产品的特定顺序。然而,这并不意味着维护顺序开发周期的唯一方法是遵循瀑布模型。
ASPICE不会强加做事的方式。它决定了应该做什么,应该取得什么结果,但没有具体说明如何做。因此,有空间实现敏捷方法的某些优势,允许在更短、高效的周期内实现目标结果,并在过程中灵活应用可能的更改。
敏捷方法论或其要素在汽车项目中非常有效,特别强调用户体验,例如HMI开发。通过短时间的冲刺,可以对想法或假设进行测试,然后根据用户反馈进行调整。在大多数需要灵活规划和频繁变更的汽车项目中,敏捷也能很好地发挥作用。唯一的条件是确保遵守所有ASPICE流程和最佳实践。
推荐阅读:
敏捷和ASPICE如何结合来降低软件开发成本(一)为什么将ASPICE与敏捷结合?
敏捷和ASPICE如何结合来降低软件开发成本(三)ASPICE和敏捷如何协同工作