If I'm being strung along like that, knowing that my attention could be required at any minute, it is extremely hard to load a chunk of code in my head because any spare brain-cycles are reflexively spent trying to figure out if my input is required yet.
This is very much like trying to read when you're tired. You'll read 5 pages and then all of a sudden realize you don't even know what you read in the previous paragraph.
Sure you can triage your mail and small tasks and quickly do the stuff that takes 3 or 4 minutes, but I find that I often have just a few of those tasks. Certainly not enough to fill 3 hours worth of time.
Call that passive-aggressivity, social engineering or mind games, I call it just a game. Multitasking at work is tons of fun when you've practiced enough to recognize and leave all error-prone activities out of the picture. And it's very good to make people double-check their problem before they come bother you, even though you're behaving like an open and helpful guy all the time.
P.S. I'll add that if the boss had taken Ed's suggestion, all of this could have happened asynchronously in email or the ticket system. Especially if the user has been given a copy of SnagIt or similar screen capture software on their system (along with strong admonition to never "snag" confidential data) and been shown how to use it.
Screenshots (or these days I suppose, video) go into the ticket. Ed can see it's "really happening". Ed confirms and follows up with Fred. Fred responds the next time he reviews emails or tickets. Ed follows up with the boss.
Time for Sue: ~30 minutes
Time for boss: ~15 minutes
Time for Ed: ~15 minutes
Time for Fred: ~15 minutes
If Fred reviews at least once a day, boss would have his answer latest by mid-day of the following day. As compared to mid-afternoon of the same day while burning a lot of expensive time/resources.How can I focus on implementing a hard feature when at any point, someone might pull me away from it and knock down my house of cards?
Hell, even if I'm writing code and suddenly I have to actually start working on a different project, I have to commit what I was doing, and try to squash everything later, or start stashing code around, and set up the other project's environment, etc. That's five minutes eaten up already.
[1] Of course, when does web conferencing software work straighaway (whether it's a problem with the software or somewhere between the keyboard and the chair).
Maybe I don't get it since I have a BigCorp job, but I've always got tons of little things I can do, if/when I want to. That sure seems like significantly better use of the companies time. Making the argument that "well this shouldn't happen!" is hardly solving any problem.
Interruptions are a fact of life, embrace them when they can't be avoided.
I get the point, and it's definitely true, but I spend those idle minutes doing mail and other short tasks. I don't see how one can justify "well I'm waiting for you so I'll just not work for a while."
Is this common outside of the computing industry? What do other people do in their 'in between' time?