The Purpose of Automation

July 21, 2004 at 5:25 am — Coding,Leading — Tags:

A computer can do only three things: copy information, store and retrieve information, and derive new information from existing information. Everything else a computer can do is a combination of those three things.

Human beings can do those things too. People can copy information, store and retrieve information, and derive new information from existing information. The differences between people and computers is not in their ability to do those things, but the speed at which they can do them. Anything that a computer can do, a human could do, given enough time.

But “enough time” matters. There are some things that a computer can do that we say that a human “cannot do.” When we say that, we mean that a human can’t do them fast enough to be qualitatively worth doing. A computer, for example, can execute a flight simulator fast enough to give users an enjoyable simulation of flying an airplane. A human being, or a set of human beings, could execute a flight simulator, accepting all the same user inputs, making all the same calculations, and presenting the results in the same graphical forms. But it would be so slow as to be, from the user’s perspective, horrible horrible horrible.

So we say that a human “can not” execute a flight simulator. We say that the computer makes possible something that is not possible for humans. What we mean is that the computer can satisfy the user’s requirements about critical quality attributes—speed, in this case—and that human cannot.

This “leap of possibility,” then, is not a leap in functionality, but leap in qualitative experience. What creates these leaps of qualitative experience? Felt improvements in quality attributes. Take speed, for example. As Kent Beck said (I think it was Kent Beck), an order-of-magnitude speedup feels qualitatively different. A flight simulator that is an order of magnitude faster than another will feel qualitatively better.

In general, if we can improve a quality attribute by an order of magnitude, we may experience that as being able to do something that was previously “impossible.”

Sometimes our purpose in automating is to do the “impossible”—that is, to make a qualitative leap, a discontinuous improvement in the quality attributes of a process. The rest of the time, our purpose is a more modest improvement—measurable and noticeable, but not necessarily a qualitative leap.

In either case, the purpose of automation is, always and entirely, to improve the quality attributes of a process.

Comments (7)

Planning

July 15, 2004 at 4:50 pm — Leading — Tags: ,

On the Agile Project Management mailing list, in the midst of an enthusiastic dialogue about the value of planning, Clarke Ching asked the clarifying and orienting question, “What is planning?”

My answer:


plan
  1. v. To select assumptions, expectations, constraints, intentions, and commitments to inform decisions about a course of action.
  2. n. A description of a set of assumptions, expectations, constraints, intentions, and commitments selected to inform decisions about a course of action.

Before Clarke asked, I didn’t know that that’s what I meant by planning. That qualifies the question as a good one.

[Update 4:55 PM: Added "intentions."]

Comments (4)

Leadership

July 13, 2004 at 7:45 pm — Leading — Tags:

As an exercise in clarifying my thoughts, I created definitions for the words lead and leadership:


lead
  1. v. To influence people to freely serve a shared purpose.

leadership
  1. n. The process of influencing people to freely serve a shared purpose. (The process of leading.)

How well does this definition fit your idea of leadership? What’s your definition?

[Update July 15: Shortened "ongoing process" to "process." I think the word process implies ongoing.]

Comments (1)