Empirical vs determinstic methodologies: a cooking analogy

A deterministic methodology is one where you lay out all the steps, then following them religiously. An empirical methodology is one where you layout guidelines, and expect people to adapt as circumstances suit.

An assembly line is the usual stereotype of a deterministic methodology[1]. Creative exercises, such as painting, are typically good examples of empirical methods.

Cooking is often portrayed as being deterministic. Consider the following recipe:

Mushroom Risotto

  • 1 cup aborio rice
  • 1 large onion
  • 3 cups water
  • 4 medium-sized button mushrooms
  • 1 tsp. butter
  • 1 tsp. basil
  1. Dice onion well. Add onion and butter to a medium-sized microwave-safe container.
  2. Microwave for 2 minutes on high.
  3. Add rice. Stir. Microwave for 2 minutes on high.
  4. Add water. Stir. Microwave on high for 10 minutes, stir, 5 minutes, stir, 5 more minutes. Remove, cover, and put to one side.
  5. Dice mushrooms. Add mushrooms and basil to a small microwave-safe container. Combine well.
  6. Microwave on high for 2 minutes. Add to rice, cool for 5 minutes whilst covered, then serve.

* Serves 2 as a main, or 4-6 as a side dish.

It looks pretty deterministic, doesn’t it? And most recipies do. However, if you look at what actually happens when you cook it, it’s very different.

“Hmmm… no aborio rice, I’ll use the jasmine I’ve got handy. All these onions are small; I’ll use two. Last time I cooked this, it was a little bland: how about I add some chicken stock cubes to the water? Oh, I’m out of basil; how about a little oregano instead? And this tomato salsa will make a lovely topping.”

The point to this (and there is one, I’m sure) is that despite the fact that cooking is portrayed as a deterministic process, it’s very empirical. Heck, I haven’t even got around to trying to define what is a “medium-sized microwave safe container”. It’s just expected that you will know.

More and more, the processes that make up everyday life are becoming empirical. The reason is that we are becoming very good at automation, and deterministic processes are what you automate first. That’s why assembly lines are no longer strictly Taylorist in approach; the machines have taken over the repetitive tasks, leaving humans to handle the remainder.

[This digression was inspired whilst listening to a presentation by Ken Schwaber, available at ITConversations.com Well worth the download]

[1] However, assembly lines no longer work like this.

Author: Robert Watkins

My name is Robert Watkins. I am a software developer and have been for over 20 years now. I currently work for people, but my opinions here are in no way endorsed by them (which is cool; their opinions aren’t endorsed by me either). My main professional interests are in Java development, using Agile methods, with a historical focus on building web based applications. I’m also a Mac-fan and love my iPhone, which I’m currently learning how to code for. I live and work in Brisbane, Australia, but I grew up in the Northern Territory, and still find Brisbane too cold (after 22 years here). I’m married, with two children and one cat. My politics are socialist in tendency, my religious affiliation is atheist (aka “none of the above”), my attitude is condescending and my moral standing is lying down.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: