Waterfall: Wikipedia defines waterfall model as
" A sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. "
" A cyclic software development process developed in response to the weaknesses of the waterfall model. It is an essential part of the Rational Unified Process, the Dynamic Systems Development Method, Extreme Programming and generally the agile software development frameworks. "
" A group of software development methodologies that promotes development iterations, open collaboration, and process adaptability throughout the life-cycle of the project. It chooses to get things do things in small increments, with minimal
planning, rather than plan at length. This helps to minimize the overall risk,
and allows the project to adapt to changes more quickly. "
All the above methodologies are widely accepted. However these models has its own pros and cons.
The success of any software is mostly depend on the type of development model we select. Waterfall model is better suited for those softwares where requirements remain constant. If we expect requirement changes during the developement of the software, it is very difficult to inject those changes in water fall model. For example if the software is in UAT phase and demand some changes in the requirement then all artifacts need to change. Also overall risk in terms of cost, effort and time will scale up many folds. This may even lead to change in design which will eventually effect the developement phase.
Now how to deal with those sudden changes in the software with minimal cost and effort. Iterative and Agile models is targetting to solve these uncertainities with small time slice and minimal planning. Both iterative and agile model pass through entire software developement phase in each iteration. While in iterative model usually each iteration measured in months, agile model is measured in weeks.
Summary of these models:
Waterfall: No requirement changes
Iterative: Probability of Medium to less requirement changes
Agile: Requirement Changes
Regards
Monu





