Blog : January 2005

Friday, January 14, 2005

Where have you gone Martin Fowler?...

...An industry turns its lonely eyes to you (woo woo woo)

It took a pack of lawyers for Simon and Garfunkel to persuade Joe Dimaggio that they weren’t criticizing him or suggesting that he’d disappeared from public sight or that the shine had come off the public image of a man who married Marilyn Monroe. In fact, as the lawyers explained, Joe had to get used to the idea that he was being used as a metaphor.

Recently, Martin Fowler has been offering us advice about how dangerous metaphors can be. They are confusing. The problem is two fold. Firstly, they don’t stretch well (as Alan Cooper famously explained) and secondly not everyone can see the abstraction and subsequent concrete example in another field. Joe Dimaggio was a metaphor for the all-American hero. Here Martin offers us a warning about Lean as the all-Agile productivity hero.

Where I want to differ with Martin’s view is in his characterization of Lean as a metaphor. Lean Thinking offers us a set of principles. Principles are abstract concepts rather than concrete ones. The all-American hero is an abstract concept. Joe Dimaggio on the other hand was a decidedly real example of a baseball player. As I explained before, the English language offers us 3 words for mapping concepts like this, which from strongest to weakest are: abstraction; analogy; and metaphor. Lean is an abstraction rather than a metaphor. Martin Fowler made his name teaching us about abstraction in his seminal work - Analysis Patterns .

At the heart of Martin’s complaint with the Poppendiecks promotion of Lean is the suggestion that “inventory” in software development manifests itself as documentation. As zero (or very low) inventory is a goal in manufacturing then zero documentation should be a goal in software development. Hmmm. Sounds metaphorical to me. So, let’s examine this. First off, inventory is an abstract concept which has a specific example in Lean Manufacturing confusingly often called inventory or goods-on-hand. Inventory comes in three forms: raw material, work-in-progress; and finished goods. All three of these terms can apply to the abstract or concrete. So, it’s tricky! The Poppendiecks thinking in metaphors (rather than abstractions) said, “Gee! Inventory in a factory is a pile of stuff. What looks like a pile of stuff in software development? Hmmm. How about a stack of documents?” It didn’t take long for a few of us to correct this notion and I notice that recently in the Lean Development Yahoo! group no one has been suggesting that “inventory is documentation”. So Martin is behind the times though doubtless countless others who’ve read some of the Poppendieck articles or book will have learned the same notion - that “inventort” is documentation. Both Clarke and Jason explain why the Lean abstraction does work and how to truly represent inventory in a software development process. All of this begs the question from the title…

Where have you gone Martin Fowler (international man of abstraction)? an industry still turns its lonely eyes to you…

Posted by david on 01/14 at 01:08 PM Permalink
Page 1 of 1 pages