Iterative development is a software development approach that breaks the process of developing a large application into smaller parts. Each part, called “iteration”, represents the whole development process and contains planning, design, development, and testing steps. Unlike the Waterfall model, the iterative process adds features one-by-one, providing a working product at the end of each iteration, and increases functionality from cycle to cycle.
Advantages of the iterative development
- Iterative software development means building the product step by step, which allows for the identification and correction of defects during the early stages, to avoid their downward flow into further processes.
- With iterative development at the end of each stage you can get user feedback, such as how they see the product now and what they are expecting it to look like n the future. This allows you to make any necessary improvements and amendments.
- The iterative development approach helps you to save time on documentation, which often accompanies the waterfall workflow, and to focus more on designing the project.
Disadvantages of the iterative development
- Although the whole iterative process is quite flexible, iteration phases are rigid and have to be followed carefully.
- Unpredictable changes may occur during the iterative development because not all the requirements are specified from the very beginning of the project.