In this approach, development is organized into a series of short, fixed-length (for example, four week) mini-projects called iterations. The outcome of each is a tested, integrated, and executable system. Eachiteration includes its own requirements analysis, design, implementation, and testing activities.
The iterative lifecycle is based on the successive enlargement and refinement of a system through multiple iterations, with cyclic feedback and adaptation as core drivers to converge upon a suitable system.
The system grows incrementally over time, iteration by iteration, and thus this approach is also known as iterative and incremental development. See below Fig.
- Early rather than late mitigation of high risks (technical, requirements, objectives, usability, and so forth)
- Early visible progress
- Early feedback, user engagement, and adaptation, leading to a refined system that more closely meets the real needs of the stakeholders.
- Managed complexity; the team is not overwhelmed by "analysis paralysis" or very long and complex steps.
- The learning within an iteration can be methodically used to improve the development process itself, iteration by iteration.
0 Comments