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:
- There needs to be much more support for agile product implementation to complement that for agile system building
- 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.