敏捷开发VS瀑布式项目开发

上一篇 / 下一篇  2013-01-14 11:50:34 / 个人分类:测试管理

      各公司系统开发方式众多,且项目管理者采用的开发模式也不尽相同。到底什么才是很多公司近两年极力推崇的敏捷开发呢,与传统的瀑布开发模式又有哪些差异或优劣呢?说实话,在写这篇文章之前,个人对敏捷并没有太大的兴趣或好感,尽管之前在阿里的时候确实公司也一直在推进敏捷的改革,并且逐渐取得了一些比较显著的成效。那么到底才是真正意义的敏捷开发模式呢?

       敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
      
瀑布开发模式就是一种最常用的开发模型,如果说敏捷是以人为核心,那么瀑布开发模式更多的是以文档和各种流程,规范为核心。因为这种开发方式不但简单直观而且大大便利了项目管理的运做。而在目前公司,一直在沿用的就是该开发模式。


      瀑布开发模式可以令项目管理人员非常方便地把整个项目置于自己的掌握之下。瀑布开发模式限制了开发期间团队间的交互,评估起来相当方便,由于开发计划稳定而且几乎不会发生经常性的变化从而有效地简化了项目开发的管理工作

瀑布模型的特点

(传统的开发方式)

1、强调文档

前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期才可以看到软件的模样 

2、没有迭代与反馈。瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应。瀑布就意味着没有回头路。 

3、管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑。

4、更多的依赖于完善的流程体系和规章制度,而并不是团队成员的意识

敏捷开发 

敏捷软件开发是一个开发软件的管理新模式,用来替代以文件驱动开发的瀑布开发模式。


敏捷开发集成了新型开发模式的共同特点,它重点强调:

1.敏捷就是。快才可以适应目前社会的快节奏,要快就要发挥个人的个性思维多一些个性思维的增多。

2.客户参与。以人为本,客户是软件的使用者,是业务理解的专家,没有客户的参与,开发者很难理解客户的真实需求。 

3.强调软件开发的产品是软件,而不是文档。文档是为软件开发服务的,而不是开发的主体。 

4.设计周密是为了最终软件的质量,但不表明设计比实现更重要。

5.迭代。软件的功能是客户的需求,界面的操作是客户的感觉。对迭代的强调是缩短了软件版本的周期。

6.小版本。快速功能的展现,看似简单,但对于复杂的客户需求合理地分割与总体上的统一,要很好地二者兼顾是不容易的。

7. 敏捷开发更适用于小型团队,在一个办公室工作,属于那种通信基本靠吼的状态,当然团队成员之间的交互会更方便。

  最后,是不是每个公司都应该跟随时代的脚步,推进敏捷的模式开发呢?个人还是觉得见仁见智,不同的公司文化,不同的人员技能以及技术背景,不同的管理方式都牵制着项目开发模式的选型。

 


TAG:

 

评分:0

我来说两句

Open Toolbar