敏捷开发 vs 瀑布模型
1)需求分析
瀑布模型的一个重要阶段就是需求分析,要有严谨的需求分析,产生详尽的需求分析文档。而敏捷开发的需
求,主要是来源于一个个小的用户故事,用户故事通常是写在卡片上的一句话,在 Sprint 的开发中,再
去确认需求的细节。
2)架构设计
瀑布模型在需求分析完了以后,就需要根据需求做架构设计。而在敏捷开发中,并不是基于完整的用户需求
开发,每个 Sprint 只做一部分需求,所以是一种渐进式的架构设计,当前 Sprint 只做适合当前需求的
架构设计。这种渐进式的架构设计,迭代次数一多,就会出现架构满足不了需求的现象,产生不少冗余代
码,通常我们叫它技术债务,需要定期对系统架构进行重构。
3)项目质量保证
瀑布模型在编码完成后,会有专门的阶段进行测试,以保证质量。在敏捷开发的 Sprint 中,并没有专门
的测试阶段,这就依赖于开发功能的同时,要编写单元测试和集成测试代码,用自动化的方式辅助完成测
试。
4)部署
瀑布模型通常在编码结束后,开始部署测试环境,然后在测试阶段定期部署测试环境。测试验收通过后,发
布部署到生产环境。在敏捷开发中,这种持续构建、持续发布的概念叫持续集成,因为整个过程都是全自动
化的,每次完成一个任务,提交代码后都可以触发一次构建部署操作,脚本会拿最新的代码做一次全新的构
建,然后运行所有的单元测试和集成测试代码,测试通过后部署到测试环境。
此文章为9月Day7学习笔记,内容来源于极客时间《软件工程之美》