Saturday 17 September 2016

Incremental Model/Evolutionary Model

          Evolutionary model is based on developing initial increment, which can deliver to end user for evolution based on user feedback modification are made in initial increment and next increment  is develop. Increment is developed and checked in entire process until adequate system has been developed. Developing software incrementally, it is easier to make change in developing software. Elements of waterfall model and iterative philosophy of prototyping is combines in incremental model.
Requirement are divided into different module each module is design and built separately, this avoids a long development time. In incremental model, each module passes through the requirements, design, implementation and testing phases. Working software is produce early in software life cycle.  If we work incrementally we add modules but that modules are work properly. This process is continued until project is completed.
Early increments of system include most urgent and important functionality of system. Customer can evaluate the system in early stage of development to ensure that increment include the functionality that is required. If not, the current increment has to be modified and new functionality defined for later increment.

Diagram of Incremental Model




Incremental Model

Objective of different phase in incremental model
1.   Communication: helps to understand the requirement.
2.   Planning: software people that work on this project and assign different functionality to member.  
3.   Modeling: involves business modeling, data modeling, and process modeling.
4.   Construction: software codes are produce and test each module to check it work according to user requirement.
5.   Deployment: All the increments are integrate, the integrated system are test and deliver to user for feedback.
Incremental development model is very useful to complete the project if the members of software team are less in number to work on project. If the requirement of software is well understood, more team members are added for future increment development. Another benefit of incremental model is that it can manage technical risk. Incremental development approach is used when system part are difficult to specify in advance such as user interface.

                    Advantages and disadvantages of incremental model

Advantages of incremental model:-
1.    The cost of customer changing requirement is reduced. This model is more flexible.
2.    The amount of analysis and documentation that has to be redone is much less as compared to waterfall model.
3.    Working software is delivered in early stage of life cycle. Even all of the functionality is not included. Initial incremental delivery is faster and less cost.
4.    It is easier to get customer feedback, customer can comment on demonstrations and see how is it implemented.
5.    Debugging and testing is easier in incremental model.
6.    Changing requirement during development is reduced.
7.    Work load is less on team member.
        Disadvantages of incremental model:-
1.    System structure is degrade due to new increment (new functionality) are added. Regular changes corrupt the structure.
2.    Cost of the organization may exceed.

3.    Require analysis and design.

3 comments: