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 |
| 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 |