What is Incremental Model ?
The incremental model uses the “Linear and Parallel” process flow, uses linear sequential flow like waterfall model to develop working release of software.
Situation Where Incremental Model is Useful:
When customer needs limited set of features and functionalities quickly and then they want enhancement in functions in later releases of the software, then incremental model is useful.
Each linear sequence produces a deliverable “increment” of the software.
It should be noted that the process flow for any increment can uses the prototyping paradigm.
When incremental model is used, the first increment is often the core product (that is only basic requirements are implemented), the next increments are modifications of the core product.
This model is useful when staff required is unavailable.
This model is useful to handle technical risk.
Provide better support for process iteration.
Reduces rework in the software construction process.
Some decisions on requirements may be delayed.
Allow early delivery of parts of the system.
Support easier integration of sub-systems.
Risk of project failure is low.
Increments need be relatively small
Needs good planning and design.
Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
Mapping of requirements to increments may not be easy.
Total cost is higher than waterfall
This model provides better support for iteration and the phases in this model goes on linearly as well as parallelly but their may cause confusion in the output of the phases if proper and sorted planning is not done. As well as, the total cost of this model is also higher than the waterfall model so, if their is any confusion among the output of different phases it may lead to wastage of time as well as cost.