什么是瀑布模型?
传统的的瀑布模型强调从需求到运维串行的模式,像瀑布一样自顶而下。各个阶段依次为:可行性分析和计划、需求分析、概要设计、详细设计、编码、测试、运维
瀑布模型使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。同时,重视各阶段的文档规范,是相当标准化的软件工程模型。
瀑布模型的优点是标准化规范化,缺点便是整个开发测试过程较慢。
为什么叫瀑布呢?
顾名思义,在瀑布模型里,强调的是顺序不返工,每个阶段都有严格的标准,一旦该阶段通过进入下一阶段,则顺势向下。因为在瀑布模型里,返工的代价是相当大的。
![0eae3b90bb0b8f85a06217c44a88bcee.png](https://img-blog.csdnimg.cn/img_convert/0eae3b90bb0b8f85a06217c44a88bcee.png)
什么是敏捷开发?
大约在2015年左右出现scrum敏捷开发这个词,从国外逐步蔓延至国内市场。到2018年,国内有大部分软件公司都宣称自己使用的是敏捷开发,然而事实上却不尽然,国内大部分公司实际上处于瀑布模型到敏捷的过度阶段,既抛弃了标准化,又未能在保证质量的前提下真正“敏捷”起来。
敏捷开发模式有以下特点:
1.story细化。将开发任务模块化细分,细化为每一个story。
2.简单设计,避免过度设计而浪费掉大量的时间,同时更容易应变需求的变更。
3.重复迭代。不断的story开发,不断的版本迭代,使整个产品逐步完善。
4.减少不必要的文档。仍然是避免时间成本的浪费,减少过多繁杂的文档,而不是缺少必要的文档。
5.客户最关心的功能最先完成。和客户保持密切的沟通,按照优先级排列用户需求,持续交付,持续验收。
6.要求客户有时间对每次迭代的成果进行确认,提出改进意见。
![f49c8422aa27435f9cc1d924a3451d4f.png](https://img-blog.csdnimg.cn/img_convert/f49c8422aa27435f9cc1d924a3451d4f.png)
7.showcase。
8.沟通是非常重要的,所有的开发人员对项目活动的理解应该是一致的。加强团队之间和客户之间的沟通。
9.测试驱动开发(TDD)
10.需要更强的个人和团队能力。
11.敏捷的管理是团队的自我管理和项目经理的服务式管理。
12.敏捷开发不能在一开始就给出项目完整的成本计划。
13.在有技术问题还没有解决的情况下不适合展开迭代。
14.敏捷实践:晨会,deadline,负责人制等等。
根据以上特点,不难总结出,敏捷开发模型对人员素质的要求是很高的,要求团队每个人参与到项目的开发流程中,而不只是仅关注自己所负责的那部分。敏捷而保质,是当今敏捷开发最为重要的一点。