Peace of mind

When you are constructing a prototype, sometimes you first need to put it together with string and chewing gum, just so you can quickly get a sense of things. The result doesn’t need to be robust or even completely functional — it just needs to tell you whether you are going in the right general direction.

But then at some point, after you’ve figured out what direction you are heading, you need to replace the string and chewing gum with bricks and mortar — in my case, solid techniques of software construction that will be sturdy and reliable and built to last.

I often find the transition from the former to the latter a bit stressful. Here I’ve just had a nice little lean-to that worked, albeit badly, and now I am going to tear it all down and replace it with a real building. That is going to take a while, and during the transition I won’t really have anything to show for my efforts. But of course it’s worth it.

Yesterday I noticed something: I wouldn’t let myself start construction on the more robust version of my prototype until I got the shoddy temporary version basically working. I found this puzzling. Here was something I knew I was going to toss out, something that I knew wasn’t even worth very much, but I simply had to finish it before I would let myself start on the next phase of the project.

At first I was perplexed, but eventually I realized that the benefits of this strategy were very real, although entirely psychological. Knowing that I had finished something, even something not made to last, would give me the confidence I needed to tackle the much more challenging problem ahead.

Robert M. Persig put it very well: “Peace of mind produces right values, right values produce right thoughts. Right thoughts produce right actions and right actions produce work.”

Leave a Reply

Your email address will not be published. Required fields are marked *