Iterative and incremental development
Overview
 
Iterative and Incremental development is at the liver of a cyclic software development process
Software development process
A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

 developed in response to the weaknesses of the waterfall model
Waterfall model
The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.The waterfall...

. It starts with an initial planning and ends with deployment with the cyclic interactions in between.
Iterative and incremental development are essential parts of the Rational Unified Process
Rational Unified Process
The Rational Unified Process is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003...

, Extreme Programming
Extreme Programming
Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

 and generally the various agile software development
Agile software development
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

 frameworks.

It follows a similar process to the plan-do-check-act
PDCA
PDCA is an iterative four-step management method used in business for the control and continuous improvement of processes and products...

 cycle of business process improvement
Business process improvement
Business Process Improvement is a systematic approach to help an organization optimize its underlying processes to achieve more efficient results. The methodology was first documented in H. James Harrington’s 1991 book Business Process Improvement. It is the methodology that both Process...

.
The basic idea behind the agile method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developer
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...

s to take advantage of what was learned during development of earlier parts or versions of the system.
Discussions
 
x
OK