|
But, will each product be unique?
Ok, my analogy was a little far toward the other end, perhaps. But I think the basic point is still valid. No matter what you can pre-fab, nearly every building must be finally assembled on-site. Yes, there are delivery houses, but they're such a small part of "construction" that I'm not really counting them. The point is, construction, by it's nature, requires individual attention to each and every end product.
Software, on the other hand, doesn't. I know what you mean by software systems being more and more customized. I wrote contract code for a long time. Most programmers never work on "consumer product" code. But the nature of software does not demand that. In fact, software, by nature, tends to the general. Every application needs some customization for each copy, usually called configuration. When the customization ges too complex to be done by the end-user, something usually happens to the software. Either it becomes more than one product, partly pre-configured for a particular use, or someone fixes the configuration so it can be self-serve by the end-user again. I think the case of the software industry as lots of people writing one-off code for one client is a huge waste of people and effort, and is a degenerate result of software companies sucking. Probably, we can trace the present situation straight back to Microsoft, who have made it nearly impossible for the kind of small-scale software shop that makes one or two products for a niche market to exist. So instead, we get 1,000 contract hackers producing the same basic thing for each client in that niche.
But that's just how it seems to be right now. I'm not really trying to look at the software business at a particular moment, as much as the essential natures of software and construction. I think irreproduceability and tangibility is the heart of construction. That's why it's a craft, and that's why it's practitioners share their knowledge so freely. Techniques get you to the end of the job, but they aren't the job itself. I can tell you how I made something without giving you the thing.
In software, on the other hand, the code is both a description of the technique, and the actual product itself. Software, no matter how customizable, is inherently reproduceable. In both businesses there are boundary cases that overlap (prefab houses, NASA software), but in broad terms, the two businesses just aren't the same.
By the way, I have worked in both industries. I could be wrong, but I'm not just making this up. :-)
There are responses to this message:
Copyright 2009 The Doc Searls Weblog
|