Question

For example:

Updating the code for that legacy system is like fixing the plumbing in an old house. Sometimes it is as easy as changing a faucet, but sometimes you spend hours working around rotting wood only to find crap flying everywhere.

Was it helpful?

Solution

Memory hierarchy as hands-pockets-desk-library

The hands being the registers and the library being the harddrive. (CDs and DVDs being like interlibrary loans...) It helps explain about cache sizes in processors to the reasonably intelligent punters. (I used to sell computers.)

Memory lane

Classic. Address-space as a street, where, on each address there's a house with 8 ... Yeah.

Chapters/pagenumbers

Explaining filesystems. "You or I might use a ringbinder and rearrange the pages, but the computer has to is list all the pages of a chapter, because it can't rearrange the pages..."

Postcards, or parcels

Networking stack. Write about this week of vacation. Send to Jack by putting Jacks address on the postcard, the mail employees route it by the zip-code... and so on.

Bittorrent as a rumour mill

The tracker keeps track of who's interested in a topic, but doesn't care about that topic itself. So you ask the tracker about who else is interested and ask each them to tell you a bit about the thing.


Usually, the trick seems to be finding someting in real life that has a similar form or process. It's not (usually) that the mundanes are dumb, just that they no sensible entry point.

There's a whole bunch of others. I need to think for a bit.

OTHER TIPS

Visual Sourcesafe is like a big, steaming pile of fetid...eh, you get the idea.

A rhetorical trope is like a metaphor.

(sorry - I couldn't resist)

Object Oriented programming allows you to do something once and have it done automatically in the future. For example, you have to wash the dishes every time you cook. Wouldn't it be nice if you could wash every dish you own and put them all away, and then every time you cook in the future you wouldn't have to bother because you would have taught the dishes to wash themselves?

(While explaining to mgmt why we need to take the time to build a framework before we start converting our system from VB6 to .NET.)

Yes, I know it would be better to tell them I'm teaching future dishes to wash themselves, but I figured it was complicated enough!

Writing the large, critical database-app in Excel is like using a wrench to pound nails, it's the wrong tool for the job.

Edit: Actually it wasn't an effective explanation, but I thought it was accurate.

Explaining to a business person why their ridiculous change request won't be implemented:

Making this change is like adding a basement to an existing house. You can't replace the foundation after the house has already been built.

Writing code is like replacing spark plugs

alt text

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top