实际上,多数的开发团队使用了改进了的 瀑布型开发方法,他们将项目分解成为两个或者更多的部分,有时这些部分被称为阶段或者是时期。这种改良可以帮助简化集成、使测试人员更早的进行测试工作和提供更早的项目状态的观测。这种方法也将代码分解成了易于管理的片断并最小化了以存根和驱动程序形式的、被测试需要的代码集成。此外这种方法允许你原型化你认为有风险的或者有难度的部分,并且使用来自每一个阶段的反馈修改你的设计。然而,使用瀑布型开发方法的执行与想象是相反的:很多设计团队把在阶段 1 之后的修改设计视为他们的最初设计或者需求过程的失败。虽然一个改进了的瀑布型开发方法并不排除反馈的使用,但是它并没有促进、支持和鼓励反馈的使用。最后,想要最小化风险就不要典型的驱动一个瀑布型的开发项目。对于软件开发过程来说,本文探索了”迭代“开发方法超越传统的瀑布型开发方法的进步。
每一个迭代都包括需求、分析、设计、实现和测试活动。同时,每个迭代都建立在前一个迭代工作的基础上,每一次迭代都会生成更加接近最终产品的可执行版本。
迭代比瀑布的好处:
1、它允许需求的变化。
2、集成不是在项目的尾声进行的“大动作”。
3、早期的迭代可以暴露风险。
4、对产品的管理能够采取战术性的变化。
5、它使重用更加容易。
6、你能够在每一个迭代中发现并更正缺陷。
7、它能够更好的利用项目的人员资源。
8、团队成员能够沿着项目的道路进行学习。
9、你能够沿着项目的道路改进开发的过程。