Dave Rooney is a veteran Agile Coach and co-founder of Westboro Systems. He has over 20 years software development industry experience and has been involve with the Agile community since 2000, working with organisations from pre-funding startups to the Fortune 15 improve their software process. Dave is co-founder of the Agile Ottawa Group, and an active write, speaker and advocate of agile methods in Canada. Dave is a DZone MVB and is not an employee of DZone and has posted 33 posts at DZone. You can read more from them at their website. View Full User Profile

Project Suitability for Agile

  • submit to reddit
Mike Cohn posted recently about "Deciding What Kind of Projects Are Most Suited For Agile". In that post he writes,

In my view, the most appropriate projects for agile are ones with aggressive deadlines, a high degree of complexity, and a high degree of novelty (uniqueness) to them.

I've seen statements very much like this for a number of years now. Others have been more focused on the project management quadrants:

Figure 1

Depending on where your project lies in this map, you may select a different project management approach to delivering the solution:

This suggests a very nice, even distribution of projects among the 4 quadrants. That, of course, is complete and utter crap!  I've been building software professionally since 1988. In that time I have yet to see a project that truly fits the Linear (i.e. serial, phased Waterfall) approach.  I'm sure those exist somewhere in nature, but they're exceedingly rare.

Perhaps it has just been my personal experience, but I've found that in reality most projects have been much further down the Uncertainty axis than most people thought.  Even rewrites of existing systems where we've been told "the old system IS the requirements!" contain uncertainty, and almost always have higher complexity owing to changes of language or platform.

I haven't yet mentioned Mike's 3rd criterion: urgency.  So, um, has anyone ever worked on a project where there wasn't pressure to deliver?  Seriously.

Mike goes on to state later in his post,

So let’s see how these three factors–urgency, complexity, and novelty–mix on various projects, starting of course with software projects. There couldn’t be a better fit. Software projects are notoriously complex. Each software project is largely a new endeavor. And in today’s world, there is almost always a sense of urgency.

 Absolutely. Agile approaches can be applied easily to 3 of the 4 quadrants above.

The only missing variable that can preclude using an Agile approach is the one with the greatest impact - People.  If the people involved aren't interested in transparency, visibility, accountability, collaboration and soliciting and acting upon feedback, then an Agile approach will not work.  In those cases, any approach will find itself challenged because the issue isn't the approach but rather the people using it.  What Agile will do in those circumstances is make the pain of the dysfunction tangible and acute.

What separates good people and organizations from the rest is how they act on reducing the pain.
Published at DZone with permission of Dave Rooney, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)