敏捷过程(agile process)是一种以人为核心、迭代、循序渐进的开发方法。它是由17个工程师为了解决日益庞大的开发团队和繁琐的开发过程、大量的文档中解脱开发人员的工作量达成的一项共识。在敏捷过程中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷过程是全一个全新的新理论。他不同于原来的6Sigma,ISO9000和CMM。细心的人们可以发现,敏捷过程也借鉴了大量软件工程中的方法。迭代与增量开发,这两种在任何一本软件工程教材中都会被提到的方法,在敏捷开发模式中扮演了很重要的角色。再向前追溯,我们还也可见到瀑布式与快速原型法的影子,也许还有更多。
改善,而非创新。敏捷过程可理解为在原有软件开发方法基础上的整合——取其精华,去其糟粕。因此敏捷过程继承了不少原有方法的优势。“在敏捷软件开发的过程中,我们每两周都会得到一个可以工作的软件,”Fowler介绍,“这种非常短的循环,使终端客户可以及时、快速地看到他们花钱构建的软件是一个什么样的结果。”
敏捷过程的价值观:
个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过 循环计划
鼓励和侧重左侧的内容,不是完全的支持。她强调人的作用,希望在开发团队中有优秀的开发人员。
敏捷过程是全一个全新的新理论。他不同于原来的6Sigma,ISO9000和CMM。细心的人们可以发现,敏捷过程也借鉴了大量软件工程中的方法。迭代与增量开发,这两种在任何一本软件工程教材中都会被提到的方法,在敏捷开发模式中扮演了很重要的角色。再向前追溯,我们还也可见到瀑布式与快速原型法的影子,也许还有更多。
改善,而非创新。敏捷过程可理解为在原有软件开发方法基础上的整合——取其精华,去其糟粕。因此敏捷过程继承了不少原有方法的优势。“在敏捷软件开发的过程中,我们每两周都会得到一个可以工作的软件,”Fowler介绍,“这种非常短的循环,使终端客户可以及时、快速地看到他们花钱构建的软件是一个什么样的结果。”
敏捷过程的价值观:
个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过 循环计划
鼓励和侧重左侧的内容,不是完全的支持。她强调人的作用,希望在开发团队中有优秀的开发人员。