迭代开发是将大型应用程序的软件开发分解为较小块的一种方式。在迭代开发中, 功能代码是在重复循环中设计、开发和测试的。每次迭代, 都可以设计、开发和测试其他功能, 直到有一个功能齐全的软件应用程序可以部署到客户。
通常, 迭代开发与增量开发结合使用, 在增量开发中, 较长的软件开发周期被拆分为彼此构建的较小的部分。
迭代开发和增量开发是敏捷开发方法中的关键实践。在敏捷方法中, 较短的开发周期 (称为迭代或冲刺) 是有时间限制的 (限制为一定的时间增量, 如两周)。在迭代结束时, 需要为客户演示工作代码。
迭代开发与传统的瀑布方法形成鲜明对比, 在这种方法中, 软件开发生命周期的每个阶段都被 "门控"。编码不会开始, 直到整个软件应用程序的设计完成, 并已经过阶段门审查。同样, 测试也不会开始, 直到编码完成并通过了必要的相位门审查。
迭代工作的目的是为更改提供更大的灵活性。当主要应用程序的需求和设计是在传统方法 (有时称为 bduf 或大设计前) 中完成的, 则可能会出现不可预见的问题, 直到开发开始才会浮出水面。通过迭代工作, 项目团队将经历一个周期, 在每个迭代中进行评估, 并确定需要进行哪些更改才能产生令人满意的最终产品。
引用