Tuesday, October 9, 2007

Agile Indian vs Mainstreet Cowboy

I feel the need to distinguish the “Agile Indian” from the “Main street Cowboy”.

Agile is an interesting and powerful set of methodologies, but I hate to see the collapsing of more than one term into one, especially to the detriment of Agile. I also hate to compete inside my organisation against Cowboy coding masquerading as Agile.

Let us start by distinguishing “Cowboy” coding.


  • Just leap into the project and start programming as fast as you can.
  • No thought to testing each function.
  • The emergent behaviors and corner cases in the product may not be considered up-front, only when they are proven to be a problem do they get addressed.
  • Whack a Mole style development, just hit the problem in front of you.

Then distinguishing “Agile” programming.

A set of methods that allow the following results.

Small / Quick / Short feedback loops:

Allowing any mistake or wrong direction to be quickly and cheaply rectified.

Techniques: continuous testing, client on site, fast iterations, small teams

Optimal process control:

Any process that is not required increases the cost, reduces morale, increases risk.

Techniques: no Quotes, Stories not Endless/Perfect a-priori Requirements, Optimal Metrics, One methodology per project.

I hope this makes sense, comments are encouraged.

3 comments:

Anonymous said...

But we all know the cowboys shot the indians, with corporate (and government) support.
So I guess time to market and the traditional of rolling out rubbish in the name of first to the new frontier (market) beats quality?

Anonymous said...

But we all know the cowboys shot the indians, with corporate (and government) support.
So I guess time to market and the traditional of rolling out rubbish in the name of first to the new frontier (market) beats quality?

Anonymous said...

Andrew, very valid comments. my work on the PMS I described to you is more like being a Cowboy approach because manager wants results, but won't provide the time resource necessary to conduct a proper project, even if Agile.
Building a financial based system by Cowboy methods is going to led to disaster, especially since no documentation exists.
I applaud your approach to differentiate the methods.
MBR