I find that when anybody tries to think about an SDLC model, they immediately think of Waterfall. However, this certainly does not mean it is the best option. Due to the logic of the step-by-step/one-after-another type approach, people find it easiest to remember. But as there is, comparatively, nothing ‘easy’ in real-life IS situations – concessions must be made.
The Waterfall model demands that before a new stage or ‘step’ can be reached, every task associated with the previous step must be completed. This, in my opinion, can hamper progress as different stages must be tackled, in part, at every time during the development of a system. A stringent, sequential approach is often not the answer.
The Fountain model is essentially a slightly improved version of its stricter relative – The Waterfall model. This model allows for the advancement from (and return to) various stages of software development regardless of whether or not enough tasks have been completed to reach it.
The two models outlined above are closely related in that the stages involved are largely similar. The difference between them stems from the Fountain model recognises the constant overlap of activities encountered in developing systems. I read an article online that summed it up well:
“Just as a fountain’s water rises up and falls back to the pool below, in object-oriented software development, the general workflow from analysis through design to implementation is overlaid with iterative cycles across many phases.”
Next time I will be looking at other alternative SDLC models in use today 🙂