Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
News

Multitasking Harmful To Productivity 333

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 ..."
This discussion has been archived. No new comments can be posted.

Multitasking Harmful To Productivity

Comments Filter:
  • 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:

    1. The appearance of responsiveness (person who called got to talk to a human instead of voicemail)
    2. 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?

  • by Pedrito ( 94783 )
    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.

    Oh well, just seems obvious to me. I'm suprised to see it as "news."
  • 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/

    Michael

  • exactly (Score:2, Insightful)

    by zephc ( 225327 )
    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.
    • Re:exactly (Score:2, Interesting)

      by Lunastorm ( 471804 )
      Isn't eating while you code multi-tasking? Therefore, multi-tasking does work making the article complete hogwash!
      • Re:exactly (Score:2, Interesting)

        by mini me ( 132455 )
        Eating is mearly a simple daemon process. While it takes a few cycles, and a small amount of memory, the context switch isn't noticeable.
    • 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.

    • Costs (Score:3, Insightful)

      by Lemmy Caution ( 8378 )
      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.

      Anyone else notice anything similar?

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

  • by HerrGlock ( 141750 ) on Monday August 06, 2001 @04:02AM (#2114443) Homepage
    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.

    Multi-tasking? What's that?

    DanH
    • 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.
  • Old debate (Score:2, Interesting)

    by anpe ( 217106 )
    This is known since Taylor :
    a worker that is specialized in a single movement is more productive than another doing different things.

    But this is only true in a short term view :
    The fact that workers feel less considered will bring less productivity and a bad feeling about the company.
    • Re:Old debate (Score:2, Informative)

      by Ubi_UK ( 451829 )
      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.
      • Re:Old debate (Score:2, Interesting)

        by anpe ( 217106 )
        I was not just talking about RSI.
        To quote this article [human-nature.com]:
        The attempt to humanize management theory in the work of Elton Mayo and his followers, [...], focused on the environment of work and reached the conclusion that
        environmental conditions and morale were as important as the behaviourist categories on which Taylor had concentrated.
        My point was that scientism made Taylor consider the worker as a non-human entity.
        Behaviourists as Mayo demonstrated that human factors were important too when studying productivity.
  • 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>

  • by possible ( 123857 ) on Monday August 06, 2001 @03:26AM (#2120104)
    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...

    Chad Loder
    Rapid 7, Inc. [rapid7.com]
    The next generation of network security products

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

  • The reality is (Score:3, Interesting)

    by q-soe ( 466472 ) on Monday August 06, 2001 @03:26AM (#2122742) Homepage
    Some thoughts from my workplace

    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...
  • I keep landing with employers having "open space" offices. Granted, it's my fault for not finding better.

    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.

  • I find it astounding that the "division of labor" process, focusing on one things done well to increase productivity, is such a surprise to CNN.

    Maybe they never read Human Action by Ludwig von Mises [mises.org]

    Being it doesn't have any pictures, I doubt that any CNN reporter or producer would be interested.

    Bob-

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

  • A high level of interrupts is bad for throughput, too.

    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

    Beward of people offering absolute answers to fuzzy questions.

    -Erik

  • I can multitask reading books better while sitting on the ceramic throne than I can while watching TV or while replying to /. articles. So that's where those books stay most of the time.

  • by Bowie J. Poag ( 16898 ) on Monday August 06, 2001 @03:21AM (#2127663) Homepage


    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.

  • by Robotech_Master ( 14247 ) on Monday August 06, 2001 @03:05AM (#2128204) Homepage Journal
    I find myself trying to multitask a lot of the time during my free time...and usually what I'm trying to do suffers for it. Roleplay online, read net news, read Slashdot, read email, read net comics, watch a DVD movie...I guess I'm easily distracted by things.

    Oooh! Bright shiny object, sorry gotta go!

  • by neoshmeng ( 467015 ) on Monday August 06, 2001 @03:05AM (#2128205)
    Well, duh.

    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....
  • I like having several things to do at once.

    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.


    Oh well, I get paid the same either way ; )

  • Task Loading (Score:2, Interesting)

    by tm2b ( 42473 )
    This is no surprise for anybody who participates in certain sports.

    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.
    • Re:Task Loading (Score:3, Insightful)

      by Phroggy ( 441 )
      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.

      Experienced driver:
      Damn, I knew we should have taken the freeway.
      • 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.

        Steven
  • by phr1 ( 211689 ) on Monday August 06, 2001 @03:20AM (#2131489)
    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.
  • by DevTopics ( 150455 ) on Monday August 06, 2001 @03:19AM (#2131524) Homepage
    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.
    • I pointed my boss at this article to explain why I leave my phone on voicemail whilst programming. Some the best bugs have been created whilst trying to program and talk on the phone.

      He didn't listen. I just hope they never need to launch anything that contains my guidance control software.

  • by jsse ( 254124 ) on Monday August 06, 2001 @03:19AM (#2131737) Homepage Journal
    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.

    Clueless managers can be found everywhere.
  • 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.

    It all depends on what that one thing might be. For example, remaining focused on reading slashdot comments and making first posts and trolls probably isn't going to be very productive....

  • Comment removed (Score:3, Insightful)

    by account_deleted ( 4530225 ) on Monday August 06, 2001 @04:07AM (#2136699)
    Comment removed based on user account deletion
  • 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.
  • So There I Was... (Score:5, Insightful)

    by asackett ( 161377 ) on Monday August 06, 2001 @05:40AM (#2137346) Homepage
    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.

    • by pkesel ( 246048 )
      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 :)
    • by Oswald ( 235719 )
      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.
  • Isn't this common knowledge? I usually try to do stuff in continous timespans, instead of switching contexts all the time.
    • by hillct ( 230132 ) on Monday August 06, 2001 @08:12AM (#2149961) Homepage Journal
      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.

      --CTH
  • 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.

  • by Muggins the Mad ( 27719 ) on Monday August 06, 2001 @03:11AM (#2147947)

    I often have half a dozen (or more) things going on at once, switching between screens, applications,
    and even computers regularly.

    Why?

    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.

    If I couldn't multitask, I'd be sitting dumbly staring at the screen waiting for whatever task I'm doing to
    become ready for my input again.

    Sure, a lot of time/energy goes in the context switch. But it's time that's wasted *anyway*.

    - Muggins
    • 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.

    • by leereyno ( 32197 ) on Monday August 06, 2001 @06:21AM (#2149099) Homepage Journal
      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.

      Lee
    • by s390 ( 33540 ) on Monday August 06, 2001 @04:56AM (#2149151) Homepage
      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.

  • Nothing new (Score:2, Interesting)

    by 51M02 ( 165179 )
    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...
    • Re:Nothing new (Score:2, Insightful)

      by alainygr ( 512586 )
      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.
  • Don't I know it. (Score:2, Insightful)

    by Apache ( 14188 )
    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.
  • by Anonymous Coward on Monday August 06, 2001 @03:00AM (#2152034)
    Trying to think of something profound, while going for First Post.

It's been a business doing pleasure with you.

Working...