![]() |
![]() |
![]() |
A Clay Pot Crafting a piece of software is akin to creating a piece of pottery.
I'm not crazy, I'm just a little unwell
---"Crafting a piece of software is akin to creating a piece of pottery."-------
Stephen Jones
Interesting, and a neat analogy. Actually, the problem I have with software is that it's made out of a special clay that can be melted down and re-shaped at any time. To quote:
The Pedant, Brent P. Newhall
Isn't everything made by humans like shaping and molding clay? How's software different?
char* full_name()
>> "How's software different?"
More generally, software development is analogous to almost any construction or modeling project. More than engineering, this is just craftsmanship (pre-industrial) and attention to detail. There are no fixed rules. You work in a separate piece with care, until satisfied, you do your research, annotate, code, then proceed to test (as you code, many times) and perfect. Then integrate, little by little. Then more tests. No matter if your project has 1 or 100 people, things don’t change; actually they get only worse.
Pablo
http://www.google.com/search?q=software+malleable&ie=ISO-8859-1&hl=en&meta= returns 31,500 hits.
Christopher Wells
You guys have strange ideas of what engineering is all about.
Dennis Atkins
No, no, no, writing software is very like making love to a beautiful woman.
Mr Jack
Frustrating, you mean?
If you think that making software is like making love to a beautiful woman, you're either doing something wrong with the woman, or I want to get a copy of your compiler.
Clay Dowling
Dennis Atkins wrote that NASA refined their rocket and control system designs over years, doing countless test flights.
The Pedant, Brent P. Newhall
I see the Apollo project as a perfect example of engineering and I see software design the same way. I don't see either as hobbies and crafts sorts of things. The refinement that goes into software design is sometimes given as evidence that software design is not engineering because engineering is all about creating a perfect system that works the first time without any trouble. I reject this model of engineering. When it gets to the point where you can specify something and build it and it works right the first time, you are talking about manufacturing and not design. Software design is still usually design/engineering and not manufacturing of a known entity.
Dennis Atkins
|