Waterfall vs. RUP in non-Greek
Ever heard that Waterfall actually is not just about water falling? And the cool sounding RUP is not as cool as rap (or is it)? We IT folks are so jargonauts and we keep it that way to make our profession intimidating for the rest of you!
Now lets take a closer look at these software engineering approaches with a construction analogy. After all, when we first started building software, we borrowed concepts from constructing buildings! Waterfall is representative of a conventional methodology, while RUP is contemporary, forming the basis of iterative and incremental methods, paving the path towards Agile Development.
Let us say the project at hand is to build three apartment complexes, A1 A2 and A3. You got three months, Jan Feb and Mar. For simplicity, assume that the project involves three primary processes, structuring, engineering and landscaping.
The Waterfall Enclave Apartments
Waterfall, one of the earliest software engineering principles, is a top-down, common sense approach. It proposes that the key processes in a project must be performed sequentially.
We know the three key processes are: structuring, engineering and landscaping. Waterfall directs us to perform each task in one 'big bang'. Do it once, do it right! (Does this sound ambitious? Not everything about the project is known clearly up front!)
In Jan, we take on the structuring work for all the three complexes, A1, A2 and A3. In Feb, we get going with all the engineering for all three complexes and in Mar, we finish the project by landscaping for A1, A2 and A3.
This is how the plan will look like this:

And this is how the construction will progress over the three months visually:

The RUP Hill Apartments
RUP, one of the newer software engineering principles, recommends that key sub-projects in the project be identified first. Take sub-project 1, complete the processes, then move on to project 2 and finish by repeating the key processes for project 3. .
Break the bigger problem into three sub-problems: A1, A2 and A3. Take A1, perform the tasks (structuring, engineering and landscaping) then repeat for A2 and then A3.
In Jan we'll take A1, completing structuring, engineering and landscaping. Then, A2's structuring, engineering and landscaping in Feb. Repeat for A3 in Mar.
The plan will look like:

And visually in three months we'll see the apartments grow:

RUP is called an iterative and incremental model. Iterative, since we repeat the processes in each iteration(A1, A2 and A3 were our iterations). Incremental since each iteration contributed to expanding the project towards it completion.
Is RUP is better than Waterfall?
Yes and No, depends on several factors, such as the project size, problem domain area, how solid are requirements, etc. Predominantly, RUP and Agile methods are adopted a lot these days. Why did we shift our focus?
Are there any clear benefits on using RUP? Share your thoughts in the comments and also tell us what process are you adopting in your project.
Here is a video snippet from a trial class of our Full Cycle Business Analysis in this topic. Register for a trial class.

















