| Robert C. Martin 2004-09-27, 3:56 am |
| On 26 Sep 2004 12:48:41 -0700, theburnetts@yahoo.com (Corey Burnett)
wrote:
>We did know that we were going to have 3 floors but because we
>deferred the details until we were ready to build the 3rd floor we are
>screwed now.
>
>I know this is a very extreme example - but is my point valid? Or am
>I just a big worry wart! :)
Something of a worry wart I'm afraid. In software there's no
foundation to dig, no forms to set up, no concrete to pour. Moreover,
there's no gravity to force ordering upon you. Yes, there are certain
things that are relatively harder to do when done out of order, but
with nowhere near the cost sensitivity of building a house.
Complex software is not designed -- it is grown from humble
beginnings. To quote Booch who quoted Gall: "A complex system that
works is invariably found to have evolved from a simple system that
worked..... A complex system designed from scratch never works and can
not be patched up to make it work. You have to start over, beginning
with a [simple] system that works."
-----
Robert C. Martin (Uncle Bob) | email: unclebob@objectmentor.com
Object Mentor Inc. | blog: www.butunclebob.com
The Agile Transition Experts | web: www.objectmentor.com
800-338-6716
"The aim of science is not to open the door to infinite wisdom,
but to set a limit to infinite error."
-- Bertolt Brecht, Life of Galileo
|