Initially in the software development, there are some situations in which requirement collected in the beginning are reasonably well-defined But at same time overall scope of the development effort stops a purely linear process. There may be a forceful need to provide a limited set of software functionality to users very fast and then refine and expand on that functionality after software releases.
Fig 1.3 phases of incremental model and working
In these types of situations a process model that is designed to produce the software is incremental model. The incremental model is a combination of element of the waterfall model which is applied in an iterative manner. The waterfall model is repeatedly applied. The incremental model applies linear sequence produces an increment in the work.
Just as an example of words flow in word like editing, formatting etc functions in the first increment .The more efficient editing and formatting may be done in the third increment. After this again some new things like different views of pages will be done in the next increment.
The first incremental is often a core product when an incremental model is used .The basic requirements are addressed but due to this many supplementary features remain untouched.Once the product is evaluated by the customer there is plan development for the next increment .The plan tells about the updating of the core product to make it better and tries to meet the needs of the customer and delivery if each increment, till the complete product is produced.
Fig 1.4 working of incremental model
The incremental process model and other evolutionary approaches are interactive in nature eg prototyping model. The increments earlier to the main increment are called as stripped down’ versions of the final product .But these increments form a base for customer evaluation .On this basis customer can suggest new requirement if required.
When there is problem of recruitment or staffing then incremental development is very useful for a compete implementation by the business deadline that has been established the project. In a project early increments can be done with less people. In case if the main or core product is well defined and understood and if more employees are required then they can be added to implement the future incremental.
One more benefit of incremental is that it can be planned to manage technical risks .As an example a big system might need new hardware that may be under development ,the mean the use of this hardware has to be avoid .This enables partial functionality to be delivered to read to end user or customer without unwanted delay.