An iterative model is a process where there are a small set of requirements that expand to enhance evolving versions of the software. A new version of the software is created at the end of each cycle which is then reviewed to generate more requirements.
When To Use The Iterative Model
An iterative model is used when requirements are defined clearly, main requirements are defined but can be evolved over time, new technology is being used and learnt during the project, and features and goals may change over time.
- Functions can be developed quickly in the beginning of the cycle
- Progress is easily measured
- Shorter iterations for easier testing and debugging
- Easier control of risks
- High risk tasks are completed first
- Problems in an iteration can be prevented in the next
- Requirements are flexible and can be changed
- Requires constant management
- Possible issues with design from unfinished requirements
- Not beneficial for small projects
- Process is difficult to manage
- Expertise is required for risk analysis
- Risks may not be completely determined