Almost a year ago InfoQ carried an interview with Jim Johnson of the Standish Group, in which Jim used a term I hadn’t heard before:
- Agile must bring in new issues: how do you say when “planned” scope is accomplished, for a project using adaptive planning?
- That’s a good question. With companies like Webex, Google, Amazon, eBay, it’s a challenge – they’re doing something called “pipelining” instead of releases. “Whatever is done in 2 weeks, we’ll put that up.” They’re successful because users only get small, incremental changes. And their implementation is proven – remember, some projects only fail after the coding is finished, at the implementation step.
- Pipelining? Sounds like variable scope..
- Yes. It’s very enlightening to work on variable scope – it makes people a lot happier to see things getting done. People like to see progress and results, and Agile embodies that.”
The metaphor “pipelining” is interesting, and at first I liked the different slant it gave me on incremental delivery. But having lived with it now for a couple of days I’m no longer so sure. The image of the relentless drip-drip-drip of new features is compelling, but the metaphor conjures no representation of the growing system or product. In my mind’s eye I’ve always likened software development to building a space-station: because there’s no gravity we can add, remove or rebuild any part we wish. The time-lapse film of our activites would show something that was unmistakably space-station-ish from day one, whose features and capabilities gradually expand like a flower opening. (There – I just used a simile to help explain a metaphor; who said language was dead!)
Anyway, “pipelining” as a metaphor seems to me now to offer an incomplete view of agile/lean development. And building space-stations seems to be more fun, too.
(Hat tip to C. Keith Ray for the link.)