Here's my problem: I find switching tasks, on the scale of hours to days, to be agony.
I am productive and feel good when I'm working on the same large project for, say, two weeks to two years, pretty much every day. (Releasing early and often, of course. ;) I have momentum. I get started the minute I get out of bed, and I have all the context there in my head, so I'm productive immediately. After the work day, my subconscious mind is merrily cranking away, understanding the problem more deeply, finding simpler solutions, seeing connections and opportunities. I track lots of little tasks and merrily bring them to completion. I've done this happily at several software companies.
Two or more simultaneous projects, though, and I have a problem. At a couple other software companies, I was a very bad employee: looking back, those were places that booked your time "50% on this client's project, 50% on that client's project" (or more subdivisions, even). Every time I switch projects, I have to exercise extreme willpower to absorb the situation and see what needs to be done. Each ramp-up takes a couple of days of agony to get some momentum. My subconscious creativity shuts down. The mental context never becomes rich and fertile. Work is just an attempt to force myself to do some error-prone hack. A couple days or a week later, it's back to the first project. After a few weeks of this, my head gets "noisy". I find myself losing track of details, unable to concentrate, making lots of dumb mistakes, feeling foggy and confused. Reading becomes slow and difficult. I find myself becoming stupid, lazy, and unimaginative, always craving some quiet time. Or better yet, some sustained focus time.
Right now, I'm in grad school (Ph.D., 2nd year). Grad school, it turns out, consists of running four projects simultaneously: three classes + teaching one class (or helping teach). It's all hurry-up-and-do-something-else. Each day is broken into three or four blocks, about one to two hours each: attending a class, office hour, grading, actually doing some classwork, blah blah. Each week is broken into about 20-25 blocks like this, sprinkled among the four projects. I seldom get much done during these blocks; they're too short to build momentum or finish something. The real work happens during all-nighters: dropping everything, force-feeding my brain for a couple days, delivering something hurried, and then flushing it out of my brain to catch up on the other stuff. (I remember almost nothing from my courses, even though I get A's.) I find this agonizing, unproductive, and demoralizing.
How have you dealt with this in your own work? Even outside of grad school, "makers" have to deal with "manager time". Don't start-ups involve constant context-switching? (Maybe it's not as bad as grad school, since the contexts are related.)
(If you know of any grad schools that run on "maker time", I'd love to hear about that.)
When this starts to happen what I do is start making my own private scrumm burndown chart at the beginning and end of each day by adding a few rows to a spreadsheet with the estimated hours remaining on each of my development tasks along with a note on how I actually spent my day. I then review this with my boss and ask him whether or not he thinks I've been prioritizing properly and leave it up to him to adjust everyone's expectations (which is usually easy because I make sure to keep good records and structure our communications).
But while I'm fortunate to be working in a good team, there's no denying the psychic toll of constant task switching is disruptive. Unfortunately I know of no easy solution other than to spend the time to re-focus. Sometimes it can take a whole day of just re-reading code, making notes and fiddling around writing and rewriting little things before I can get back into a solid productive development flow.