Ware Ware Wizardjin

Allan Doyle adoyle at bbn.com
Thu Apr 11 23:43:07 AEST 1991


In article <9104081805.AA14112 at samadams.Princeton.EDU> tr at SAMADAMS.PRINCETON.EDU (Tom Reingold) writes:
>and I hate poorly designed and implemented programs, but I now work on
>a product that suffered the design flaws recently covered in this
>thread.  I am beginning to see that although the excess size and
>duplicated function cost the user, the speed at getting the user what
>he wants is also a major factor.  If he doesn't get what he wants
>*soon*, even if improperly done, it may be a lost opportunity.
>
>We hope to take some time and fix things up in our product.  If we
>don't manage to find the time, it will be because we will be doing a
>major rewrite anyway.  The major rewrite will be spawned by the need to
>add large amounts of functionality, making our current product
>obsolete.  If it's obsolete, tightening it up would be futile.  In
>doing the rewrite, we hope to learn from our mistakes of excess size
>and redundancy.

Let's step back a minute and look at the shop-worn analogy of software
to cars. People have flogged the car/program user-interface issue to
death - to the point where I'm reluctant to mention the auto industry.
But here goes...

In the U.S. it takes up to seven years for a car to go from concept to
the showroom. (The cycle is getting shorter and 7 may be too long, no
flames please). It takes the Japanes about 3. Just accept the fact
that it takes more than 1 year. Yet new models come out every year.
Yes, some of the models are just tweaks of features on top of old models
but there are still *new* models every year. How do they do it? They
use a design pipeline. While Design A is in production, Design B
is in retooling, Design C is in prototyping, Design D is in concept 
formation, etc. Design A gets dumped, design B moves into production,
etc.

How many companies do this with software? I suspect it is near heresy
to suggest that a SW company begin design of a new rev of software using
new technology before the previous rev is out the door. Look at how
long it takes Lotus to get from 2.0 to 3.0, Apple to get from 6.3 to 7.0,
etc. If you want to introduce new technology on a regular, timely basis,
why not start working with the new technology sooner?

I suspect this has to do with culture. Programmers don't want to work on
1990 technology if they see a group working on 1991 technology. The good
ones in the 1990 group would sooner quit and go work for company X that
promises them a shot at their 1991 project.

It also has to do with management. How many SW company executives have
a background in manufacturing? How many work for the near-term profits?
It takes a pretty long view to see that starting a rewrite of a product
that's not even out the door might be a real revenue enhancer in the 
future.

Are there any venture capitalists out there who want to fund two or three
groups of programmers before the first product gets out the door?
[Give me a call if you are one :-) ]



Allan Doyle                                        adoyle at bbn.com
Bolt Beranek and Newman,  Incorporated             +1 (617) 873-3398
10 Moulton Street, Cambridge, MA 02138             USA



More information about the Comp.unix.wizards mailing list