什么是敏捷开发模式?

      敏捷开发模式是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方式,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。

      对于敏捷开发来说,实行通常要满足两点:一、团队有三名或以上的研发工程师;二、团队内有一名合适的Scrum Master。

      敏捷开发真正目的不是为了快速推出软件,而是先做一个软件的大致雏形,然后给用户使用,在用户使用的过程中,用户会发现我还想要一个这样的功能,这儿的这个功能没有也罢,这样就达到了用户的需求,然后是编程序的人对于用户需求有了进一步或者更加完整的需求。一般的在做需求时,用户根本无法确定自己需要什么,往往人们化大量的时间,根据自己的理解去作用户想要的东西,这样是不合理的。结果一般是不和用户要求。所以敏捷开发就是解决这样一个问题的好方法。

      对于敏捷开发,我这样来理解:

  

java敏捷开发实际 java敏捷开发模式_java敏捷开发实际

     就像画一幅画,首先要实现其必要功能,即画出它的轮廓,根据用户的反馈,在进行修改或者说优化,在画画中就是上色,修饰。然后无限接近完美。

敏捷开发以及其他开发方式的特征:

     敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观和原则的开发方法包括:极限编程(XP),Scrum,精益软件 开发(Lean Software Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Crystal Clear)等等。所有这些方法都具有以下共同特征:

     1. 迭代式开发。即整个开发过程被分为几个迭代周期,每个迭代周期是一个定长或不定长的时间块每个迭代周期持续的时间一般较短,通常为一到六周。

     2. 增量交付。产品是在每个迭代周期结束时被逐步交付使用,而不是在整个开发过程结束的时候一次性交付使用。每次交付的都是可以被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品。

     3. 开发团队和用户反馈推动产品开发。敏捷开发方法主张用户能够全程参与到整个开发过程中。这使需求变化和用户反馈能被动态管理并及时集成到产品中。同时,团队对于用户的需求也能及时提供反馈意见。

     4. 持续集成。新的功能或需求变化总是尽可能频繁地被整合到产品中。一些项目是在每个迭代周期结束的时候集成, 有些项目则每天都在这么做。

     5. 开发团队自我管理。拥有一个积极的、自我管理的、具备自由交流风格的开发团队,是每个敏捷项目必不可少的条件。人是敏捷开发的核心。敏捷开发总是以人为中心建立开发的过程和机制,而非把过程和机制强加给人。

     我查看了好多关于开发的例子,大家都是从瀑布模型到敏捷开发,有些还在用瀑布模型,有些则开始用敏捷开发了,但是还有一些是打着敏捷开发的名义,使用瀑布开发模式,他们说冥界开发是公司规定,哈哈,不管用什么开发模式,目的只有一个,提高工作效率,这样看来,一个项目用什么模式开发才效率高,还要具体分析呀!