敏捷开发是1990年逐渐引起人们广泛关注的新型软件开发方式,它是具有应对快速变化需求的软件开发能力。相对于非敏捷开发,它是一种以客户需求为核心,持续迭代,循序渐进的开发方式,敏捷绝非是一种特定的开发方式,而是一种应对快速变化需求的一种软件开发能力。所以敏捷开发并不在意需求是否变更,即便在开发后期,敏捷开发仍乐于接受需求的变更,这一点对于客户满意度来说,是非常有竞争力的
特点:
1. 开发周期更短:相对于其他几种开发方式(瀑布式开发,迭代式开发,螺旋发开),敏捷开发的周期无疑更短.他能更快的满足需求.如果客户提起需求变更是,它也能更快的做出相应的变化,正如它的名字一样,敏捷开发代表的是更快的速度
2.更好的适应快速变化的需求:在任何时候需求都不是一成不变的的.无论前期考虑的多么周到为了适应快速变化的市场,为了让软件更加完善,需求永远都是在不停变化的,毫不夸张的说,我们正在开发的功能,还没有上线,客户可能已经不需要了.敏捷快发能够驾驭需求的变化,他主张接受变更,对变更做出更快的响应
3.采用迭代方式:频繁的交付可使用的软件,在敏捷开发在,每个星期都要更新一个新版本,交付一个可以使用的软件,然后根据市场变化,交付下一个迭代的产品。在这频繁的交付过程中,更好的满足客户需求,适应需求的变化
敏捷开发意味着让我们全面的拥抱需求的变化,但是对于瞬息万变的市场反馈还不足以应对.
因此为了更快的发现问题和反馈市场变化,在敏捷开发的过程中,引入了持续集成,持续交付和持续部署来更高效的进行敏捷开发
什么是敏捷开发?
在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
瀑布式开发
优点:
1. 为项目提供了按阶段划分的检查点。
2. 当前一阶段完成后,您只需要去关注后续阶段.
3. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
缺点:
1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4. 瀑布模型的突出缺点是不适应用户需求的变化。
优点:
1. 敏捷开发的高适应性,以人为本的特性。
2. 更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。
缺点:
1. 由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。
ps:个人整理,如有侵权,请联系