The incremental model combines elements of the linear sequential model with the iterative philosophy of prototyping. The incremental model applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produces a deliverable “increment” of the software.
In incremental model, the first increment is often a core product. Here the basic requirements are addressed, but many supplementary features remain undelivered. The core product is used by the customer to develop a plan for the next increment. The plan addresses the modification of the core product 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 is particularly useful when staffing is unavailable for a complete implementation. If the core product is well received with fewer staffs then additional staff, if required), can be added to implement the next increment.
Increments can be planned to manage technical risks. For example, a major system might require new hardware that is under development. Then it might be possible to plan early increments in a way that avoids the use of this hardware.