Thursday, April 28, 2011

Agile vs. Waterfall


It's a topic that’s endlessly debated at project management meetings and trainings, yet there is still no general consensus over whether Agile or Waterfall is the more robust model—and there probably never will be! Each PM methodology has its own strengths and weaknesses that make it appropriate for certain teams and situations. The following is a very brief summary of the differences, benefits, and drawbacks of each.

Understanding the Basics

As the older and more traditional model for software development, Waterfall depends on the early development of a logical plan that works in a very linear manner. In fact, each stage of a Waterfall project may have a different team and its own unique objectives, moving forward toward completion in an organized model with a planned timeline and goals.

In contrast, Agile was developed to circumvent Waterfall's biggest problem: the inability to make changes to a project's plan without essentially going back to the drawing board and starting over. Agile is open to later input and adapts easily to changes. It's also known for presenting a much lower starting overhead and more leniency in absorbing mistakes.

Predictability vs. Flexibility

While Waterfall makes it possible to predict, plan, and schedule project steps in advance, Agile offers flexibility and adaptability. Agile is superior at handling the inevitable bumps in the road that most projects experience, but it's not as effective at predicting in concrete terms the course a development project may take, the timeline, or even the eventual outcome.

Changes and Collaboration

In Waterfall, it's very difficult to go back and make changes to existing code without redesigning the entire system from scratch. That's because each stage is planned in advance to flow naturally from the one before it, sometimes with a new team assembled for each stage.

When using Agile, on the other hand, it's much easier to involve customers in your project as it develops—in fact, customer collaboration is one of the Agile watchwords—and to improve on previous work over the course of a software development project.

Agile or Waterfall: Which Methodology is Best?

The answer will depend mainly on the scope and goals of your project, as well as the technology you're using and your client's guidelines and approach to feedback.

There's no definitive argument that one approach is better than the other—but there are certainly better choices for individual projects and programs, depending on whether your customer has a concrete goal and timeline at the start or will want to provide input during the course of software development.

No comments:

Post a Comment