in reply to Strange Coding Tales
I need to revise my classics.1
Many years ago I read a book on software design, but I can't for the life of me remember the author. The person was discussing the art of creating a good design, and that the main problem was ensuring that the design doesn't "solidify" too quickly. The problem is especially prevalent when using computer-aided design programs. Once a design is set down it becomes difficult to start over (people are reluctant to trash something they've spent hours over, fiddling with arrow alignments), thus the first cut at design has an annoying tendency to be the last, even if it's sub-optimal.
He went on to discuss one of the best design sessions ever was on a beach. He and a couple of other programmers went for a walk discussing a big system they had to design. They carried no paper or pens and just talked about the problem. From time to time they would sketch a diagram in the sand to help the others understand a particular point. The sketch would last only until the next wave rolled in from the ocean and smoothed it out.
By the time they had finished they had a good grasp of the issues and tradeoffs that had to be made and so when they landed the design on paper they were pretty sure they had the best design possible.
Me: "Boss, I need to go to a deserted tropical island for a couple of weeks."
Boss: "You do?"
Me: "Yes, for the design of the new project."
Boss: "Su-u-u-u-ure..."
Oh well, bonus points if you can remember who the author is.
1. I also need to revise my Perl Monks. I posted this, then tried to spank katgirl in the CB, thus erasing this post before I got round to submitting it.
|
|---|