1. Linear or Waterfall Model:
Each phase is executed in sequence.It establishes a formal analysis and design methodology with highly structured development phases. The flow is unidirectional. Output of one phase serves as input to next phase. The features of the linear model is that the bugs in the current design are not corrected immediately and development proceeds with current design. The fixing of bug is done in support and deployment phase.
Easy project management.
Good control over cost and schedule.
No design implementation is done. It works with assumption.
Risk analysis is done only once.
Working model is available at the end and bug fixes are done in support phase.
2. Iterative/Incremental or Fountain Model:
It follows the sequence, Analysis, Design,implementation. Evaluate the product and cycle back through and conduct analysis, design and repeat the cycle. It is a cascade of series of linear models. Here, requirements are known at the beginning and are divided into groups.
Provides good development cycle feedback at each function/feature implementation and data can be used as reference for similar product development in future.
More responsive to changing user needs.
Provides a working model with minimum features at first cycle itself.
Less manufacturing risk.
Product development can be stopped at any stage.
Extensive review requirement impact on operations due to new releases.
Training for each new deployment.
3. Prototyping/Evolutionary Model:
Here, product is developed in multiple cycles. It produces refined prototype of the product at the end of each cycle. There is no commercial deployment at each cycle's end.
After requirement analysis, design for first prototype is made, development is started. On finishing the prototype, it is sent to customer for evaluation. The customer evaluates and gives feedback to developer in terms of shortcomings and improvements needed. The developer refines the product according to customer's expectation and repeats prototype development process. After multiple iterations product is delivered to the customers and launched.
Easy to incorporate new requirements and technology changes.
Fine tuning of final requirements is possible.
Risk is under control.
Deviation from expected cost and schedule due to requirement refinement.
Increased project management.
Minimal documentation on each prototype may create problems in backward prototype traceability.
Increased configuration management activities.
4. Spiral Model:
Combines the elements of linear and prototyping models to give risk minimised EDLC model. It is developed by Barry Boehm in 1988. It starts with project definition and traverse through all phases. The activities are as follows:
- Determine objectives, alternatives, constraints.
- Evaluate alternatives, identify and resolve risks.
- Develop and test.
It is suited for the development of complex products and situations where requirements and technology changes. Prototype model is evaluated by customer against various parameters. The final product is built based on final prototype on agreement with the client.