Agile or Waterfall…does it matter?

First off…let me answer the question: Does it matter if I use Agile or Waterfall methodologies in my project? My opinion is no…it doesn’t matter…but there are a few caveats to that answer. Read on.

In the software development world, there’s been a debate raging for quite a few years about the ‘best’ way to manage software development projects. The two main sides in this debate are Agile and Waterfall and both sides have strengths and weaknesses and work better in some situations than others.

There are people that believe Agile works better for smaller projects and Waterfall works better for more complex projects….but I’ve come to the conclusions that they can both work equally well in any situation with the right people in place and the right organizational alignment. There is one caveat though: I’ve never heard of Agile methods being used in very large scale complex projects (construction, defense industry, etc) and don’t believe the agile models scale that well to projects of that scale but I’d love to be proven wrong.

Some will argue that Agile doesn’t scale well to projects that require more than a few programmers, but I think that has more to do with how Agile has been used in the past on larger projects than any real fault of Agile methods…of course, the previously mentioned caveat still applies.

Others will argue that the more traditional ‘waterfall’ method fails for smaller projects that require a more flexible and speedier approach to developing software. Again, it may not be the waterfall method at fault but the way in which the organization approaches the project that causes the failure.

My personal experience shows that Agile works very well in small projects that require fast development schedules. As I mentioned in a previous case study titled “Agile Project Management & Product Strategy“, Agile methods allowed the development team to release a working product within 3 months with a final release within 6 months…compare that with the 12 month Waterfall development plan that had previously been developed.

The case study mentioned above shows a positive result of the power of agile methods in software….but it isn’t the only way that we could have reached these results. I’ve gone back and looked at the development plan and after careful thought and reflection, similar results could have been achieved with a waterfall type development plan by removing some of the ‘fluff’ that was added to the plan.

After many discussions with ‘experts’ in the field and hearing “agile is best’ or ‘agile is just a fad…stick with waterfall’ and seeing projects fail or succeed using either of these methods, I realized there isn’t any methodology that is ‘best’ to use to manage projects and engagements.

It’s not necessarily the methodology used that causes failure or success in projects, it’s the way in which the organization is aligned that creates project success or failure. I truly believe that an organization can can choose whatever methodology they want to manage a project, but without proper organizational alignment and empowerment of the project managers and team members, the project most likely not succeed.

In other words: It isn’t the process or methodology used…it is the people involved that will help a project succeed. Of course, processes help, but without good people and an organization that helps those people succeed, any project management methodology will most likely fail.

I’m planning another article in the next few days that dives deeper into how organizational alignment affects project success….check back soon for more.

[tags] Project Management, organization, Agile, Projects, Agile Project Management, people [/tags]

8 responses to “Agile or Waterfall…does it matter?”

  1. Rajeev Singh Avatar

    Yes and I would like to put forh my opinion on it.

    1. I have heard a lot about Agile not suitable for large projects and being a good fit for small projects with a “few” programmer. The problem with these opinions is that these writers never specify what ‘small’ or ‘few’ is.

    2. Agile does definitely matter. These days it matters to the client, where they want to see results early on. They wwant to know as early as possible if their strategy is working or not, if they have the right people or not, etc.

    3. People are the key. It is a pleasure to realize that people can make or break a project and companies. And smart are those who realize that’s its all about people. Afterall, there are still companies that produce world class products and either don’t want to or don’t have the freedom and knowhow to become Agile, yet. And, it’s their people that make them world class.

  2. Eric Brown Avatar

    Rajeev,

    Thanks for the comment. I agree with every point.

    I think agile methods are viable for projects and companies of any size…but the argument that I hear most often for Agile is that waterfall doesn’t work…which is incorrect. Any methodology will work work in the right circumstances with the right backing and right people.

    Thanks again for the comments!

  3. Tom Avatar
    Tom

    I believe that waterfall only works when all parties are commited to a given project. The adavantage that agile brings to the table is that it exposes all levels of the project to all people. Big or small the project size does not matter, it always comes down to the people involved.

  4. Eric Brown Avatar

    Tom – Thanks for the comment.

    I agree wholeheartedly…project success will come down to the people involved.

  5. Pawel Brodzinski Avatar

    You can rarely see a “clean” model of software development (either agile or waterfall). The truth is that usually we some mixture of those and more (iterative, process-oriented etc). And as you write there’s no rule which says which methodology is the best for which project. If there was one everyone would use it.

    However, the discussion about project management and software development methodologies is old and has rather religious base (which isn’t a good one). The most important thing you’ve pointed is the key role of people in all those mess. I don’t say the great team will always deliver, no matter what the process is but in most cases result should be at least promising. On the other hand if the team is poor no matter how superior the methodology is you’re doomed to failure.

    Considering this context the methodology wars are not only boring but also overrated.

  6. mark Avatar
    mark

    To quote you:
    ‘I’ve never heard of Agile methods being used in very large scale complex projects (construction, defense industry, etc) and don’t believe the agile models scale that well to projects of that scale but I’d love to be proven wrong.’
    Check out objectmentor.com. They have cleaned up a few large projects by using agile development. Ask them.

  7. Eric Brown Avatar

    Mark – Thanks for the link to ObjectMentor.com…I will check them out.

    Thanks!
    Eric

  8. […] Agile or Waterfall – does it matter? “First off, let me answer the question: Does it matter if I use Agile or Waterfall methodologies in my project? My opinion is no, it doesnt matter – but there are a few caveats to that answer.” […]