Waterfall Model

This is one of the oldest software development models that was first brought to the limelight by Dr. Royce and has since been a point of discussion both in academia and industry. Although most development teams are embracing new technologies and development models, to accomodate change, should it be perceived that waterfall model is no longer important? Or is just the great fuzz that each company is going Agile without proper plans and preparations?

Waterfal Method in Implementing System Development Life Cycle (SDLC)
I

Personally, I find the model to be great and still practical even in today’s software development industry. It is the most underrated model even by people who have very brief and limited knowledge on how it works. It not only forms the foundation for the Agile model, but defines the kernel of software development. I must admit that it is not change-friendly especially when working with new domains or cross-functional teams. But it still contributes immensely to SW development, in terms of capturing stakeholders’ interests because alot of effort is put in capturing SW requirements in the beginning. It is a practical approach, especially when upgrading legacy systems and there is no time-pressure. Since the functionalities of the legacy system are already known, it reduces chances of changes in the latter stages of the model.

One of it’s weaknesses is that the stakeholders/PO’s only get to see the product in the implementation phase, which may be a bad idea especially if the product has not been developed as specified. I have often seen stakeholders who negotitate with development companies for a product, and then sit pretty and wait for the final product, only to be disappointed at the results. The KEY word is requirements’ specification, which again most teams have no idea what power lies behind it. As a stakeholder, if your valuable feedback is not availed during development, make sure you have a thorough requirements’ specification process. This should capture the product as you envision it, and help you relate the product to your expectations. Avoid pushing things to a later date and assuming that the PO captured your needs as required. Have a control check to ascertain that your needs are captured as expected. And as long as you are sure that this is not going to change, then waterfall model should be the best approach.

Looking at Agile, you quickly realize that it is actually a series of waterfall model whereby each phase is implemented in a Sprint. During this time, the PO locks the sprint and prevents any changes infitrating the sprint. This is not different from waterfall model, only that the sprint could be a shorter period. However, the idea is the same – mid-stream sprint changes are costly. Otherwise, it is till a very practical model in the industry even today and likewise it is used in university projects.