The traditional way of implementing the incremental model is known as “evolutionary prototyping process model”. In Incremental model, evolutionary prototyping process model, produces a succession of increasingly feature – rich versions of the product and one prioritizes requirements as they are receive.
Each version has refined using the integration results, system testing and customer feedback. This is an excellent model for ambiguous requirements or environment of changing or a poorly understood application domain. This model is evolve into the modern agile development processes.
The incremental model recognizes that feedback is a critical element of good analysis and design and that it is very hard to plan the full project form the start. It is something risky from a scheduling point of view but when compare to any waterfall model variation. This has a very good record track.
On the downside, it leads to the danger of budget overruns, unrealistic schedules and overly optimistic progress expectations. These can happen for a small amount of work because the limited number of requirements implemented in a prototype can give the impression of real progress. On the flipside, because of overly optimistic estimation putting too many requirements in a prototype can result is schedule slippages. For maintenance, this is a difficult balance.
When use incremental model:
Because there is the possibility of a bad design, the design evolves over time as the requirements change, unless there is the provision of re-designing somewhat to do as the project progresses that becomes harder and harder. And in a particular version of the product, your customer is more heavily invested. There is also the possibility of low maintainability again because the code & design evolve as requirements change.
This may lead a busted schedule, to lots of re-work, and in fixing bugs post-release difficulty increased. Who have worked on several projects together, Evolutionary prototyping works best with experienced, tight teams. On the other hand, this type of cohesive team is dexterous and productive, usually producing the coherent and able to focus on each iteration, a series of prototypes requires extensible designs. Generally, inexperienced teams are not recommend this model.
It provides improved progress visibility for both the project management and customer. Similarly, this process also provides end user input and good customer to requirements of product. Those requirements do a good job of prioritizing.
Also Read Some other models: