Incremental development approach or Prototyping model uses the exploratory approach to develop a system, as shown in Figure.
Its key features are:
Developing an initial version (basic prototype) rapidly and inexpensively.
Letting the users experiment with it and give their feedback.
Iterating over the process of incorporating user feedback and refining the prototype several times.
The incremental development model combines elements of linear and concurrent process flows such that as time progresses, deliverable "increments" of the software are produced. Usually, the initial increment has the basic requirements addressed but many other features remain undelivered. This basic prototype is used by the customer and undergoes detailed evaluation with a plan to develop the next increment. The next increment would address the modification of the first version to better meet the needs of the customer and the delivery of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced. Incremental development can be a plan-driven approach where the increments are identified in advance, or an agile approach where the early increments are identified, but the development of later increments depends on progress and customer priorities.