Scrum vs. Waterfall

WHAT IS WATERFALL?

Waterfall is a classic software development life cycle, which is liner and sequential in nature, it has 5 main phases (Requirement Analysis, Design, Development, Test, Release), each of which has its distinct goals. In Waterfall you start the life cycle phases one at a time, each phase output is an input for the next phase. You can find more details about Waterfall here.

WHAT IS SCRUM?
Scrum is a lightweight agile project management framework mainly used for software development. It describes an iterative and incremental approach for project work. You can find more details about Scrum here.

WHAT MAKES WATERFALL SOFTWARE DEVELOPMENT MODEL FAIL IN MANY WAYS?
Studies have shown that in over 75% of the investigated and failed software projects, the usage of the Waterfall methodology was one of the key factors of failure. But why?

Phases in the Classical Waterfall Software Development Model

As shown above, when deploying the waterfall methodology there is a strict sequential chain of the different project phases. A previous phase has to be completed before starting the next phase. Going back is in most cases difficult, costly, frustrating to the team and time consuming. The project timeline is planned at the start. A releasable product is delivered only at the end of the project timeline. If one phase is delayed all other phases are also delayed. To avoid this users of the waterfall methodology normally try to anticipate all possibilities beforehand. This means that in one of the earliest phases of the project they try to define all requirements as fine grained and complete as possible. However, requirement definition in such an early phase of the project is often very difficult and therefore many requirements change (or should change) throughout the project. Studies have shown that in larger and complex projects about 60% of the initial requirements are changed throughout the project. Other requirements are implemented as defined but are not really needed by the customer and consume valuable time that could have been better used to implement functionality with a higher added value for the customer. The separation into different project phases force users to estimate each phase separately. The problem is that most of these phases are normally not separate. They are working together and in parallel. The waterfall approach for developing software can be used for implementing small and simple projects. But for bigger and more complex projects it can be said that this approach is highly risky, often more costly and generally less efficient than Scrum Project Management Framework.

WHAT MAKES THE SCRUM FRAMEWORK SUCCEEDS?
The Scrum framework changes the classical triangle of project management. The compromise is no longer between Time, Budget and Quality. It is now becoming the triangle of Budget, Time and Functionality.

Triangle of Project Management

  Quality is no longer an option. In Scrum the factors that define when a feature is complete (in terms of quality, required testing, documentation etc.) are defined by the Definition Of Done (DoD) right at the start of the project. No incomplete or untested feature will be released to the customer. Now the functionality to implement will be defined throughout the course of the project and implemented incrementally. This incremental development allows to remain flexible and to change in a controlled manner without the additional costs and risks of jeopardizing large chunks of previous work. At the end of each increment (Sprint) a result is available that can be shown and discussed with the customer to get and incorporate feedback as soon as possible. As this flexibility does not only apply to software requirements, but also to the operational processes themselves, the Scrum Framework allows optimizing resources usage (time, budget) and minimizes waste. Studies have shown that Scrum has following positive effects in practice:

  • Increased productivity
  • Better product quality
  • Reduced or stable project costs after introducing agile methods
  • Higher customer satisfaction
  • Increased satisfaction and motivation of the employees

So even if introducing and using the Scrum Framework is sometimes non-trivial, the flexible and iterative approach of the Scrum Framework eases handling of complexity and better copes with the fact of ever-changing customer and business requirements. Thus, Scrum is in most cases a better alternative to the classical methodologies.


References: INTERNATIONAL SCRUM INSTITUTEYou can find a lot of useful information about Scrum and Scrum Certification Programs on thier website.

About Wafi Mohtaseb

Software Development & Management Specialist, Technology enthusiast, Project Management Professional PMP, Agile Certified Practitioner PMI-ACP, & Certified ScrumMaster

5 Responses to “Scrum vs. Waterfall”

  1. This is a great blog!!! I like your site very much and I’ll subscripe to it if you post more articles like this!

  2. An interesting discussion is worth comment. I think that you should write more on this topic, it might not be a taboo subject but generally people are not enough to speak on such topics. To the next. Cheers

  3. Nice website over here! I’ll just wanna say thnx for that.

  4. A nice article and direct to the point. Cheers!

  5. Interesting article. Keep in mind, though, that I’ve seen the triple constraint models also include scope right in the middle of the triangle. How would this impact your post? I think the biggest thing about Agile is the incremental nature of Agile, but also with the expectation that each Sprint release will result in a “shippable” (essentially error free) product.

    Good thought provoking post. Thank You.

    I’ve got some thoughts of my own on the difference between Agile and Waterfall technique here for anyone interested: http://morepm.com/2012/08/21/agile-vs-waterfall-are-they-compatible/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: