敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观和原则的开发方法包括:极限编程(XP),Scrum,精益软件开发(Lean Software Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Crystal Clear)等等。全部这些方法都具备如下共同特征以下,更多项目管理工具和实践请到项目家编程
一、迭代式开发
整个开发过程被分为几个迭代周期,每一个迭代周期是一个定长或不定长的时间块,持续的时间较短,一般为一到四周。框架
二、增量交付工具
产品是在每一个迭代周期结束时被逐步交付使用,而不是在整个开发过程结束的时候一次性交付使用。每次交付的都是能够被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品。项目管理
三、及时反馈开发
开发团队和用户反馈推进产品开发。敏捷开发方法主张用户可以全程参与到整个开发过程当中。这使需求变化和用户反馈能被动态管理并及时集成到产品中。同时,团队对于用户的需求也能及时提供反馈意见。部署
四、持续集成get
新的功能或需求变化老是尽量频繁地被整合到产品中。一些项目是在每一个迭代周期结束的时候集成, 有些项目则天天都在这么作。产品
五、自我管理持续集成
拥有一个积极的、自我管理的、具有自由交流风格的开发团队,是每一个敏捷项目必不可少的条件。人是敏捷开发的核心。敏捷开发老是以人为中心创建开发的过程和机制,而非把过程和机制强加给人。class