敏捷软件开发周期
大家都知道每个敏捷软件开发方法的总体目标是尽可能快地适应变化和提供工作软件。每种方法在定义软件开发阶段的方式上有轻微的变化。目标相同,每个团队的流程可能会因具体项目或情况而异。例如完整的敏捷软件开发生命周期包括概念,开始,建设,发布,生产和维护阶段。
有很多不同类型的敏捷软件开发方法可以供大家使用,但不论哪一种方法都具有以上四个基础特征。无论大家使用Scrum,XP,Crystal,Feature-DrivenDevelopment还是其他敏捷方法,基本的敏捷方法与周期是一样的。
启动软件开发项目。
定义软件项目是什么以及终目标是什么。
为软件项目的要求制定指导。
开发软件功能
整合功能。
测试功能。
如果测试成功,请转到下一个功能并重复步骤4-6。
如果测试不成功,记录出现什么问题,并执行更改,直到功能正常工作。
根据客户反馈和新的挑战,反映和重新确定优先级。
一旦测试和集成,将功能发布到市场。
继续下一个功能开发,并重复步骤4-10,直到项目完成。
在使用敏捷软件开发时我们可以通过每次迭代改进应用程序不足之处,或者是增加新功能,使用以前的迭代作为基础构建逐步完善软件。
敏捷迭代开发工作流程
敏捷软件开发生命周期由迭代过程控制。每次迭代产生下一个软件开发的需求,比如需要软件支持哪些元素,如果和供客户使用等。每次迭代通常是两到四周。由于其有时间限制的性质,每次迭代的范围需要根据开发时间开进行发分配。
一般敏捷软件开发生命周期中将进行多次迭代,并且每个迭代都遵循自己的工作流程。在迭代过程中,重要的是确保软件能够满足客户以及使用者的需求。
典型的迭代过程流程可以如下显示:
要求 - 根据产品服务功能,客户和利益相关者反馈的信息定义迭代要求
开发 - 根据定义的要求设计和开发软件
测试 - (QualityAssurance)测试,内部和外部培训,文档开发
交付 - 将工作迭代整合并投入生产
反馈 - 接受客户和利益相关者的反馈建议,并将其纳入下一次迭代的要求
在项目期间,额外的功能进入产品开发时会增加额外的工作量,在产品功能中的所有项目都已满足之前,其余开发工作都是一再重复的步骤。整个敏捷迭代工作流程更多的是循环过程,而不是线性过程。