In What Cases Does Agile Not Work?

August 26, 2010 CollabNet VersionOne

I’m frequently (weekly) asked by clients I visit, “Where doesn’t an agile development approach work?” Or, they tell me an agile approach won’t work in their environment for numerous reasons.

In my experience, general agile development practices are superior when the problem domain is complex and/or dynamic, and solving the problem benefits from a more empirical approach. This is true even with distributed teams.

This is because in dealing with complex problems, the natural cognitive approach for human beings is to decompose the problem into smaller pieces, and work to understand the smaller pieces so that those pieces can enable an understanding of the whole problem domain.

The amusing thing to me is that this behavior happens within the phases of sequential, phase-based approaches to software development projects, yet the overall approach ignores this and tries to freeze the dynamic nature of the problem domain. Agile project management expresses this idea up through its execution approach with the inspect and adapt cycle.

Does this require more communication/collaboration? Yes. Is this an issue with agile processes? No. The same conversations need to occur to understand and allow requirements to evolve. It is a choice by the organization undertaking the problem whether they have the conversations or not.

If you have a problem domain that is simple, one where using the same sequential process results in getting the same outcome that is within your acceptable measure of quality, then use that approach.

I was just recently at a client that stated that agile wouldn’t work for them because the high degree of complexity in their problem domain and because of their distributed team nature. They continued to explain that using waterfall enabled them to not have to communicate as much 🙂

Waterfall software development methodologies allow people to sweep all types of process, organizational and interpersonal dysfunction under the proverbial rug and defer the problems this causes until the “death march” — or in the worst case, after the so-called value has been delivered to the customer and they find dysfunction in terms of their needs not being met or poor quality.

So the next time you hear this question, consider whether the issue is the approach, or because of lack of discipline, lack of competence, organizational dysfunction or interpersonal dysfunction within your team; all of which, agile approaches are brutally blunt at pointing out. Many just don’t want to deal with the impediments and feel more comfortable “sweeping them under the rug”.

The post In What Cases Does Agile Not Work? appeared first on VersionOne Blog.

Previous Article
Estimation and Release Planning with Fruit Salad
Estimation and Release Planning with Fruit Salad

Some late breaking events caused several students in a recent Certified Scrum Product Owner class to resche...

Next Article
Coding in the Cloud Just Got Easier with One-Click Deploy to Joyent
Coding in the Cloud Just Got Easier with One-Click Deploy to Joyent

Today we announced our partnership with Joyent, provider of smart cloud computing solutions, to provide end...