Iterative and Incremental Development

What Does Iterative and Incremental Development Mean?

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.

Advertisements

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.

Techopedia Explains Iterative and Incremental Development

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:

  • Inception Phase: Deals with the scope of the project, requirements and risks at higher levels
  • Elaboration Phase: Delivers working architecture that moderates risks identified in the inception phase and satisfies nonfunctional requirements
  • Construction Phase: Fills in architecture components incrementally with production-ready code, which is produced through the analysis, implementation, design and testing of functional requirements
  • Transition Phase: Delivers the system to the production operating environment
Advertisements

Related Terms

Latest DevOps Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…