Distraction: the one big obstacle

Focussing When we work with a piece of software, we have to put a lot of things into our mind. Design considerations, names of variables, side effects, the goal we want to archieve, the work flow, possible risks, problems and other things have to be memorized. We try to focus on all these things. After a while we increase this focus to a state that can be described as "hypnotic" - we concentrate on this and only on this. We are "tunneling" our mind so that all other things are faded out.

When hypnotizing people we reach the same state of mind.

It takes 10-20 minutes to reach this condition. After this, we can start to work on the code. We are so absorbed by our work that we forget everything else. We even loose a feeling for the duration this takes.

The reason we have to work this way has to do with a limitation of our mind. To be exact, it is a limit set by our short-term-memory. Lets see what that is, exactly.
 

Previous chapter

Next chapter

Table of contents

About memory We have three kinds of different memory. The first is called "ultra-short-term memory". It lasts for about three seconds, our idea of the present time. The basis of this is formed by patterns of electric waves which spread in room and time. This electric waves can be measured. If we need to keep information longer in our brain, these informations have to be propagated into our short-term memory.

The short-term memory lasts about 20 minutes and is localized in a special form of RNA (called "messenger RNA" - we know this, because there are drugs that can suppress this form of RNA so that we loose our short-term memory). Under shock (an accident, for example), we can loose the contents of this memory, and we loose the last twenty minutes of our live.

If we want to keep information for a longer period, this information has to be propagated to our long-term memory, which is physically based on specific proteins (RNA is a forerunner of DNA, and DNA is - like RNA - a blueprint for proteins). Once something is in our long-term memory it is kept forever. If we can't remember an information from our long-term memory it is because of desorganisation, that is, we don't find the key to this information, though it is still present. All memory works by association (linking) one information with another, and we remember things because we can walk this chain of information through these links until we reach the desired goal or fail remembering because a link is missing or too weak.
 

Keeping infomation present Most information is kept in the short-term memory as descibed above. From this information, we work our way to the information about how to write code, and the work starts. And now an interrupt happens. In a program, the complete state of the program is saved to the stack or special registers, and after the interrupt service routine has ended, this information is retrieved and the program continues as if nothing had happened.

Unfortunateley, the human mind is different. If we are interrupted, some of the information can be saved to the short-term memory, but this information is not active, so it can't be (all) propagated to our long-term memory. Worse, we loose the focus that we have built, and we have to handle the interrupt. Lets say for example that this real-world interrupt is a phone call that lasts only two minutes.

After this time, some of the information we have built ist lost and has to be retrieved again. But that special state of our mind, our focus, has been lost, too, and rebuilding this focus needs again 10-20 minutes. Say it needs an average of about 15 minutes. Now lets calculate an example:
 

Start of work We need 15 minutes for building the focus and for memorizing all we need. The more complex a problem is, the more time we need to archieve just a state were we can work.
Working... We work for about 5 minutes.
Interrupt! The phone rings and we have to handle the call which lasts 2 minutes - since start, this makes 17 minutes.
We start again Now it takes us 15 minutes again to rebuilt the focus and to re-memorize all information - we have to be sure we don't forget anything. After 32 minutes, we're just back to the situation we can start to work again. That is, from this half an hour we just have worked for about five minutes, the rest is lost, though the interruption just took about TWO minutes! Without this, the working time would have been 15 minutes instead.

A few more interrupts, and we can waste a few hours of work. This can be very frustrating. Now you do know why software developers hate the telephone...

A friend of mine wrote a dissertation (submitted for a diploma) about the differences between "ordinary" people and computer freaks. To his (and mine) amazement he found only ONE significant way to distinguish between these two groups: computer freaks hate telephones!

This is the reason why Tom DeMarco wrote in his book Why Does Software Cost So Much? a chapter about distraction and that this is the one essential problem that has to be solved to make software developers more productive. This is the one major obstacle that has to be removed.

People working on projects involving creative work (esp. advertising agencies) had known this for a long time. Perhaps we can learn a lot from them?
 

My experience I know this from experience. My work at the moment involves telephone hotline support, user support, first level and second level support, system administration and program development all at the same time! Its a mission impossible if you ask me, and my work as a software developer has dropped to a level so low that I think that I'm overpayed as a software developer and that this extra salary I get is nothing more but a compensation for injuries suffered.

Distraction is one of the major sources of frustration for software developers. Come to think of it: maybe one of the reasons that free (or open source) software is superior to commercial software has to do with the fact that those developers have more control over their working environment and therefore less distraction!

Back to the top
Previous chapter Back to the table of contents Next chapter
Confusios, he says:
Copyright: Volker Dittmar
Created: 1999-12-18, last modified: 2000-01-31