BYTE.com > Mr. Computer Language Person > 2004
Software Factories
By Martin Heller
November 15, 2004
(Software Factories
: Page 1 of 1 )
In taking on the subject of Software Factories, I feel a little like I'm trying to summarize Proust.
For those of you not already helpless with laughter, let me explain. In Monty Python's Flying Circus episode 31, there is a sketch about the All-England Summarize Proust Competition, in which "each contestant has to give a brief summary of Proust's A La Recherche du Temps Perdu, once in a swimsuit and once in evening dress." The contestants in the sketch have 15 seconds to summarize a seven-volume novel. (Do read the sketch or listen to the audio if you're not familiar with it.)
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools, by Jack Greenfield and Keith Short, (Wiley, 2004; ISBN 0471202843) is hardly amenable to being summarized in one column, but I'll do my best. With some luck, I'll get beyond Swann's Way.
A Little History
In some ways, software development is the last bastion of cottage craftsmanship in the modern world. Take automobiles: Machines crank out identical, standard-sized parts by the millions, achieving massive economy of scale. Automated production lines crank out nearly identical models of automobile (differing only in final trim, color, and options) by the thousands, using standardized parts, and again achieving economy of scale. Manufacturers tool up their production lines for different models of automobile within a product line, reusing large-scale assemblies like the chassis, motor, and transmission, and achieving economy of scope.
Note the distinction between economy of scale and economy of scope. Commercial software already achieves economy of scale extremely well. For example, Microsoft designed and implemented a master copy of Office 2003 at great expense, and then cranked out Office 2003 CDs by the millions for pennies each. Microsoft may achieve some economy of scope within the Office product line by reusing user interface components and scripting engines, but by and large most software achieves very little software reuse, and hence very little economy of scope.
Page 1 of 1
BYTE.com > Mr. Computer Language Person > 2004
|