The incremental build model is a method of software development where the product is designed, implemented and tested incrementally (a little more is added each time) until the product is finished.In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed modules. Each modules are developed separately with separate requirement analysis phase.The product is decomposed into a number of components, each of which is designed and built separately (termed as builds). Each component is delivered to the client when it is complete.Each developed module in Incremental Model is standalone feature and could be delivered to the end users to use it. So ,a working version of software is produced during the first module, so you have working software early on during the software life cycle.Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.
We can explain the model with the help of following two diagrams :


Advantages of Incremental Model:
-Easier to manage risk because risky pieces are identified and handled during it’d iteration
-Core product is developed first i.e main functionality is added in the first increment.
-More flexible to add the new features based on the requirement.
-Each build is reviewed by client so very less probability to miss any requirement.
-Less resource required.
-Easy to manage the project and easy risk coverage.
-Easy to perform testing as each modules developed separately.
-Generates working software quickly and early during the software life cycle.
-This model is more flexible – less costly to change scope and requirements.
-It is easier to test and debug during a smaller iteration.
-In this model customer can respond to each built.
-Lowers initial delivery cost.
-It is generally easier to test and debug than other methods of software development because relatively smaller changes are made during each iteration. This allows for more targeted and rigorous testing of each element within the overall product.
-After each iteration, regression testing should be conducted. During this testing, faulty elements of the software can be quickly identified because few changes are made within any single iteration.
Disadvantages of Incremental Model:
-Need full specification and requirements so that number of modules could be decided.
-Final cost estimation might not be estimated in the beginning and depends on the complexity of the project.
-Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
-As additional functionality is added to the product, problems may arise related to system architecture which were not evident in earlier prototypes.
-Each phase of an iteration is rigid and do not overlap each other.
-Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle
We can explain the model with the help of following two diagrams :


Advantages of Incremental Model:
-Easier to manage risk because risky pieces are identified and handled during it’d iteration
-Core product is developed first i.e main functionality is added in the first increment.
-More flexible to add the new features based on the requirement.
-Each build is reviewed by client so very less probability to miss any requirement.
-Less resource required.
-Easy to manage the project and easy risk coverage.
-Easy to perform testing as each modules developed separately.
-Generates working software quickly and early during the software life cycle.
-This model is more flexible – less costly to change scope and requirements.
-It is easier to test and debug during a smaller iteration.
-In this model customer can respond to each built.
-Lowers initial delivery cost.
-It is generally easier to test and debug than other methods of software development because relatively smaller changes are made during each iteration. This allows for more targeted and rigorous testing of each element within the overall product.
-After each iteration, regression testing should be conducted. During this testing, faulty elements of the software can be quickly identified because few changes are made within any single iteration.
Disadvantages of Incremental Model:
-Need full specification and requirements so that number of modules could be decided.
-Final cost estimation might not be estimated in the beginning and depends on the complexity of the project.
-Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
-As additional functionality is added to the product, problems may arise related to system architecture which were not evident in earlier prototypes.
-Each phase of an iteration is rigid and do not overlap each other.
-Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle