Posted
by
timothy
on Monday August 06, 2001 @02:59AM
from the better-turn-off-the-television dept.

Greyfox writes: "According to a CNN article, a person who is multitasking several things takes a hit on his productivity. Oddly enough, it reads almost exactly like a description of the problem with multitasking on computers; context switches cost, especially if you have to swap a lot of crap out in order to fit the new process into memory. So basically, an employee who can stay focussed on one thing for long periods of time is going to have higher productivity than one who has to handle constant interrupts. Now if I could get my manager to buy into that ..."

Just because MT is less efficient, doesn't necessarily mean it is
bad. While a secretary getting interruptive phone calls is going to
hurt her typing throughput, this loss is offset by:

The appearance of responsiveness (person who called got to talk to
a human instead of voicemail)

Max utilization (less idling)

Even if it means the secretary takes longer to do his work than a
dedicated typist plus a dedicated phone answerer, you're only having
to pay one person. Compare that to two people who would do their jobs
faster but idle 50% of the time.

Another way to look at it: Thanks to cooperative multitasking, MacOS 7.5 doesn't
nearly so many of those "expensive" context switches that AmigaOS, MacOS X,
Linux, etc have. But would you want to use it?

Someone had to research this? I mean, everyone in my office seems pretty aware of this, even the upper management. That's the main reason that when someone really has something pressing we encourage them to work from home.

I have several "jobs" at my job. I'm a manager, I'm system architect, and I'm a developer. There are days, primarily on the development side, when I have to work from home. When you get distracted by questions and other issues, trying to figure out exactly what you were doing, and what your whole direction was, takes time. That's wasted time.

I know myself... have a very short attention span. I am greatly effective at any one task for a few minutes, then interest fades.

By Multitasking furiously I prevent my mind from getting bored. I am typing this now; on to a work related email next, then read a bit of a book about advertising copy and layout, then to this month's Linux Journal, and so on. Some of us work very effectively this way. More of us than you would imagine, I think/

When you can sit and code for 12 hours, you are WAY more productive than if you work for 3, have to sit in a meeting for 1.5 hours, lunch with your manager, then more work, then another goddamn meeting. Eat while you code; im sure most of us do.

It all depends on what you do. Humans are great at multitasking while doing some things, but lousy at outhers. Let me give some examples....

Humans are lousy at maintaining more then one conversation at the same time. Ever tried to chat on IRC, with a friend IRL and with another friend over the phone ?.. its almost scary how bad that works.:-)

Humans are great at multitasking when it comes to fysical activities. There's no biggie talking to a guy on the cellphone and walking at the same time.. or riding a bike.

So my conclusion.. is that we are lousy at doing the same thing more then once at the same time. This is actually the exact opposite to what computers are good/bad at. Puters prefer to do the same thing many times, like running 5 netscape versions.

The question is, however, whether the difference in productivity between a mono-tasker and a multi-tasker is greater than the cost of hiring additional mono-taskers to fill in the void created by the dedication of staff to one-and-just-one function. And whether the perspective gained by having people work on a variety of tasks - giving them more of a birds-eye view of the organization's needs and goals - has any value that might be lost by creating an organization of super-focused people.

I suspect that, except for the staff geniuses and the people focused on make-or-break tasks, the answer is often that the productivity costs of multitasking is offset by its benefits.

What i mean is if a person is trying to multi-task 5 different tasks during the 8 hour work-day then this might be true.

Personally I do a lot of multi-tasking as in i'm involved in at least 2 (ideally 3) different coding tasks. I actually find myself to be very productive that way.

This was actually something i recently realized. One of the projects i am involved with was put on hold due to configuration problems with new hardware that was installed, leaving me to work on a single project until the hardware issue is solved.

I find myself getting extremely bored and tired of this single project after about 5 hours or so. I end up not being able to concentrate as well and my motivation level drops considerably compared with its level at the start of the day.

Problem is that while your manager probably understands that each task, focused on singularly, will be completed sooner (in total hours spent), s/he cannot help but want to appear to be making great strides on two or more tasks simultaneously -- even if the total time expended increases.

Regarding context switches...as a student in 1988 I read research on response time related to productivity that concluded system response times over 1 second caused the user to switch from task mode to "what's wrong with this ^#^%*#@ system mode" (or something perhaps more refined). The research likened the users focus to a stack of steps and any noticeable delay (interruption) would cause the stack to pop prematurely. Then the user would have to spend time and mental energy to rebuild the stack once the performance issue was overcome.

So, togther, this explains why when I'm working on a remote development server that starts dropping packets I switch to Slashdot and, with the new context stack, "forget" to switch back until interrupted by my boss walking in to ask about my progress on the three concurrent hot projects...

Four radios, talking to six people, a co-pilot, maps, weapons systems, mast mounted sight, scanning for other aircraft, while on a screenline looking for bad guys, setting up relief on station and tracking the movements of everybody.

And sometimes pilots will fly smack into a mountain, in daylight and in clear air, because they were too busy with all those instruments and radios to look out the windscreen. Nobody's fault but the system designers. 8-(

However, most modern piloting tasks don't require deep thinking. Try doing all that, or even half of that, plus taking a star sight and working out your position with sliderule and nav tables... That's why large airplanes used to have a four man flight crew -- two to fly, one to watch the multiple engines, and one to navigate -- and small airplanes didn't use to have that many distractions. E.g., Lindbergh could center the controls and take a star sight without worrying about running into anything over the Atlantic ocean.

There is a nice article [joelonsoftware.com] on Joel [joelonsoftware.com] called Human Task Switches Considered Harmful explaining how context switching is extremely damaging for programmer's productivity. He of course does not have any statistical data to back it up with, but it is a convincing read if you have worked on more than one programming task at a time for whatever reason. Most managers who have not done programming themselves unfortunately do not understand this.

Actually no
Taylorising is making the proces as efficient as possible by analising all the steps and finding out the most efficient way to perform each step. This will also give you more effieincy, but in the computerworld that should be compared to re-examining the keyboard and placing the most-used keys in placed where they can be accessed the easiest (for windows: placing CTRL-ALT-DEL in the middle). Taylorising will get you RSI, that's for sure.

I have an office of 30 people on an NT domain with win2k laptops for everyone. I have a data center with about 12 servers running oracle, sql7, exchange, iis, etc. I have a 4 tier QA network in-house running WebLogic, Resin, Oracle and AFS. I also have a 6 machine production environment at Dellhost running Apache, JServ and SQL7. On top of that, I have a 4 tier, 9 machine production environment running at exodus with Weblogic, Resin, Oracle and AFS.

I manage all of this by myself, including all of the myriad problems from the 30 users (my mouse isn't working.... can I get a set of speakers? i need new antivirus software....), tech support for 3 versions of a software product that we don't sell anymore but still have to support, and I have to manage finding a new hosting partner and planning for future architecture of our ASP product.

I can multitask 'til my head falls off, but productivity only happens when you're allowed to actually focus on one thing for at least 2 hours. Getting your brain into and out of each mindset can take up to 15 minutes to half an hour. It's not easy, it's not fun, and overall it can lead to far too much stress from not being able to complete things on time or as completely as you'd like to.

Oh yeah, throw 4 or 5 mandatory meetings per week into that mix, and you've got my life. Yay.

<GRIPE>
A company I worked for called itself a 'matrixed organization', which is a term I had never run into before. All of the job postings mentioned the term (as in "The successful applicant must work well in a matrixed work environment") but the term itself was never defined. I assumed that the term was some MBA jargon, but was never able to find a precise definition in a reliable source.

As far as I could tell, the term covered both 'multitasking' for the individual employee (technical folk often worked on several projects simultaneously), as well as some amount of ambiguity as to the precise chain of command in the organization (the employee was responsible to several managers, but if you didn't appease the right manager, you got your head bitten off, or worse). To top it off, there was damn little guidance from management as to task priorities, until a task was severely behind schedule, at which point you got lots of 'guidance' (in the form of pestering and reprimands).

Anyone who has suffered through this kind of work environment knows that 'multitasking', in manager-speak, is just another word for 'work harder you miserable peons', often with a healthy dose of 'make sure these tasks get done in the right order, even though I don't know what that order is.'</GRIPE>

Henry James, in his Principles of Psychology [yorku.ca] (1890 or thereabouts) described the mind's multitasking and task-switching in terms that modern-day computer folks will find quite familiar.

There's a running joe that James' century old work represents basically everything cognitive scientists know today. In other words, not much new progress in the last 100 years.:) Anyways, to quote from James' book, chapter 11 (emphasis mine):

[p. 409] If, then, by the original question, how many ideas or things can we attend to at once, be meant how many entirely disconnected systems or processes of conception can go on simultaneously, the answer is, not easily more than one, unless the processes are very habitual; but then two, or even three, without very much oscillation of the attention. Where, however, the processes are less automatic, as in the story of Julius Caesar dictating four letters whilst he writes a fifth,[9] there must be a rapid oscillation of the mind from one to the next, and no consequent gain of time. Within any one of the systems the parts may be numberless, but we attend to them collectively when we conceive the whole which they form.

When the things to be attended to are small sensations, and when the effort is to be exact in noting them, it is found that attention to one interferes a good deal with the perception of the other. A good deal of fine work has been done in this field, of which I must give some account.

It has long been noticed, when expectant attention is concentrated upon one of two sensations, that the other one is apt to be displaced from consciousness for a moment and to appear subsequent; although in reality the two may have been contemporaneous events...

Hi there, I represent Prentice Hall books and I noticed you used a circumvention device via keyboard because you didn't pay us to access our intellectual property in the form of history. I will legally harass the university of Toronto and hold them and you personally responsible for our loss of potential income! If you weren't forced to receive one of our physcology books under a restrictive EULA then your stealing!

If you try to copy or post data on a website from one of our books then its also theft because we are money-grubbing assholes. We have a new service where our books are constantly updated electronically. You sign a monthly fee to access our books and when you stop paying us the fee we then threaten to sue you if you quote from any of our books. You should use this service and pay us royally if you want to post intellectual stories on the Internet and if you access this data from somebody else's computer when you don't have an account then under the DMCA we will haul your ass to prison. Thank You.

I find myself more and more multitasking (and now its not just because i have to use win2k at work - but that adds to it) the fact is that we are caught by a couple of things

1. Expectations of Users - The average user has come to expect support and help in a much quciker time frame which couples with their increasing knowledge and skills (note this in general) to produce a class of user who thinks every problem is major and they then try to fix it them selves therefore ensuring it IS a major problem.

2. complexity of systems - this goes hand in handwith the above - eveyr day systems grow more and more complex - we are in the process of SAP implementation and this is a killer on the back on WIN2k, Intranet Payroll and HR and Intranet helpdesk loggin - the number of passwords grow and there is no easy way to resolve the issue and maintain security - that means the system become more complex on a daily basis and the struggle for support staff and users to keep up with the required skills and knowledge (paid training is an impossible joke in most companies - it does not happen)

3. Time and Resources - time is a valuable concept - the amount of time in a day is finite at 24 hours and you can only work so much of it - yet i spend a lot of my time waiting for things to load and dealing with FIX THIS NOW requests for low priority issues whilst trying to fix the major issues i have - it takes longer to tell them to go away than the fix would but you have to maintain a focus. Staffing resources have also decreased - in my role its down to 1 staff member for every 100 staff and sometimes less - i have a state to run with approx 200 users and there is me and one part time partly skilled staff member who gets sick 2 days a week, so you can imagine that i dont have time to relax - 18 hour days are standard and i have done more than one 20 hour.

4. Money - the pressure of technology means that companies have to stay on top of things to survive - that means upgrades, new systems, software etc. This comes at a huge cost - SAP cost us AU$20 Million and thats only year 1 - dont forget as IT we now have to look after Phones, Video Conferencing, TV's, Boardrooms, Photocopiers, Fax Machine, Building Management Systems, Security Systems, etc etc - all this with less staff than before (2 years ago to do less i had 3 staff full time working flat out) - no money = no staff (SAP again)

SO whats the multitasking point ?

Yes staff who multitask are probably less efficient but then again hiring adequate staff to fill the roles in an organisation would mean less multi tasking and more efficiency - simple maths really.

I multitask because i have to - the headaches, backachec, half done jobs and 10000 email messages i cold do without - im efficient as hell tho - i have to be to survive and stay sane.

No if you will excuse me the 5 minutes i took to write this whilst waiting for a server to reboot is up and i have to go fix SQL - god i wish i had another pair of hands as well...

The interruptions of yammering coworkers are the hardest part of the job. The work itself, by comparison, is easy. It's finding the concentration, maintaining focus, that turn it into such a challenge.

Any employer who thinks they are saving money by doling out less square footage per "unit" is sadly deluded.

Of course, some people seem to thrive in such environments. However, when I challenge them and get them into a quieter environment, they almost always perform better. As for those who need the oversight of short walls to keep them on track, the company would be better off without them.

Multitasking is useful when you can accomplish a task while waiting for another to finish (ie, replying to email while you parse a 4GB web log on another box). If you use it to swap back and forth sporadically, then, yes, obviously it will be counter-productive.

I catch myself doing this ALOT at work. I'll code a bit, get distracted by an ICQ message, then go back to a web browser rather than my vi session, and then its all downhill for the next half hour. It's a wonder I get anything done.

The lost time usually isn't from when you _choose_ to switch tasks, it's from the interrupts, except when you are thrashing the interrupt stack in order to avoid doing real work... 8-)

There some very good parallels between brain work and computing in the 60's. A good CPU would often overrun the IO devices, and since the CPU cost half a million they didn't like wait cycles. So when it had to wait for IO, it would switch to another task, until that had to wait also, etc. The analogy is to you working on one job until you find that you need information from someone else to proceed, writing e-mail to him, then switch to another job until the reply comes back. This (task switching when on hold) improves productivity. On the other hand, when you get a phone call about some project you aren't even working on today, or have to stop coding to go to a meeting about parking spaces, you lose productivity. Likewise, interrupt-driven task switching tends to reduce the number of jobs finished per hour, and only became common when the CPU's became fast and cheap enough that you could afford to waste cycles.

Since the human brain isn't getting any faster, any situation where you are frequently interrupted is going to reduce the amount or quality of work completed. Note also that there are major and minor context switches, and the cost difference is much larger than the difference between switching processes and threads. Switching to a different part of the same project requires re-loading "registers" (short term memory), but the major context of the project stays the same. Switching to something I put away last week will probably require skimming through some of the documents to remember where I left off and to refresh my memory of the overall structure.

But the tendency to use words and analogies drawn from current technology has a long history. Popular-science accounts of the working of the brain used to compare it with a telephone exchange. At the time they were written, this was the highest vaguely relevant technology. Fifty years later, comparisons were being made with computers. Most such analogies and comparisons become misleading if you try to extrapolate from the analogy back to real life - the brain isn't a telephone exchange or a computer, after all.

Vaguely related: long ago, when the organisation I was in had far too much work for its headcount (something to do with a recession and layoffs - little changes in business) our group manager once picked on 'concurrency' as his word of the week. "Up your concurrency!" he exhorted his staff at an open meeting. A prim female voice from the back of the hall responded "Up yours."

I think that it is not so much multitasking that is bad for productivity, but rather preemption.

I'm pretty sure I work best when I have three or four tasks on my queue, that I decide when to switch among. I only switch tasks when I'm stuck on one, and need to give it a chance to bounce around my subconscious for a while. This puts the context switch overhead in what would otherwise by dead time, so is efficient.

I would agree with the basic thesis that multitasking (whether individual or computer) has an inherent overhead that reduces the overall amount of work than a simple serial-tasking method.

However, this simplistic viewpoint fails to take into account PRIORITY.

In a multi-tasked environment, seldom are all tasks of equal priority or importance. In the Real World, no two tasks have the same importance. And this is where multi-tasking wins out over serial-processing. Some jobs simply MUST be completed before others, due to either inherent attributes of the job, or priorities assigned to the work by an outside source. And a multi-tasking methodology is really the only way to efficiently process this workload.

The "most efficient" method of working varies according to the details of the workload. For those who have a low number of total tasks or where all tasks have generally the same priority, a serial system can be the most efficient, since a change in the current job's overall priority seldom occurs, and context switching is limited to times where the primary task is busy-waited. However, for environments where there are large number of tasks (and particularly where the priority levels vary greatly), Serial Processing is highly inefficient, and the context switching overhead of multitasking is more then worth the penalty in order to get "real" work done.

In my humble experience, Programmers, QA, Doc Writers, and Marketing all generally should be fit into the Should-Really-Be-Serial-Processing bin, while SysAdmins, Secretaries, and Sales derive the most efficiency in being Multi-tasking.

As always, this discussion fits the maxim:

For every complex problem, there is a solution that is simple, neat, and wrong- H. L. Mencken

Tell a stock trader that he's going to be more "productive" by simply walking over to the gentleman he wishes to conduct a transaction with, and speaking quietly versus standing elbow deep in a pit with thousands of other guys screaming at the top of his lungs and flinging gestures at other traders.

It all comes down to the work environment. For some things, like engineering, QA, R&D, a quiet distraction-free environment is ideal. For other things, where transaction speed matters more than quality of execution, multitasking is the only way to go.

As if computers have made people any more efficient in the first place. How often do I work on a paper for school only to check my email, run my TV Card in a window or listen to MP3's at the same time. Computers are more for entertainment these days than actual productivity. Although they can do that too....

Hrm... I know I listen to mp3s a lot when I'm at home on my computer, but oddly enough, it seems to help my productivity. Maybe because I need some sort of 'background noise'. Or maybe I just work faster/better when listening to music.

Well, faster definitely.... better... I know I spend a lot of time debugging stuff that I shouldn't have had to, but that might be more based on the fact that I tend to code stuff/work on web pages on little sleep.

DeMarco and Lister touch on this a bit in Peopleware. There was a relevant study done at Cornell University. A group of people were queried as to their work preferences - with music or without. They were then divided up into two groups such that each group had half "prefer music" and half "prefer none". They were then given a programming assignment to get done in a set amount of time. One group worked with music, one without. Completion percentages were about equal in each group

There was a twist in the project, though. The assignment involved inputting numbers, putting them through a series of involved mathematical manipulations, and outputting the result. The manipulations actually resulted in the output number being the same as the input number. The overwhelming number of people who realized this came from the "without music" group.

The "left brain/right brain" theorists will tell you that the in the "with music" group, the creative side of the brain was tied up listening to the music and wasn't available to make the jump of realizing the math reduced to an identity function. I don't know if that's the real explanation, but it looks like something on that order is going on.

``The "left brain/right brain" theorists will tell you that the in the "with music" group, the creative side of the brain was tied up listening to the music and wasn't available to make the jump of realizing the math reduced to an identity function.''

Seems to me I read something similar to this, oh about twenty years ago, in an article that attempted to explain why it was that more ``aha!'' kinds of discoveries seemed to come from scientists who were working in seclusion late at night. I used to work in the wee hours back then (we were working on early DGPS and SV coverage was sometimes limited to odd hours) and could understand how this could work. Few, if any, distractions from coworkers conversations, silly phone calls, working in a pretty rural setting where the radio stations tended to go off the air at night and, well, you had lot's of quiet time to work without interruptions. One could be very productive but it could be hell on anyone with a family. The problem was convincing my boss (and wife) that this was a good time to be in the office. Most of the time the boss wanted you in the office from 8-5 in addition to the times when you had SV visibility.:-( Even now, when I'm working on something at home, I often want to minimize the distractions. I find that they tend to reduce my focus on solving a problem. It's a courtesy to the rest of the family (who might actually want to sleep) to keep the music volume down or off altogether and I really don't like listening to music over headphones that much (although I sometimes do at work to reduce having to listen to some folks going on and on about their weekend golf outing).

Obviously trying to do all of them at the same time would be counterproductive, so preemptive multitasking would be a pretty bad model for a human. However, if I'm getting stuck on one particular problem, it is often helpful to switch to something else for a while until the "solution presents itself."

This probably has more in common with threads than tasks if you want to be really picky... but the lower overhead of threads might make this an excellent analogy as well.:-)

In any case, having other tasks to run while waiting on input, output or paralell processes can still improve efficiency, just don't switch tasks for no reason...

My brain seems to have awfully slow context switching. I wish I could get at the source code, I'd tune it a bit, unfortuneately God only distributes us in binary form.

I'm looking forward to the day when scientists have completely reverse engineered us. Unfortuneately, while we have the source code, noone understands the language yet.

; )

On a more serious note, when I'm writing some code and my boss sends me some stupid crap to post on our website, it takes about an hour for me to recover and get back into the same frame of mind. That's such a PITA, because he's constantly sending me all kinds of little pointless things to take care of.

For example - in SCUBA diving, especially technical diving such as cave diving or deep diving, task loading is known as a huge problem that the diver has to overcome. Not only is there the time cost of changing contexts, there is an additional cost in stress - and stressed divers make mistakes and die.

A diver will spend a lot of time training so that his or her attention isn't taken up by performing regular tasks - which is to say, so that their conscious attention doesn't have to including those tasks in its scheduler.

That basic concept also applies to driving a car. With new drivers, many of the basic decisions are handled consciously - and there are a lot of them. As you gain experience, your subconscious can take over a lot of the work, so you no longer have to concentrate on so many different things.

New driver:
OK, the light in front of us is turning red, so we have to stop. We need to shift into first, so first we step on the clutch, shift, release the clutch. Now we also need to step on the brake, slowly, paying close attention to where the car in front of us is so we get reasonably close without hitting it. OK, there, we're stopped, I can relax now.

Really experienced driver:
Hmm. I've noticed that between this light and the next light, the left hand lane travels slightly faster. If I can deek in, in front of that purple mercedes, I can switch to the left lane and gain at least three positions. I'll have to get over to the right pretty quick after that so that I can avoid the lane reduction coming up in three blocks....

One of the best things about having the +1 bonus is the ability to come in late, about a week late, to a conversation and still get your comments archived. Now weather someone ever reads the Slashdot archives is another matter entirely. So this may have been completely useless, but hopefully someone will read it.

Your analogy of multitasking in a computer and the shifting of menial tasks in everyday activities into the subconscious is kind of off base. There are significant differences between the way computers multitask and the way biological organisms multitask. In a word, it's called evolution.

Think about it this way, the tasks are still getting loaded, and it's every bit as much info that has to be loaded into memory as it ever was. BUT! The hardware has been optimized in the interium. The real analogy would be a computer that has it's hardware re-designed to incorporate the logic needed to handle those menial tasks so it doesn't have to loaded into general purpose memory and have generic logic handle it. When a task of that type comes down it's routed to the special purpose hardware and is processed much faster so it can take the next input that much faster. Learned tasks have the appearance of being easier to multitask, but it's because the hardware is continually being optimized. Moving away from a general purpose machine into a large array of specialized machines with a smart distributor to spread the tasks around may be really efficient, but it's really bad for flexibility.

Now that we've gotten the human/machine multitasking analogies straightened out, I agree with the article in that multitasking in humans is difficult when none of those tasks are related or something that is done on a regular basis.

Reduction of multitasking may be one of the big wins of pair programming in XP. Unless you're very absorbed in the task, just about everyone gets distracted while programming, even when there aren't random interrupts (phone calls etc.) coming in. The win of pair programming may have little to do with splitting the task into abstract and concrete components or anything like that. A big part may simply be that having another person next to you absorbed in the exact same task and working closely with you will keep you focused better.

I haven't done any formal XP projects but I've certainly had the experience of developing code alongside another person, and found it works very well.

I agree. If I'm programming by myself, I might interrupt myself to check my e-mail; if I'm programming with someone else, no way.

In addition, a pair of programmers working busily together look busy. If I'm at my computer, either typing furiously or staring at the ceiling (deep in design or debugging thoughts), I look interruptable.

Where I work we don't have any specific rules about this kind of thing so things happen both ways, but on the one project where one other guy and I are working side by side on a piece of code, our productivity jumps thru the roof, and not only do we get MUCH more done, the code we produce comes back from QA with almost none(or in several cases Zero) defects. I think alot of it has to do with us catching each others dumb mistakes, and i don't just mean missing ';' or other things that compilers will check (In fact we had to teach our selves to igonor such problems when the other was typing becuase by the end of the day we woudl want to kill each other) We will catch simple logic errors and flawed assumptions as the come up because each of us already has an idea of what the code will look like, and if the other does something completly strange we can discuss it and figure out if its the right thing to do, all before its ever finished. There is nothing worse than digging thru 5k lines of code looking for weird logic erros.

A discussion of "multitasking for programmers" and why it hurts is at Distraction: the one big obstacle [devtopics.de].
This is written for programmers, but it is true for everbyody who works with knowledge.

It hardly takes a scientist to notice that, after you have hung up, you actually spend some time thinking "now, what was it I was doing?" - and that it kills you even more when THAT process is interrupted again. Anyone who has been in the situation knows exactly what that does to you.

> It hardly takes a scientist to notice that, after you have hung up, you actually spend some time thinking "now, what was it I was doing?"

True. But how much time does it take you? 15 minutes, or more like 1 or 2 minutes?
I'd guess for most kinds of tasks, and most interruptions, it'd more like a couple of minutes, rather than a quarter of an hour...
Unless of course the interruption puts you off so much that you go into a Slashdot reading spree before getting back to work...

We didn't have computerized timesheet system at that time(I got to write one later) because CPU time was costy. We had given a stack of palm-size timesheet cards, each slot is a 15-minute interval.(I think newer IBMers could find this timecards in storage room, they've printed quite a lot of them)

It wasn't so bad when one day our new manager introducing 'time-slicing' time-management technique, that we had to fill in different tasks in each time slot, to prove that you've 'used your time efficiently'.

Time-slicing was a new buzzwords that days. Obviously he didn't quite catch the meaning of it.

Guess I'm lucky - but...
When I'm going insane with soem development
I simply announce that I'll be at home till it's fixed. This works because:

Because my boss understands the *real* issue - our systems working is higher priority that company policies/management fads etc.

I'm reasonable - I wouldn't do it if there's no other staff around or there is some pressing reason I *should* be in.

I already have unmetered net and enough equipment at home to do my job.

This works for me. I can do helpdesk duties because I'm not trying to do anything long term most of the time. Just trying help users.
But when I'm programming any interrupt withing a 3-4 hour time span destroys all my concentration.

Curiously - a great many comapnies in the UK don't encourage home working. They don't have a "policy" in place(!).

Come on UK management: why are so many people taking up expensive office space, polluting the planet, wasting their lives on the train, in the car or bus and stressing themselves to death when they *could* be at home 60+% of the time and actually do *more* work?

Being distracted by irrelevancies is one thing, but switching between different projects and tasks can be very productive, if done right. First off, it is tiring to concentrate on one thing for too long. Secondly, when I work on different projects, the cross-fertilisation of ideas is often very useful. Lastly, in my experience, the cost of context switching between projects can be kept very low by using standard tools, similar environments, etc.

There is some evidence that people who learn to speak several languages at once learn faster than those who learn a single one.

Computers multitask stupidly. Many people multitask naturally and creatively. The trick is to make it easy, painless, and pleasant.

Just how tiring that is depends on the task, and the person. Different tasks require different levels of concentration and impose different costs for a context change.

If the programming task is intensely related to the tools and environment, then multiple tasks that are related along those lines do have a reduced cost. But not all programming tasks are like that. If the section of code being designed and written is highly algorithmic, you may have to forget all about tools for now and get that algorithm implemented correctly. And pray you don't get interrupted during that chunk of concentration.

The part about learning several languages makes sense. But there are differences in tasks and in people. We need to adapt and adopt to make the best match between people and tasks. The only company that should decline to hire single taskers is the one with no work that is suited to single taskers. Smaller companies do tend to have difficulties doing this due to so much going on and so few people to do it. Larger companies can easily afford to have people concentrate on intense tasks (and should choose those who do it well).

.. i think. I've found that when it's something that requires brain work (umm, like coding) it's good to get long periods of continuous work. It takes some time to get into the "mood" where you just start hitting code. Also, of course, every time you start over you gotta think and "reorganize" your thoughts to the problem at hand. It takes some time too.

Interviewing for a gig with a division of H-P. The interviewing team all knew me, they all knew my work, that's why they were interviewing me.

One new age, diversity celebrating, politically correct company chick asked me, from her list of prepared questions, "Do you believe you multitask well?" So, I asked her, "Can you define multitask, so I can be sure I'm answering the question you want answered?"

"Doing more than one job at a time", she replied, "like debugging one minute, explaining an important process change to a coworker the next, and then going back to debugging." I thought on this for a moment, wondering if it was a trick question, an honest question, or perhaps an honest question that through the acts of self deception and corporate mind-fucking had become a trick question. So I figured I'd just be honest, and let the chips fall where they may. "No, I do not believe that I multitask well in environments such as this, and in fact I do not believe that anyone multitasks well in an environment such as this. When I worked at Burger King, as a teenager, I could make fries and fill drinks at the same time, but those were not mentally challenging tasks."

"I happen to think that I multitask very well, and don't find that it's all that difficult", she said to me. And it was at that very moment that I realized that I was not meant to work in the corporate environment. Which is fortunate, because I did not get that job, and I'm still self-employed. The PC company chick? She proved that she multitasked well by volunteering for every function that would keep her in meetings, all day every day, and for avoiding work so skillfully, but being seen rushing past on her way from one conference room to the next, she was promoted and now runs the department.

My point? There is a fallacy floating around in corporate America, that in order to produce more output with less time and fewer resources, we must all fill many roles. Instead of focusing on doing one job very, very well, we are supposed to compensate for the fact that jobs have been eliminated, but their roles have not. So we are expected to "multitask" -- and the harder we're expected to swap, the lower the work output, the lower the quality of it. We are never allowed to operate at our full potential because we cannot achieve the mental state necessary to do Great Work. We find ourselves staring at the same problem for half the day, only to spot it within 20 minutes first thing the next morning, before our minds are cluttered up with corporate crap.

Productivity and quality will not improve no matter how many policy changes and process controls we are subjected to. What has to change is the production budget has to rise in direct proportion to shareholder dividend reductions. We are not going to cure anorexia by starving it to death!

Being self employed, I no longer have to deal with the down-sized company (or being down-sized out of a job) and can focus on my work as long as the telephone doesn't ring. It always seems to be that client with the hairiest project who calls right at that moment when the feeling of an inspiration forming is building... and I let my wife answer the call and take a message. Gotta love it.

I agree. I notice the same principle with the VI vs EMACS debate. VIm is just a text editor and a dam good one. EMACS tries to be the all things to all people and does a variety of tasks mediocrely well. I notice with Kmail, VIm, Konqueror all opened at once, I can be more productive then using just a one size fits all app via EMACS. Same is true for Microsoft Office.

Sounds to me like you're someone who thinks too highly of himself, who couldn't adapt to corporate industry, who hides behind his 'self-employment' as a way to keep from failing in the big time. Sounds like your wife works as your dodge.

Corporations like HP grew to their stature by hiring capable people. Those people take care of the task at hand and adapt to new ones. They don't sit at their desk and say, "I make widgets. You didn't bring me an order for a widget so I can't help you." Those who really rise to the top may not get a lot of coding done. They may have in their day, but mostly now they spend all day making fifteen other people better at their jobs. They are the controllers of the clues, those gems of corporate insight that allow everyone to make sense of their seemingly mindless tasks. Those people are the ones rushing from meeting to meeting.

For the record, I've worked in a government agency, a contractor for a government agency, a small shop, a large corporation. Now I'm a consultant, though not independent (I don't care to work that hard). As a consultant you walk in and are expected to show results from day one. The person who can make or break your project is often that keeper of clues. Find that person (the real one, not the pretender) and you can save yourself a lot of time and headache.

It sounds like your definition of top is being CTO or CEO. Those are indeed jobs for multitaskers. They involve lots and lots of concurrent tasks with lower levels of concentration than some other tasks like programming involves. Not everyone is suited to be CTO/CEO.

Some tasks are just huge. That take days, weeks, months, and in a few cases even years, of intense mental concentration. It sounds to me like you fit somewhere in between... which is actually where most people are. It is the high concentrators, the ones with a greater possibility of having something like Aspergers Syndrome, a form of high-functioning autism [slashdot.org] (search google [google.com]), that multitask poorly, but concentrate effectively, and get single tasks done faster. And they are the gem holders you seek. Learn to work with them, not against them.

That PC company chick probably cannot single task very well. That is, she cannot concentrate on one single task and get the job done as quickly as possible. She probably isn't putting her mind into the work she is doing. What was her job? A programmer? I doubt it.

Multitasking abilities not only depend on who the person is (it varies from person to person) but also what the work is. Some work lends itself well to multitasking in more people, and other work does not.

Answering the phone is NOT a mentally challenging task. Your mind does not need to concentrate on it. Have you ever started daydreaming while talking to someone boring on the phone (and if it isn't another geek talking geek stuff, it probably is boring for us geeks)? That's a sure sign you have CPU cycles leftover during the task. You're I/O bound.

For some people there isn't enough CPU speed available to do the daydreaming (I'm not saying these people are dumb). These are the people that multitask well. And the reason they are able to do so is because the work they end up doing is the kind of work that fits them, and does multitask well. Keeping files organized, typing notes into a report, answering phone calls, etc, do require one to think about what they are doing, and better people do them better. But these tasks are NOT the intense concentration type of task.

If I were hiring programmers, the people that say NO to the "can you multitask well" question are the people I would want to hire because they are the ones that can concentrate on the job and get it done sooner. They are the ones with the larger cache upstairs, which is needed for complex programming.

The ones that say YES to multitasking are still useful and can still be as smart. But the tasks they are best suited to are different, like testing, tech support, sales, etc (depending on their interests).

And there are people that fall into every level in between, as well as tasks.

Beware, however, that there are some managers that expect multitasking to actually not slow down other work. I've had a manager give me a programming task on Monday asking me how when I could get it done. I said Thursday or Friday at the latest. We agreed the commitment was Friday (how nice of him). On Tuesday he had another task that was more urgent. But it could get done by Thursday for sure (it was a smaller task). But then when I mentioned that the first task would now be delayed to next Tuesday, that manager said "but we agreed it would be done on Friday". I had to respond "No, I agreed that I would have it done in 4 days and that works out to Friday if I have every day this week to work on it, which I no longer have". His next response was "Well, I already committed to (name of other team that needed first task) that it would be delivered Friday". I sure wanted to say something like "Have you lined these 2 tasks up on your copy of Microsoft Project, yet?" (actually the real reason I wanted to say that was because he refused to buy Microsoft Project for anyone in the department, including himself). In the end I had him convinced that programming tasks could only be done one at a time. But he completely forget that concept just a few days later.

Microsoft Project is probably not the answer. It is useful when used properly, but most managers can't. They toss in arbitrary numbers, then play around until the timeline ends when they want the job done -- and it doesn't have a damned thing to do with reality. To make it work, he's got to work very hard to get real numbers in there, identify ALL the dependencies, and (hardest of all) then he's got to accept the results even when they say that stuff he promised in 1 month is going to take 3...

If you do it right, the chart does show points where work can be done in parallel, and critical parts where a little extra resources can speed up the project quite a lot. However, with the typical management gloss over the details, the software is probably going to think that "If one woman can produce one baby in 9 months, then 9 women can produce one baby in 1 month." (Fred Brooks, The Mythical Man-Month) This results in completely unrealistic schedules.

I have worked on projects where project management software was critical. But if your organization is small enough that coders are usually doing multiple projects, then chances are the projects aren't complex enough to really benefit from it. That is, if you've only got 1/2 a coder to put on it and it's 500 hours of coding, then it's going to take half a year if you get him started right away, and longer than that if you mess around planning how you're going to allocate his 20 hours a week first...

Actually, he needs to do it on Project even before he makes those promises. If his boss is demanding it in 1 month and Project says it takes 3, then he has to make the case better (using the Project data). Too often they tweak the numbers and make the boss happy for now (and circulate their resume). Of course tools like Microsoft Project can be abused, or simply misused.

Too often the kinds of multitasking demanded by managers is equivalent to one woman having sex 9 times so she can have 9 babies at the end of 9 months to achieve a baby-a-month long term rate.

I've also had cases where managers wanted a project done in 1 month, and when I came back with a 3 to 5 month estimate, they dropped the project. But then they keep bringing the project up every few months as if they expect someone to accidentally say "oh that will only take 1 month". I have to end up saying "That project would have been done 2 months ago if you had started it when I told you 6 months ago it would take about 4 months." Of course some other project would not have been done.

A couple of women I work with firmly believe that most men do not multitask well. I think I might even be inclined to agree. They make exceptions for system administrators, who are probably the most multitasking people in computers. I am almost incluined to believe.

Personally, I hate questions like that. Those questions have obvious answers, and your supposed to answer them in a particular way. The test is whether you will conform:)

Of course efficiency is lost in multitasking. But some things are "I/O bound", and wouldn't really benefit from intense concentration. One example is cooking. Do you stand there and watch the water come to a boil? Some men do. I've never seen a woman do that. There are other things that can be done while the water is boiling.

It comes down to what tasks have to completely STOP in order for another task to be worked on, and what tasks can still keep on working. You only need to be aware the water is boiling and can respond to it boiling over, to be able to multitask by giving the beans in another pot a quick stir, then going back to chopping the onions.

And this may explain why women are WORSE drivers. Driving on the road is a task that requires MORE concentration than it seems to. Men just inherintly do that more often than women (perhaps with some goals, like working their way to the front of the pack). Women will try to multitask more while driving (fixing their hair, putting on lipstick, chatting on the cell phone) and overcommit themselves as well (bringing the kids).

I think I see a trend here: younger people seem more confident that they can multitask without penalty than older folks (obviously I have to guess what the ages of posters are, but I bet I'm not too far wrong on most of them).

Some of the happy multitaskers have gone so far as to proclaim the process's superiority for certain tasks, pronouncing it more 'efficient'. That's not likely, since it implies that you can do a task more quickly (or get a better result) if you do it while you do other things than you would if you did just the one thing. What multitasking frequently is is 'more useful', because many situations simply demand it. If you're supposed to type and answer the phone, it's not an option to type all morning and field phone calls all afternoon.

But here's the thing--you learn to hate it (obviously the poster I'm responding to has). First, (and this hurts, but I think it's true) your context switches get slower as you age. I don't know if it's physiological, or the result of years of distracting crap piling up in the corners of your mind, or maybe even training (my job demands a lot of focus on a few related tasks, and complete exclusion of distractions--maybe 17 years of that has affected me), Second, you get crankier about asshole employers that won't give you a free moment to get your thoughts in order. Third, over the years you build up a list in your head of the things you have irredeemably fouled up by trying to do too many things at once, and you don't want to add to it any more.

That's what I think, anyway.

re: your sig--No, I do not think I should cut my hair just because I'm now middle-aged.
Well, I did when I was 32, but now that I'm 41 (and feeling younger than before--I'll bet you're familiar with the phenomenon) I think you're right. To hell with the gray, I've been growing it back for about 10 months.

It should be common knowlege, except management doesn't often seem to make the connection between reality and most management books. There's a great book The One Minute Manager Meets the Monkey [amazon.com] all about deligating tasks to reduce the mmanager's stress level and allow him to focus. Unfortunately, This book alocates vary little time to task assignment across staff, such that your staff can focus on a limited number of tasks in an organized sequence. This is unfortunate since the productivity of a manager doesn't often ralate as directly as we'd all like to believe; to the productivity of his employees.

Unfortunately, this article is not completely accurate in its analysis. While many people have productivity losses due to multitasking, there is a sizeable portion of the workforce that does not. However, the division of talents seems to be largely in line with the division of multitasking ability.

For example, my wife is incredible at multitasking. She can be having a phone conversation, slip in a quick face to face conversation, and be filling out expense reports and travel arrangements at the same time. She can also answer a 40-line switchboard while sending e-mail and ordering office supplies online -- all within a multitasking environment. However, she cannot program a computer. She simply cannot concentrate long enough or hard enough to perform this task.

I, on the other hand, can summon the mental powers necessary for programming, and can spend hours upon hours without moving from my chair, solving incredibly complex problems. But, I can't talk on the phone and eat at the same time. I cannot even perform menial tasks simultaneously without really messing something up.

So, I think the writers and editors of this article need to take a closer look. Examine people who are in jobs that TYPICALLY require multitasking -- for example: secretaries, receiptionists, press managers, etc. They'll probably find that most of these people are extremely good at what they do, and that the multitasking doesn't slow them down a bit. It just uses up idle CPU cycles.

You got that right. I've got 18 freakin' browser windows open right now, forget about all the other stuff that's open, too. I'm impatient, and some of us can actually handle multitasking, thank you. Sure, there are some times when it slows me down, like I won't read a book while listening to something like the Phil Hendrie Show because that my brain doesn't handle very well. Then again, knowing the simps that work at CNN, it wouldn't suprise me in the least if they have one browser window open at a time, spending 50% of their time just watching that little blue ball spin 'round and 'round...

There's a difference between pausing while running one task, and starting another, and being interrupted in the midst of your train of thought. I can do just fine if I am choosing the tasks which I flip between. Start a compile in one window, run a batch job in another, start loading a program on a different terminal. But if you come along in the middle of all that, sit on the edge of the desk, and start asking me questions about some completely unreleated topic, three trains get derailed and it takes me sometimes an hour to get back on track.

On the other hand, if I try to play Unreal while talking to my Mom on the phone, she usually groks that something is up.

What you're doing is an example of cooperative multitasking. You choose when you do the context switch and which task you pay attention to next.

The problems start when you're forced to do pre-emptive multitasking. This is what happens when you're busy trying to do one thing while the phone is constantly ringing, people are coming and asking you questions, or any number of other distractions are vieing for your attention. It is at this point that productivity plummits because you're spending 75% of your time dealing with bullshit. I once worked as a tech at Fry's Electronics and that is the exact kind of thing I had to deal with. Here I was supposed to be fixing customer's computers but I wasn't able to do that because Fry's wouldn't hire enough people to handle things like customers at the counter, processing returns, etc. etc. I quit that job and I hope I never have another one like it.

Because I'm *waiting* for things to happen. Waiting for that 3 minute web page to load, waiting for that 10 minute compile, waiting for a reply to an ICQ, or whatever.

Right on. However, the researchers here seem to have a rather simplistic, one-dimensional view of multitasking.

(OK, sound research starts by validating a few simple concepts, then building more complex structures later. But seriously, eight years of research, for merely this? I guess they've got to keep some ideas in their back pockets, ready for a next round of grants.)

There are two ways multitasking can happen: chosen swapout of tasks (you mention waiting for something to finish, but it might be waiting for anything - email reply, phone callback, etc.), and imposed interruptions (phone, instant-message, chatty boss/coworker, and so on). Swapouts are like enqueue-wait swaps on a mainframe - you know it's going to be awhile before you can resume that task, so you turn to something else. Interruptions are like, well... I/O interrupts - they demand immediate attention, whether or not its convenient at the moment. Swapouts tend to _improve_ efficiency generally, and so does minimal servicing of trivial I/O interrupts. Continuing the mainframe analogy, a first-level I/O interrupt handler merely fills a buffer and posts an ACK, then exits; these don't seriously degrade scheduling. What hurts productivity are interrupts that are forced as untimely swapouts of important, hard tasks.

A long time ago, I did some applications programming in COBOL for a S&L. (Yeah, I know COBOL sucks, but it paid the mortgage and I also taught myself IBM S/360 ASM during the same period.) Anyway, I was easily the most productive programmer in the shop, because I always had at least three and sometimes half a dozen projects ongoing at once. This was back when you were lucky to get two compilations of any one program per day. So, I'd code in one program, submit it for compile, and go on to coding in another program. It was quite effective, swapping tasks that way. Of course, it also helped that the programs were usually related.

As with many things, the real issue here is empowerment. Workers who can choose when to swap out tasks and turn to other ones will always be more productive (and happier) than those who are constantly interrupt-driven and never get to take anything to a "stopping point." This seems obvious: it's why you don't have the Help Desk do any network engineering or complex programming.

This is old news. In the car industry back to the Ford T model each employees are working on a specific task and not each one working on all parts of the car making process. When you focus on one task you gain in productivity. Nothing new here...

Exactly, and it is not for more productivity that we quit the Ford working-style... but for a big social advance.
I don't want to do the same thing all day long, I think the point here is more about "I don't want to be bugged at work" than " I don't want to work multitasking"
And it would defenitely be a regression to go back to the Ford style, but yeah, bosses would really like it.

I've noticed this from my experience working as the sysadmin for a tiny ISP. For example, I'd often get calls about tough win9x/nt problems that our tech support people (both of them) couldn't solve while I'm at my desk hacking away at Perl code. In order to wrap my mind around the win9x problem (remember, it's something that two tier 2 quality tech support people couldn't fix), I had to dump all of my cached data about the code I was working on from my short term memory to make room. When I got back to the code, I would have to rebuild my problem solving information cache back close to the state it was before the call, because I'd need that information again to continue where I left off. This would usually take 1-15 minutes depending on the complexity of the call and the familiarity of the program. Given that lots of people would call me about lots of stuff, I figure that sometimes I lost at least 1-2 hours of working time per day.

If only I wasn't pulling triple duty as a sysadmin, programer, and tier 3 support... but that's another story.

I find that if I can switch between tasks (provided it doesn't require huge swapping) I work better because I can keep interested and not get bored of one particular task that just goes on and on. If I have a couple of little jobs that I can quickly complete and feel satisfied about completing them, I feel better because I'm not just working on the mammoth project that's going to take 3 months.
Also I find that in life in general I schedule my time a lot better when I'm busy, out of necessity. Last year, when I was doing uni full time, two jobs, and three amateur theatre productions in one semester, I wasted very little of my time because I couldn't afford to.

Who can't spit out the name of your ISPs mail server while
some dolt fills on the Email wizard in Outlook Express while they do something else?

I can't. I have CAPD(Central Audiotory Processing Disorder). I could spit it out, if I knew what he was asking, but that's what I can't do, make sense of what I hear. If I'm doing ANYTHING else, I don't understand what somebody is saying to me, be it hitting something with a hammer, reading a book, coding, looking at a wall, if my attention is even remotely used for something else, I can't hear people.

That includes thinking of what to say when they're done talking, or if they get me thinking of something else. It's really annoying, actually. That's why I can't do the phone-monkey thing.

It does have its advantages, though. I'm not easily interrupted when doing work, I don't hear people talking to me when I don't want to, it's not ignoring, it's involentary, but convenient at times. I have not trouble visiting my own little world.

Hmm, that's interesting. For me, I can't use a form of languages on two tracks simultaneously. I can't talk and listen, or talk and write, or listen and write, or read and listen, or read and talk (unless I'm reading aloud) at the same time. I can jump back and forth between two tracks with no problem, and a little bit of overlap is fine, but I can't maintain two tracks of language usage for more than a few seconds.

Doing tech support, this means I can't listen to a customer while taking notes - I have to wait for a pause in the conversation before I can take my notes (or put them on hold, or whatever). If I try to take notes, I can only get a few seconds before I can no longer hear the customer - needless to say, this is rather embarassing, so I try not to do it. Fortunately my boss was somewhat understanding, so I never got in serious trouble for having a low call volume.

I wonder if I have a milder version of what you describe? I've never talked to a doctor about it; this is all just from my own personal observation of myself.

Hmm - I thought it was just me. I can't read aloud very well. If I read aloud a newspaper article or something similar then I manage to get across the essence of it, but a lot of the words will have changed.

It's as if I translate the words into whatever chunks I use for my mental processes, and then translate these back into words when I speak. Probably most people do the same, but I think that whatever I use for my chunks is probably a bit further from words than most people, and that from any of my chunks there is no clear way back to any specific word, hence the same meaning/different word type thing.

This is supported by my poor performance at things that require some verbal skills: I can write well, have a large vocabulary, but am often stumped by some of the word puzzles you get in IQ tests and the like. Things like "what word has the letter sequence 'WKW' in it?" and the like. I just don't think like that.

On the other hand the sort of puzzles you get where "next shape in the sequence" I find trivially easy.

You're normal. No one (well, _very_ few) can listen well and do other language processing simultaneously. Listening well is a critical skill that mostly requires paying close attention. Many people use that time, not really listening, but thinking about what they're going to say next, or worse, interrupting the person speaking before they finish their thoughts (this is inexcusable, but all too common).

But hell, I can't read fine manual print and see a projector screen at the same time - I need two different pairs of glasses, and have to switch back and forth. (I also hate fuzzy PDFs onscreen, so boycotting Adobe 'til Dimitry's actually released is just fine with me!)

There was significant evidence a while back (and I can't link to it... grr where is it)... that women can listen to two conversations at a time because their brains are developed differently -- both hemispheres of the female brain respond to audio, but only one hemisphere of the male brain does.

This suggests that women would be great at multitasking and also an explanation of why they expect us to listen to them when we're busy.

I think I have the same problem although it sounds less acute. When my wife talks to me I can't hear her. The disorder seems to be hereditary because my kids can't seem to watch tv and hear their parents either...

Funny, I got so much more done back in the days when I used a command line than with this BSOD showing up all the time.

IMAO, one of the biggest hits to productivity is/. itself. How many times a day do you check for new articles and post comments? I have no doubt that it helps as well, providing links to patches or warnings about the latest l337 h4xx0r virii, but it has to cause a hit to productivity at some point. (Unless you're a marketing weenie, of course, they're not productive to begin with.)

Yeah, you tell yourself that women are good at multitasking the next time you let your girlfriend drive and when she's looking for a particular street sign, she starts screaming at you to turn the radio down. Come on!:)