Monday, January 28, 2008

Agile and the pragmatists

I listened to the Naked Agilists latest podcast the other day.

Brian Marick's pitch in particular sparked my interest. He compares agile adoption against Geoffrey Moore's technology adoption curve and observes a discrepancy; namely the seeming dearth of pragmatists. As I listened, a fundamental question immediately sprung to mind:

- Do we really have a case where the standard curve doesn't fit, or
- Are we looking at the data incorrectly?

Moore's curve is of course statistical and hence variation is to be expected. Nevertheless, I can't help wonder if there's something else going on.

Software projects can be viewed in terms of 4 dimensions: cost, time, quality and function (per e.g. Kent Beck in "Extreme Programming"). The software industry can also be split roughly into IT and Product Development (PD) - the difference being that IT delivers solutions for use within a business; product development builds products that are sold to the market.

I've worked in and/or experienced a variety of both IT and PD companies. Despite both being ostensibly focused on software delivery, there are some notable differences. In particular, there seems to a different bias on the 4 project dimensions:

- IT seems to focus more on cost and schedule;
- PD tends to focus more on function and quality.

I've some theories about why that might be, but will save for later - it's not relevant here. The interesting question is whether this difference in any way explains Brian's observation.

Here's my thoughts:
  • Agile primarily manages delivery of working software --> focuses on function & quality over cost & schedule
  • IT projects are often implementations of purchased products
  • The majority of Agile use is associated with building systems rather than implementing products
  • IT is generally more conservative than PD

Agile's lack of penetration into the pragmatist market is a consequence of the increased IT representation in that segment.

Some observations arising from that assertion:
  • What would the curves look like if we separated IT & PD? My gut feeling is each would more or less follow Moore's model. Agile probably has crossed the chasm for PD; and the size of the segment is probably in line with Moore's curve. Agile in IT is however much earlier in the lifecycle, and crucially hasn't crossed the chasm yet.
  • For agile to cross the IT chasm, two things are required:
    1. There needs to be much more support for agile product implementation to complement that for agile system building
    2. It needs to be presented in a way that resonates with people whose primary focus is cost and schedule over function and quality. That means IT project/programme managers brought up on a diet of MS Project and interpreting PRINCE2 as a waterfall process.
I'm aware the assertions above are based on a very narrow - and therefore statistically insufficient - sample. I know, for example, of at least two IT organisations locally who've embraced agile principles. Thoughts and comments welcome.