Saturday, July 3, 2010

Agile or traditional Project Management for Software Development Projects?

Which Project Framework do you use and why do you use it? Is it agile because everyone seems to do agile these days or is it because you are convinced that you need to change your approach since the traditional approach didn't work for you? Or do you use a traditional project management approach that is customized to your needs and looked at by your Project Management Office? These days it seems there are two parties in the Project Management world. On the one side you have the agile believers vs on the other side you have the PMI certified (and similar certifications) Project Managers. They mostly don't seem to value each other very much. Why is that? I'm very passionate about Project Management and I want to know as much as possible from both worlds because, like in most cases, there is something to learn from the other side. Without some of my traditional project management experience and learning I couldn't appreciate the agile approach that much. For the traditional project management certifications you need to spend considerably more time than for the agile appproach. I am PMP (Project Management Professional from PMI) and CSM (Certified SCRUM Master) certified and hence know this first hand. In any case some of the traditional and agile tools can be nicely combined (e.g. Risk Management Plan, RACI charts, Communication Plan)
For Software Development Projects it is now (almost) common knowledge that an agile Framework is working better than a traditional waterfall approach. I won't go into all the details why that is the case but refer you to http://www.agilealliance.org/ instead.
In many, mostly bigger, organizations it is not possible for various reasons to change to a real agile approach immediately and in that case you have to deal with whatever project framework they use. Does that mean you can't or shouldn't try to introduce agile practices? No, because the greater objective for any project is to deliver our projects with the agreed upon scope, on time and within the assigned budget. And we want to get better at this all the time. That's what continuous improvement is all about no matter which project framework you use.
Even though I consider agile the better approach for Software Development Projects I'm realistic enough to recognize that not every organization is ready for this. But instead of being an agile purist and waiting for the organization to change I prefer to focus on our circle of influence and try to introduce as many agile practices into our organizations as possible. Use the practices that are working independent from which project framework they come. In the end a successful project decides if you used the correct approach!