Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for software development. The combination is of long standing [1] and has been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167[2] mentions (in section 4.1.2): "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." The relationship between iterations and increments is determined by the overall software development methodology and software development process. The exact number and nature of the particular incremental builds and what is iterated will be specific to each individual development effort.
Iterative development model
Software development process
Core activities
Requirements Design Construction Testing Debugging Deployment Maintenance
Methodologies
Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM UP XP Agile software development Lean Dual Vee Model TDD BDD FDD DDD MDD
Supporting disciplines
Configuration management Documentation Software Quality assurance (SQA) Project management User experience
Tools
Compiler Debugger Profiler GUI designer Modeling IDE Build automation
v t e
Iterative and incremental development are essential parts of the Modified waterfall models, Rational Unified Process, Extreme Programming and generally the various agile software development frameworks.
It follows a similar process to the plan-do-check-act cycle of business process improvement.