views:

501

answers:

12

Working in an environment with both development and support aspects, sometimes it can be very difficult to switch back and forth between tasks - usually on totally different systems.

I personally make notes as I'm working on stuff in the mind-mapping tool, Freemind. I find this does minimise the effects of context-switching - I can quite quickly pick up where I left off - but I'd be interested to see what everyone else does.

A: 

Hm, I never thought actively about optimizing my context switchs. I usually have lots of notes flying around with the current state of something I'm working at.. not very professional, I know :). Thanks for the idea of using a brainstorming/mind-mapping tool for that task.

VVS
A: 

I think the best way to minimize effect of context switching - is to minimize count of context switching operations.

For example dedicate one or two hours of continuos work to some subject, then check email and IM.

elephantum
A: 

The context-switching certainly decrease development productivity, what i like to do is to set specific time for development work and the rest of my time for other activities such documenting, supporting applications, etc...

try to check this out.. Human Task Switches Considered Harmful

Fred
+2  A: 

Recently I've started using a great little free windows app called NextAction, which is essentially a hovering semi-transparent notepad.

It's greatness comes from it's simplicity and it really helps to refocus and stay on track when dealing with all the days unavoidable distractions ... email, co-workers, scrums, rss feeds, twitter, lunch, coffee breaks, etc. Having a list of what I should be working on always there on the desktop makes it very easy to refocus after any context switch.

Like the FreeMind tool you are 'parking' your thoughts in such a manner that it's very easy to pick up thought processes from where you left them.

brodie
+1  A: 

It sounds like you may be in an environment where your work is somewhat interrupt driven. If that's the case, you may be best off trying to control the interrupts or at least how you respond to them.

If you are able to delay responding to the interrupts by 30-40 minutes, you may want to look at the Pomodoro Technique. I'm just starting to use this myself, and I find that it has helped me maintain focus on whatever task I am working on. I basically commit to doing a task for 25 minutes. I set a timer and then do it. After 25 minutes, I take a break, and then commit to another 25 minutes either on that task or some other task.

Jim Olsen
+4  A: 

To avoid disrupting my work and concentration, whenever something comes in that requires that I do it later, I just write it down in my big notebook. Takes 2 seconds, and then I can get it off my mind.

Each entry begins with a little square. When I'm done with whatever I was doing, I go through the entries with an empty square and either "transfer" the task into some better task-planning mechanism, or do it right away. Then I can tick the task off.

This comes from the Getting Things Done method.

Carl Seleborg
A: 

I tape an outline on the floor of the body of the last person to interrupt me. This tends to discourage others from doing the same.

DGentry
Adding a dark stain to the carpet also works well :=)
devstuff
A: 

I've finally learned to close my email reader for most of the day. Email communication usually involves too much of a time commitment to do properly: I generally have to swap out the entire technical task that I was working on. Anyone who really really needs to talk to me knows where I sit or will IM me.

Needless to say, I am usually "away from my desk" if the phone rings.

Bob Cross
A: 

Exit all instant-messenger applications, kill the e-mail, and put a small piece of black electrician's tape over the message light on your phone, if you can't avoid having one on your desk.

For walk-up customers, invest in the largest Nerf gun you can afford; that tripod-mounted belt-fed automatic backing you up will make them think twice about bothering you.

Kent Brewster
+1  A: 

If you are able to work with Eclipse most of the time, a very good tool for implementing context-switching is the "Task-Focused UI management and automation", also known as Mylyn. Whenever you switch between tasks, everything you were working on in Eclipse the last time you worked on that specific task is automatically fetched for you. And not least, when you're finished with an interruption, you switch back to the previous task, and everything is back in place.

Ola Eldøy
+1  A: 

Mylyn is perfect for minimising context-switch problems, if you're using Eclipse. You hook it into your issue tracker and version control system, and it'll show you a list of all your work (from the issue tracker). You pick the item you need and start working on it. When you need to switch, you pick a different item and it'll close all the currently opened files and provide a fresh view. If you pick a previously worked on item (switching back), it'll display all the files you had open last time.

so: Mylyn FTW.

GaryF
A: 

I don't think you should attempt to avoid the "random" work, but structure it.

This usually means predicting it and planning for it. This month, I'm playing configuration manager (build , deployment, and QA environments). This team tends not to plan QA requirements ahead of time, and I drown in ad hoc requests. I counter this by interviewing the the team early in order plan for them. Also avoid being essential - ensure that many other people can do what you do themselves.

My how-to-tip: Use your inbox by keeping it closed most (not all) of the time. Tell everyone needing something non-critical to send an email. Open and process it no more than once every 1-2 hours. The term "processing" email have been used: respond quickly or create to-do items for things you can't do immediately. Most people prefer a quality response in an hour to junk right now.

Note: I don't have this problem licked yet, either, but I'm getting closer.

Precipitous