In: Computer Science
Waterfall Model
Waterfall model as the name suggests is a one directional software development model which relies on documentation heavily. The waterfall model is a good choice if the software requirements are clearly stated and do not change with time. The phases in the Waterfall Model comprises of Requirement Analysis, Designing, Implementation, Development, Testing and Integration and Maintenance. The waterfall model is easy to implement. However due to its rigidity it becomes difficult to implement changes in between phases. As this model does not involve any feedback mechanism, if an error from the previous stage reaches a later stage it is almost impossible to detect the error and rectify it. Also since one phase can start only after the completion of the previous phase it is not time efficient. Resources of the later stages remain idle as the previous phases are in progress.
Iterative model
Iterative model is an extension of the waterfall model with the addition of a feedback mechanism. The iterative model has all the phases of the waterfall model and it allows accessing the previous phases in the software development lifecycle. Iterative model is suitable for small projects where the software requirements change often. However with high risk and complex projects even iterative model does not provide an efficient solution. Iterative models are also sequential and hence resource utilization is poor.
Compare and Contrast
Parameters | Waterfall Model | Iterative Model |
Workflow | Sequential flow | Sequential flow |
Feedback mechanism | Not available | Available |
Debugging | Difficult if an error from earlier stages has penetrated the later stages | Debugging is easy due to its iterative nature and feedback mechanism |
Type of projects | Small, no risk, fixed goal projects are suitable | Big, low risk, changing goals projects are suitable |
Documentation | More time spent on documentation | Less time spent on documentation |
Cost | Cost Effective |
Cost Effective |
Phase overlapping | No phase overlapping |
Overlapping to a small extent |