Re: OOP/OOD Philosophy
- From: Michael Feathers <mfeathers@xxxxxxxxxxxxxxxx>
- Date: Wed, 06 Jul 2005 15:42:43 GMT
krasicki wrote:
Daniel Parker wrote:
"krasicki" <Krasicki@xxxxxxxxx> wrote in message news:1120611204.476214.162240@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Look, OOD is about designing theoretical systems ...
Just out of curiosity, what theory?
-- Daniel
Well Daniel,
Not all systems consist of a web front end that accesses data from a well-established database though many do.
OOD, depending on the tools and techniques you use, allows system designers to model potential solutions in numerous ways. If this tradeoff is made here, this benefit is forthcoming there and so on. Design is about applying recombinant ideas to solving problems.
Systems are developed to solve problems in effective ways. Systems are not developed for the sake of software or to gratify the provincial and esoteric ego needs of the employees charged with getting the system implemented.
I'll give you a good example. A Hilton was just built in Hartford and the building went up fast to meet the deadline of the new convention center being built next door. All federal guidelines were applied.
So come inspection day, Connecticut's inspectors applied Connecticut building statutes to the inspection and the building failed! Now one could say that the building was built fast, saved money, and looks real good and boy were the builders proud of it. Let's call this process agile.
So sixteen of the rooms were incorrectly built for handicapped access, an error of three inches per room. Where to get three inches? Push the rooms into the hall and the hall fails. You can see how this goes.
Another example. A Hospital builds a new wing onto an existing structure and these days new hospital wings look like fancy hotels. Everything is immaculate, grand fascades, fancy everything. The hospital wing opens without a hitch.
The first bed is rolled down the hall, the elevator button is pushed, the door opens, the bed pushed into the elevetor as far as it can go, but the bed still doesn't fit. Wrong sized elevator.
It's pretty amazing to me that you find anything in common with Agile in these scenarios. They all sound like cases were there was no feedback or testing. Sounds more like plan-driven development to me.
> These are true stories. Shouldn't all of the architects of these > buildings have expected change to happen as well. Same with the > builders. maybe build with everything loose so that it can be > reassembled when the next minor detail arises? Aren't we being told > this is the way things work?
Well, the fact is software is malleable. In fact it is too malleable. It isn't hard to change software at all. All you have to do is type a couple of characters in any program and you can break it. Because that is the way that software is, we need tests to give it backbone.
> Even carpenters measure before they cut. Yet, in computer science we > are being told that we should operate as though we are all alchoholics > and take things one day at a time.
The problem is: misunderstanding the material you are working with. Code is not wood or concrete.
Michael Feathers www.objectmentor.com
.
- Follow-Ups:
- Re: OOP/OOD Philosophy
- From: krasicki
- Re: OOP/OOD Philosophy
- From: Daniel Parker
- Re: OOP/OOD Philosophy
- References:
- Re: OOP/OOD Philosophy
- From: krasicki
- Re: OOP/OOD Philosophy
- From: Michael Feathers
- Re: OOP/OOD Philosophy
- From: krasicki
- Re: OOP/OOD Philosophy
- From: Nick Malik [Microsoft]
- Re: OOP/OOD Philosophy
- From: krasicki
- Re: OOP/OOD Philosophy
- From: Nick Malik [Microsoft]
- Re: OOP/OOD Philosophy
- From: Robert C . Martin
- Re: OOP/OOD Philosophy
- From: krasicki
- Re: OOP/OOD Philosophy
- From: Daniel Parker
- Re: OOP/OOD Philosophy
- From: krasicki
- Re: OOP/OOD Philosophy
- Prev by Date: Re: OOP/OOD Philosophy
- Next by Date: Re: OOP/OOD Philosophy
- Previous by thread: Re: OOP/OOD Philosophy
- Next by thread: Re: OOP/OOD Philosophy
- Index(es):