1 什么是敏捷开发
(1) 敏捷开发就是Scrum和极限编程
(2)敏捷开发就是两周一个冲刺,迭代。
(3)敏捷开发是用看板软件管理项目
2 敏捷开发背景
2001年重型的瀑布开发因为周期长风险较大衍生出了很多其他的模型,到现在更多的轻量级开发方法比如极限编程,scrum
(1)敏捷不是方法论,也不是软件开发的具体方法,而是一套价值观和原则。比如流程的站立会议,目的是增强大家的沟通,但是应该减少频度,判断依据就是是否违背了敏捷开发的价值观和原则。
3 敏捷开发和瀑布模型的差异
(1)敏捷开发怎么做需求分析
(2)敏捷开发如何架构设计
瀑布模型 瀑布模型在需求分析结束后就开始架构设计
敏捷开发 敏捷开发并不是基于完整的用户需求开发,每个sprint只做一部分需求,叫做渐进式架构设计。缺点就是迭代多了,产生很多荣誉代码,所以需要定期重构。
(3)敏捷如何保证项目质量的
瀑布模型 瀑布在编码完成后由专门的测试团队进行测试保证质量
敏捷开发 在敏捷中,依赖于开发功能的同时需要编写单元测试和集成测试代码,自动化的方式完成测试。质量确实是有一定的影响,比如win10之前的瀑布模型质量比win10以后的质量高
(4)敏捷开发怎么发布部署
瀑布模型 编码结束---->部署测试环境--->测试阶段定期部署测试环境---->验收后发布到生产环境
敏捷开发 持续构建,持续发布叫做持续集成。整个过程全自动化,每完成一次任务,提交代码都会触发构建---->自动测试--->部署发布