EVOLUTIONARY DEVELOPMENT MODEL
In the Evolutionary Model, development engineering effort is made first to establish correct, precise requirement definitions and system scope, as agreed by all the users across the organization. This is achieved through application of iterative processes to evolve a system most suited to the given circumstances. The process is iterative as the software engineer goes through a repetitive process of requirement Analysis-Design-Testing through prototype-Implementation-Assessment-Evaluation, till all users and stakeholders are satisfied.
This model differs from interactive enhancement model in the sense that this does not require a useable product at the end of each cycle. In evolutionary development, requirements are implemented by category rather than by priority.
Need of an Evolutionary Model
Various reasons why there exists a need of an evolutionary model are as follows : Business and product requirements often change as development proceeds.
Tight market deadlines make completion of a comprehensive software product impossible
but a limited version must be introduced to meet competitive and business pressure.
A set of core product or system requirements is well understood, but the details of
product or system extensions have yet to be defined.
Uses of Evolutionary Model
This model is useful for projects using new technology that is not well understood. This is also used for complex projects where all functionality must be delivered at one time, but the requirements are unstable or not well understood at the beginning.