Wednesday, February 25, 2015

Limitations of Waterfall Development Process

Waterfall methodology is a sequential design process that develops in a downward pattern.Once the water has flown down the stream it cannot turn back. In waterfall development, rigorous planning and documentation is done prior to initiating the build of the project. Waterfall involves linear sequence of tasks and activities where each phase is fully defined followed by the design, build, testing, deployment and maintenance. 



Project management team and business analyst make sure that the business understand what will be delivered before the build phase begins, for this sign-off is taken on the requirements so that all the folks are on the same page. Once the sign-off is done no more requirements are added. 

Stakeholders dedicate considerable amount of time upfront helping business analyst to understand the requirements. Any issues with the requirements are identified even before the build phase starts. If the requirements are correct it is easy to allocate the budget and resources. Revisiting the requirements can be expensive once the built has begun.If the requirements are changed during the course of the project, project struggles to respond to these changes effectively and the timeline is affected. In waterfall stakeholder involvement is minimum during the build phase which makes the project difficult to adapt the changing needs of the stakeholder.  

Often large projects that use waterfall are delivered late since they fail to meet the customer’s expectations or the requirements change over the built phase. This is because waterfall has lot of dependency on the requirements, and stakeholders often change the requirements during the long course of the project. This is the truth because initially at the beginning of the project the requirements are unclear and over the period of time business realize the provided requirements are deflected than what they vision.

Example:

It’s been 1 year into a waterfall project and a new Stakeholder has taken over the project. Development team had already developed a lot based on the initial requirements however the new stakeholder has different business objectives and provided new requirements, priorities and timeline. The development team is absolutely not happy with this, since a lot has already been built but to satisfy the business, development team makes the changes to the project and continues developing and delivering the new product. If team had used an approach that accommodated the requirement changes and such shifts the damage would have been far less compared to waterfall. Agile methodology is recommended for such projects. Agile development method is based on the iterative and incremental approach to software development, it involves continues collaboration of team members, stake holder, business users and frequent delivery of useful functionality. The baseline for agile methodology is change driven approach to plan driven approach.

No comments:

Post a Comment