The first process model

On my previous posts, I wrote about the software life-cycle and software development process (if you want to check it out). Now I’ll write about one of the methodologies used for software development. You already read it in the title, the waterfall method.

This was the first process model to be introduced. This method, in contrast with the agile method (I wrote about this with my friend), is linear and sequential, which means that you can’t skip a step, or in other words, you have to complete one phase to continue with the next one; that’s why is called waterfall. In the image below you can see each step and notice that is the same of the software life-cycle.

flickr photo by ENT108 shared under a Creative Commons (BY-NC) license
flickr photo by ENT108 shared under a Creative Commons (BY-NC) license

The linear process makes it easy to manage and to measure the progress; I see it like a manual to construct software where you must follow each step, so if you missed something in step two and you are in step four, it will be difficult to backtrack and fix the problem, which make the design phase, in this method, very important.

I personally prefer the waterfall method because of his sequential process, I’m more like “you can’t do this before doing that other thing”, but I noticed that agile method is more flexible where you and your team helps each other to accomplish something. In the end, you decide which method use depending if the advantages of each method are more suitable for your project.


Waterfall vs. Agile: Which is the Right Development Methodology for Your Project?