Iterative and Incremental development is a combination of both iterative
design or iterative method and incremental build model for development. "During
software development, more than one iteration of the software development cycle may
be in progress at the same time." and "This process may be described as an
"evolutionary acquisition" or "incremental build" approach."
In incremental model the whole requirement is divided into various builds. During each
iteration, the development module goes through the requirements, design,
implementation and testing phases. Each subsequent release of the module adds function
to the previous release. The process continues till the complete system is ready as per
the requirement.
The key to successful use of an iterative software development lifecycle is rigorous
validation of requirements, and verification & testing of each version of the software
against those requirements within each cycle of the model. As the software evolves
through successive cycles, tests have to be repeated and extended to verify each version
of the software.