The Incremental Model
The linear sequential model combines the incremental model elements of with the iterative philosophy of prototyping. As show in the figure the incremental model applies linear sequences in a staggered fashion as calendar time progress. Each linear sequence produces as deliverable increment of the software. For example word processing software built using the incremental paradigm might deliver basic file management, document production and editing functions in the first increment more sophisticated document production capabilities and editing in the second increment spelling and grammar checking in the third increment and advanced page layout capability in the 4th increment. It should be noticed that the process flow for any rise can incorporate the prototyping paradigm.
When an incremental model is used the first increment is often a core product. That is basic needed are addressed, but many supplementary features like some known, others unknown remain undelivered. The core product is used through the customer or undergoes detailed review. As a result of use and evaluation a plan is built for the next increment. The plan addresses the adjustment of the core product to better meet the requirement of the customer and the delivery of additional functionality and features. This process is repeated following the delivery of each increment until the complete product is produced. After increments are stripped down edition of the final product but they do provide capability which serves the user and also give a platform for evaluation through the user.
Figure - The incremental model
Incremental development is particularly useful when staffing is not available for a complete implementation by the business deadline that has been established for the new project. Earlier increment can be implemented with fewer people. If the core product is well received then additional staff can be added to implement the next increment. Additionally increments can be planned to maintain technical risks. For example a major system might need the availability of new hardware that is under development and whose delivery date is uncertain. In might be possible to plan early increments in a way that avoids the use of this hardware thereby to enable partial functionality will be delivered to end users without inordinate delay.