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]