The process demands that
development be carried out iteratively and incrementally, that is the process
of building software in small steps with each step adding
incrementally to the functionality of the system. The cycle of Requirements
Capture, Analysis, Design, Implementation and Testing are carried out many
times in iterations, the duration of which can be as small as one week.
This produces robust systems,
which can be delivered in a series of controlled deployments. Every iteration
reduces the risk of the programs not fulfilling the users requirements, by
feeding back the test results into the requirements stage. An iterative process
also facilitates the incorporation of changing requirements with the
time-sequential order of the iterations based on use case prioritisation and
The process of producing frequent
executable releases also avoids the risk of experiencing integration issues
late in the project lifecycle.
fig 1. Risk profile of Iterative Development