“敏捷”适用于汽车软件开发吗?
瀑布是什么?
瀑布法的主要好处:
详细的产品需求和文档使新工程师能够快速、轻松地进入项目。
文档为项目提供了清晰的范围,使项目经理能够与相关各方沟通预算、时间线和关键里程碑。
为项目提供了按阶段划分的检查点。
当前一阶段完成后,您只需要去关注后续阶段.
它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布法的缺点:
瀑布法的主要挑战:
客户可能会发现在项目开始时很难概述他们的所有需求,这导致了文档中的空白。
如果产品没有达到预期,开发过程中最小的客户协作可能导致昂贵的更改。
测试人员在过程的后期才能发现问题和bug,这可能导致架构级别的更改。
什么是敏捷?
敏捷开发的优点:
高适应性,以人为本,团队设计促进了更多的合作。
更加灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。
由于代码在开发阶段的每个迭代中都要进行测试,所以代码缺陷可以迅速的列入未来的软件的开发计划中。
往往会产生更高的客户满意度,因为频繁的反馈会增加客户需求的优先级。
这种精益的软件开发可以降低成本,因为与客户期望的不一致的风险更小。
敏捷开发的缺点:
对于文档的重视不足。由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。若项目人员流动性太大,又给维护带来不少难度。
需要项目中存在经验较强的人,否则在大或复杂的项目中容易遇到瓶颈问题。
只适合小团队作战。难以应对大规模的开发任务。
观点:
传统的汽车软件开发并不是没有迭代的 敏捷是通过不断地设立“小目标”的方式,实现小步快跑,通过不断的从客户处获得反馈来保证最终的交付能够满足用户的期望目标 由于汽车软件中的基础功能通常都是需求非常明确的,而且长期基本不变,不需要通过敏捷来试错 纯软件项目由于更改方便,更适合敏捷 敏捷只能部分应用于需求不明确、需要通过快速迭代来试错的领域
建议和结论:
在快速迭代的领域适当进行:多媒体中的APP,智驾中的部分功能的原型开发都是与硬件关联度不高的,可以结合MIL(Model In Loop,模型在环仿真)的实施来尝试“敏捷”
SOA中的部分服务在接口需求明确的情况下可以在开发阶段进行敏捷的尝试
汽车电子与软件
每天分享一篇技术文章!
218篇原创内容
公众号
赞 (0)