The Purpose of Automation

July 21, 2004 at 5:25 am — Process

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.

RSS feed for comments on this post. TrackBack URL

7 Comments »

Comment by Malte Finsterwalder — July 22, 2004 at 7:19 am

One point always comes to my mind when talking about automation. It’s somewhat implied by “improve the quality attributes of a process” but was not explicitly stated.
Automation improves accuracy and reduces the potential for error. Humans are just not very good at doing repetitive tasks accurately every time. Computers are “perfect” in that regard. If they do it right once, they can exactly repeat it as often as you like.

Comment by Hristo Deshev — July 23, 2004 at 2:45 pm

My favorite example: automated tests and programming. Automation speeds up the checks that a person, must do — here is the qualitative improvement. That improvement reduces the load on our brains and allows us to think about other, more fun things. Lo and behold — we have a different development process.

Comment by Laurent Bossavit — July 29, 2004 at 6:32 pm

Dale, I find my gut in violent disagreement with this posting, and my head at severe difficulty in pinning down what my gut objects to.

Perhaps what makes me uneasy in the above is the overloaded term, “information”. In my book, computers don’t do information. They do data. Data is a difference - information is a difference that makes a difference. Since it makes no difference to a computer what it’s processing, it’s not information.

My gut is also disagreeing with the bit about quality attributes, but not telling my head anything.

Comment by Dale Emery — July 29, 2004 at 7:44 pm

Laurent, maybe we can test whether the word “information” is what’s bugging you. If you replace every occurrence of the word “information” with “data,” does that eliminate your uneasiness?

For now, I want to stay with “information.” I agree that the computer doesn’t care what it’s processing. I’m assuming that if somebody spent the time and effort to automate the processing, there must be people somewhere for whom the data makes a difference.

One aspect of the post that bugs me is the absoluteness of “always and entirely.” I generally avoid absolutes like that. I wrote it as an absolute anyway, partly because I wanted to experiment with absoluteness, and partly because I can’t think of a single counterexample.

If you discover more clearly what you’re objecting to, I’d love to hear about it.

Comment by Laurent Bossavit — July 29, 2004 at 8:08 pm

Dale,

If I substitute “data” for “information”, your first sentence still bugs me. Here’s why in a nutshell: you say that a computer can do only three things. Mine does more than three things - it can send email for me, run a game for me, draw pictures at my bidding, play music, and so on. So I can’t take your statement literally.

Perhaps my gut is only signaling confusion. But I suspect that my head read your statement as “anything a computer does can be reduced to one of three things”. That makes more sense of my gut reaction - “reduce to” is a problematic concept. For instance, what *people* do also reduces to things that are relatively trivial. That tells us no more about the purpose of humanity than the deep reduction of computer things to “moving data around” tells us about the purpose of automation.

I think that the term “purpose” at the end is also one that my gut identifies as problematic. I don’t know that *my* purposes in automating something are, always and entirely, to improve the quality attributes of a process. Yet I spend a lot of time automating things (less time now than I used to). Sometimes my purpose in doing so is to have fun, or to learn stuff. I don’t know that these have to do with quality attributes of a process.

Comment by Steve Lott — July 29, 2004 at 9:41 pm

There’s a language side to this, also. Computing is about language and the formalized expression of knowledge as much as speed.

We have SQL itself and it’s formal sublanguages (DML, DCL and DDL). Programming languages (Java, Python), Data definition languages (HTML, XML). Metadata languages: DTD, XSDL, XSLT, etc. Don’t forget analysis and design pattern languages to simplify and standardize discourse.

I think that there are cases where the formalism of application software trumps speed. We need application software to do a job that can be done in Excel. Why? Excel is always ad-hoc. We want something more formal.

Comment by Jim Williamson — January 20, 2005 at 4:17 pm

Dale

The problem with your statement is that it does
define ‘what computers, via programs, do’ but
it does not distinguish between the many and
varied ways in which computers are used. A system
for stock control could cause an order to be
sent to a supplier without any human intervention.
An alternative system might display a possible
purchase to the user, who confirms it, and the
order is sent automatically to the supplier.

The first is automation; I am not what label to
apply to the second solution- it is not TOTAL
automation, it is not Decision Support.

Leave a comment