*
The moose likes Agile and Other Processes and the fly likes Manufactoring vs. Design Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Manufactoring vs. Design" Watch "Manufactoring vs. Design" New topic
Author

Manufactoring vs. Design

Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Thomas Paul wrote in http://www.coderanch.com/t/130363/Agile/Some-developers-hate-XP-do :
--------------------------------------------------------------------------------
Originally posted by Ilja Preuss:
There is economic value in manufacturing identical wheels. There is no economic value in reinventing the wheel. With manufacturing, variation is bad. With design activities such as software, variation (i.e. differences from previous systems) is what we're selling. -- Hubert Matthews
--------------------------------------------------------------------------------

Wheels are not identical products. Wheels from different manufacturers are different. That is called product differentiation. Manufacturers come out with new models on a regular basis. [ad hominem snipped]

Yes, but that variance doesn't come from the manufactoring process. You don't want every wheel being different. Once you designed a wheel for a specific purpose, the value lies in being able to reproduce without variance. (We software developers value this, too - we'd expect every CD with software of the same version to behave identically.)
You could certainly argue that wheel manufacturers actually *do* need to "reinvent" the wheel - it's quite obvious to a formula one fan that they do. But that's not part of the manufactoring process - as far as I can tell, it's much closer to a process of creative experimentation.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Originally posted by Ilja Preuss:
Yes, but that variance doesn't come from the manufactoring process. You don't want every wheel being different. Once you designed a wheel for a specific purpose, the value lies in being able to reproduce without variance. (We software developers value this, too - we'd expect every CD with software of the same version to behave identically.)
Exactly. Every CD containing MS Office or Redhat Linux are identical, just like every Cooper Corba GTH tire is identical.
But I don't expect that Goodyear and Pirelli make tires the exact same way. In fact, I would argue that the software industry is better at making their software compatible with each other than most manufacturers. For example, virtually every Windows based software works exactly the same way with the same keystrokes invoking the same functions. When I drive my wife's car it takes me a little while to orient myself because the controls for the windshield wipers and the lights are in a different place.
Maybe the problem is that I just don't understand the point that Mr. Matthews is trying to make. Why don't we start there. What do you think he is actually trying to say?


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
The only value of the design process is delivering some difference from a previous design. A more attractive wheel or a lighter, stronger one.
Once design is done you want every item produced from the design as nearly identical as possible. All them matching wheels.
There are some interesting intellectual arguments about what this means in software. Some people believe there is a point where "design" is done and "construction" aka coding begins. Others believe that since one design at nearly any level of abstraction above code could have many different code implementations there must be some sort of design going on right to the last code change before compiling. We do expect the compiler to produce identical products once that design is done.
My reaction at the end of these arguments is a big yawn. Call it design, call it coding, the time you spend reading this is not doing either, slacker! (oops, or the time I spent writing it)


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Warren Dew
blacksmith
Ranch Hand

Joined: Mar 04, 2004
Posts: 1332
    
    2
It strikes me that the manufacturing process for wheels is more similar to pressing CDs or serving web pages - ideally, it's an equivalent product each time.
I think the manufacturing industry would call what we do "development" - inclusive of both software design and coding. When Goodyear, say, develops a new tire line, they do go through a bunch of stages of figuring out what's needed (e.g., "a good high speed snow tire"), integrating new technologies (e.g., new silica tread compounds), figuring out the details, and integrating it into their manufacturing process. I don't think that's all that different from what software engineers do, from a big picture process standpoint.
As for standardization, I think they do a pretty good job on the interfaces. For automobiles, for example, there are standardized wheel sizes, which means you can typically choose from several different tire manufacturers and tire models without having to buy a new wheel.
Warren Dew
blacksmith
Ranch Hand

Joined: Mar 04, 2004
Posts: 1332
    
    2
For example, virtually every Windows based software works exactly the same way with the same keystrokes invoking the same functions. When I drive my wife's car it takes me a little while to orient myself because the controls for the windshield wipers and the lights are in a different place.

On the other hand, if you both had a car from the same manufacturer, this might not be a problem ... and if one of you had a Mac or a Linux box, you might have even more of a problem adjusting to each others' machines.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Thomas Paul:
Maybe the problem is that I just don't understand the point that Mr. Matthews is trying to make. Why don't we start there. What do you think he is actually trying to say?

I think what he is trying to say is that when we want to learn from other industries how to improve our own (the software development industry), looking at manufactoring processes won't help us much. We don't need to learn how to reliably replicate - we need to learn how to reliably innovate.
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Originally posted by Ilja Preuss:
I think what he is trying to say is that when we want to learn from other industries how to improve our own (the software development industry), looking at manufactoring processes won't help us much. We don't need to learn how to reliably replicate - we need to learn how to reliably innovate.

Then he is wrong because the manufacturing industry leads the way in innovation by constantly improving and developing new products. Otherwise the quote is a big yawn and is hardly memorable.
[ April 08, 2004: Message edited by: Thomas Paul ]
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Originally posted by Warren Dew:
On the other hand, if you both had a car from the same manufacturer, this might not be a problem ... and if one of you had a Mac or a Linux box, you might have even more of a problem adjusting to each others' machines.

But they are both from the same manufacturer!
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Thomas Paul:
Then he is wrong because the manufacturing industry leads the way in innovation by constantly improving and developing new products.

But the manufacturing industry doesn't use a *manufacturing process* for this, at least in my understanding of the term.
When people say that our industry still is in stone age and compare it to something apparently more mature - say car manufacturing - they often look at how cars are *produced* by a sequential, highly automated process, specified to the detail and making use of many standardized components. They conclude that for software development to become mature, it would need to look similar.
But software development is much more a creative design process - defining the structure is what we do, not building it. Therefore we much more need to look at how other industries *design* their products.
And we might even find that they try to become more similar to software development - by using new materials and simulations to reduce turnaround times and therefore to be able to rely more on experimentation.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Manufactoring vs. Design