At the Microsoft MVP 2007 Global Summit held last month, I had the opportunity to hear Jack Greenfield talk about software factories. During Jack’s presentation Sam Gentile essentially remarked that while he understands and uses software factories, he doesn’t understand the point/value of software product lines (e.g. BDUF vs. agile…).
As Jack provided a thoughtful response, I too was thinking about how I’d reply. The following analogy came to mind–from an episode of The History Channel’s “Modern Marvels” show on the subject of assembly lines. (You can view a small portion of the show online here.)
Henry Ford was quite successful in cementing the role of the assembly line in automobile manufacturing. A well-known remark of his is, “You can have whatever color you want as long as it’s black.” And the way Ford tooled and drove its assembly line exemplified this focus. After Ford’s workforce rebelled against the ever-increasing speed of the line and was wooed back by essentially by money, Ford’s customer base increased its demand for customization–even just a change in external paint color. Enter GM.
GM was able to grab a fair bit of market share from Ford by understanding how to copy Ford’s success while also addressing consumer demand for increased choice.
Later, after choice was commoditized (i.e. presumed by the consumer), quality came to the foreground. Enter Toyota.
Toyota dramatically changed the role of the line worker to a fully empowered, responsible agent of quality and process improvement. Instead of increasing production by dialing up the speed of the line, Toyota practiced “kaizen.” Its management reduced available resources by 10% and expected/supported the line to adapt. Quality wasn’t a job–recall Ford’s more recent “quality is job one” campaign–it was a mindset…a workplace lifestyle, if you will.
Now South Korea and its Hyundai corporation are getting into the fray with an emphasis on enhancing quality through robotics and repeatable fine tolerances in manufacturing as a result. A May 2007 Motor Trend article about Hyundai’s recently revealed Concept Genesis emphasized the potential of a car that can compete with a Lexus while featuring a price of a Toyota. Sounds like more disruption to me.
Back to software factories and software product lines…
At its very beginning, Ford represented (just) a software factory. GM represents an initial software product line–harvesting assets from Ford. Toyota represents a later software product line–harvesting assets from GM and from Ford.
Perhaps Ford could have kept GM at bay or out of its market by taking more of a “software product line” mentality from the get-go–similarly, American auto makers and the likes of Toyota and Honda (Japanese auto makers).
Later, another MVP remarked that his essential concern is protection from what is going to change (or from “variability” to reference Jack’s translation of this concern). I believe that a software product line practice can raise visibility here and also to the inverse concern: Where are my fundamental assumptions? What are my invariants and what happens when change happens there?
In the case of automobile makers like Ford, GM and Toyota, history offers powerful examples of why architects should pursue software product lines and understand how they underlie software factories.








4 responses so far ↓
1 mcoblentz // Apr 16, 2007 at 7:21 am
Craig, I strongly suggest taking a look at: “The Machine That Changed The World - The story of lean production” for an in-depth discussion of this topic. I think you will find the extensions to teamwork, communication, efficient use of resources and the elimination of waste, and the quest for continuous improvement to be very relevant.
Matt
cit: Womack, James; Jones, Daniel; Roos, Daniel. The Machine That Changed The World - The story of lean production. New York: HarperCollins, 1990.
2 Craig Randall // May 5, 2007 at 4:19 pm
Thanks, Matt, for the pointer and the subsequent book loan, too. You’re right; I did enjoy reading The Machine That Changed the World and was able to deepen my association above as a result.
Rather than post separately about this book, I thought I’d keep the conversation going here instead. So, here are my take-aways in somewhat raw form:
Perhaps my strongest take away is the following equation I derived from the lean approach: experiment >> discouragement >> commitment >> improvement.
I’m staring at the Poppendiecks’ two books on lean software development, thinking that they should perhaps bubble up in my reading queue. Stay tuned…
3 Wikinomics // Aug 5, 2007 at 8:24 pm
[...] mass collaboration, what lessons, if any, apply from mass [...]
4 Precision collaboration // Jan 19, 2008 at 3:55 pm
[...] again, watching Modern Marvels yields another software idea. This time an episode on harvesting referenced the practice known as “precision [...]
You must log in to post a comment.