The Myth of Multitasking
freakonomics.blogs.nytimes.com
freakonomics.blogs.nytimes.com
I certainly find that I'm able to Context Switch like early versions of Atari TOS, Windows and certain forms of extended DOS, but there is a penalty. Some of my tasks most certainly terminate and stay resident (i.e. I switch to task B but am still committing mental activity to task A), but as long as I plan what I'm doing, switching between things is no more difficult than saving my text in edit.com, starting lotus 1-2-3 and importing the text (forget cut and paste, I have a 16-bit mind in a 64-bit world, and only 512k of RAM to play with).
On the other hand, depending on the task I can do certain types of task and switch pre-emptively, just like Amiga Workbench. Like Amiga Workbench, I often find that I can only really do one thing at a time but things do carry on in the background. Some might call it intuition, but I can tell if a need to context switch is coming up and if the task doesn't require that much by way of resources then I'm fine doing both at roughly the same time, there is an impact on resources, but it's not always externally visible.
Good managers see their responsibility as removing obstacles so that people can focus on one thing and really get it done.
[1]: http://www.joelonsoftware.com/articles/fog0000000022.htmlNB: Some studies have interpreted multitasking as doing two or more things at once (e.g., talking while driving). I use the term in the context of switching among multiple projects / tasks over a given set of time.
I'm definitely coding at 100%, but I'm not listening to music at its full capacity. But I am parsing it enough to know whether or not I want to check it out again in depth (100%) later.
Now I do agree with Joel that there are certain kinds of tasks that are very expensive to interrupt, but to rule out all kinds of multitasking based on Italian judges or brain scan imagery, no.
You can work on them serially:
A A A B B B C C C
Or multitask them:
A B C A B C A B C
If you take a look at when the projects complete, you'll see that, in the serial approach:
A finishes on day 3. B finishes on day 6. C finishes on day 9.
In the multitasking approach:
A finishes on day 7. B finishes on day 8. C finishes on day 9.
This results in lower system throughput.
There may be reasons for multitasking, but increasing system throughput isn't one of them.
You mistake the thoughput for the latency. The latency is smaller (less time from start to end) in the AAABBBCCC approach.
The reason ABCABCABC can be slower in a computer is that context switches takes time, and AAABBBCC has only 2 context switches whereas ABCABCABC has 8.
And the throughput in AAABBBCCC is 1 project in 3 days, where ABCABCACB has a throughput of 0 projects in 3 days. In a business where cashflow is important, that 3 day throughput is more important than the overall 9-day throughput.
It's also not just a matter of hiring more people and assigning them each a task. Sometimes there just aren't enough tasks to do that. It's much more efficient to just have 1 person multi-task instead, even if each task is less efficient than if done by itself.
It's not just "people who say" there are actual studies.
Merlin Mann had a good (short) podcast about this subject back in 2005 (but sadly, I cannot find the Odeo-hosted track any longer).
"“Multi-taskers” are really just splitting their time and attention into smaller slices than you; no one can really do more than one thing at a time."
Also, I question the scientific basis for suggesting that no one can do more than one thing at a time. My understanding is that the brain is massively parallel, so it seems likely to me that it is capable of running background processes in parallel with foreground processes. It's probably true that only one task can have conscious attention at a given time, but that doesn't mean that we can only do one thing at a time.
Please note, I am completely unqualified to make this observation, being only a software engineer, but it seems to hold true in my own life, so...
There are tasks which can be done simultaneously, due to the fact that they use different parts of the brain. Starting at a low level, e.g. breathing and driving a car; changing gears while steering your car; listening (and paying attention to) a radio program while driving; etc.
But this gets inefficient when the tasks start to overlap cognitively, e.g. talking on the phone while driving (which is why it's unsafe to do those two things at the same time -- has almost nothing to do with hands-free vs handheld IMO).
I'm not saying you shouldn't context switch. I'm not saying you shouldn't do two things in parallel. I'm only saying that you should know the cost.