Search This Blog

Wednesday, 9 November 2011

Waterfall Model Vs Agile Scrum

Traditional software development methodologies such as Waterfall Model has been quite famous and been used by many software development teams and enterprises across the world. A typical Waterfall Model is as shown below;
·         It follows a very logical path, first do a thorough study on the customer requirements and then freeze the requirements.
·         Frozen Requirement Spec is then analyzed by the design team and a complete design document gets written, documented and reviewed by every stake holders.
·         Design document gets translated in to the product and gets tested/verified by a group of verification engineers/customers etc.
·         Once the product is released in to the market, enters in to maintenance mode.

Though Waterfall Model is logical, there is a biggest flaw in it. Every stage waterfalls in to the remaining and the main threat to the project that follows Waterfall Model is the first stage, that is “Requirements” stage. In real life, requirements never get frozen; for various reasons;
·         Customers do not know exactly what they want; they change their mind often
·         Market is volatile – priorities change overnight
·         Competition from rival companies
·         Humans can not predict a long term product development cycle.
·         Release happens at the end – generally months after customer provides requirements. Often, they don’t get what they wanted. Now, they can not change requirements as it is too late.
These are the major factors make Waterfall Model to fail often since project involves Humans. This is the primary reason why Scrum gained its popularity.

Scrum is based on;
·         Team takes a shorter step in a fixed iterative manner
·         Team along with the Stakeholders/Customers inspects what was developed and adapts changes as needed as per customer requirements. Customer comes to know in a shorter time about the product they are waiting for. They can provide comments etc
·         Scrum encourages changes – team wants customer to have the best possible product that improves/enhances lives of customers. Where as Waterfall Model discourages changes at the later stages.
·         Scrum understands that good ideas can come at any time during the project. Waterfall model does not.

No comments:

Post a Comment