The incremental model is an iterative software development process that combines elements of linear and parallel processes. It develops software in increments, with each increment producing a deliverable version for customer review. Requirements are addressed incrementally, with the core product first establishing basic functionality, followed by further increments that modify and expand the core based on customer feedback. This allows for early delivery of limited functionality and management of technical risks. However, problems can arise regarding system architecture if all requirements are not initially gathered.
4. Characteristics of Incremental Model
• It is iterative in nature
• Combines the elements of linear and parallel process flows.
• Software is developed in increments
• Used when initial requirements are reasonably well-defined and
compelling need to provide limited functionality quickly.
6. Contd..
Each linear sequence produces deliverable ‘increments’ of the
software.
The first increment constitutes Core product.
Basic requirements are addressed.
Core product undergoes detailed evaluation by the customer.
As a result, plan is developed for the next increment.
Plan addresses the modification of core product to better meet the
needs of customer.
Process is repeated until the complete product is produced.
8. Disadvantages
• Problems may arise pertaining to system architecture because all
requirements are not gathered at once for the entire life cycle.
• Costlier than waterfall model.
9. Applications
Word-processing software developed using the incremental model
might deliver basic file management.
Editing and document production functions in the first increment.
More sophisticated editing and document production in the second
increment.
Spelling and grammar checking in the third increment; and advanced
page layout in fourth increment.
11. SUMMARY
Incremental Process Models
Communication
Planning
Modelling
Construction
Deployment
Increments
Core product
Advantages
Disadvantages
Applications
12. Stimulating Question
• Provide an example of a software project that would be amenable to the
incremental process mode.
ANS:
An operating system. The various parts of the O/S could be developed as the
customer wants them. For example, the customer might want to specify the
GUI first, and try it out before providing further specifications for the
remaining parts of the O/S. The GUI could then be developed; once the user
approved, some of the most important functions of the Hardware
Abstraction Layer portion could be added. The process could continue until
the entire system is complete, with customers getting continuing updates to
test and approve.