Evolution model is based on the initial implementation will result in the user comments it can be repaired through many versions until an adequate system can be developed. In addition to having separate activities, this model provide feedback to developers.
The evolution model divides the development cycle into smaller, "Incremental Waterfall Model" in which users are able to get access to the product at the end of each cycle.
The users provide feedback on the product for planning stage of the next cycle and the development team responds, often by changing the product,plans or process.
These incremental cycles are typically two or four weeks in duration and continue until the product is shipped.
• These models are more suited to object oriented systems.
• They are iterative in Process.
• They enable the software developer to develop increasingly more Complex versions of the software.
• Like all Complex systems, software involve over period of the time and hence evolutionary models are more suited to software development.
• Requirements gets changed while the software is under development.
Advantages of Evolutionary Model:-
Error reduction: As the version is tested with customer which reduces the error throughlly.
User satisfaction: User gets satisfied and he gets the full chance of experimenting partially developed system.
Business benefit: Successful use of this model can benefit not only business result but marketing and the internal operations as well.
High quality: As you should get satisfied with every version, it produces the high quality product.
Low risk: There is significant reduction of risk as a versions is implemented. This risk may be associated with
missing schedule deadline
wrong feature sets
Reduction Cost: Some design issues are cheaper to resolve through experimentation than through analysis. It reduces cost by providing structured and disciplined avenue for experimentation.
Disadvantages of Evolutionary Model:-
Several version release: Developer has to make table version which increases their Efforts.
Dividing software: It is difficult to "divide the software and the problems in several versions that would be acceptable to the customer which can be implemented and delivered incrementally.
Uncertain nature of customer needs: A confused user has uncertainty over his requirements, so giving him several version may change his requirement Rapidly.
Time And Cost:As this model reduces "Time And Cost" but requirement is not gathered correctly. It will subsequently time, cost and efforts.
Confusion by several version: An user might get "confused by several versions of the software. It will affect on the final product.