Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Iterative and incremental software development is a method of software development that is modeled around a gradual increase in feature additions and a cyclical release and upgrade pattern.
Iterative and incremental software development begins with planning and continues through iterative development cycles involving continuous user feedback and the incremental addition of features concluding with the deployment of completed software at the end of each cycle.
It is one of the methodologies of Agile software development, rational unified process and extreme programming.
Iterative and incremental development is a discipline for developing systems based on producing deliverables. In incremental development, different parts of the system are developed at various times or rates and are integrated based on their completion. In iterative development, teams plan to revisit parts of the system in order to revise and improve them. User feedback is consulted to modify the targets for successive deliverables.
Iterative and incremental software development came about in response to flaws in the waterfall model, a sequential design process in which progress flows steadily downwards. It differs from the waterfall model because it is cyclical rather than unidirectional, offering a greater ability to incorporate changes into the application during the development cycle.
Iterative and incremental development can be grouped into the following phases: