How Context Switching is killing your productivity at work




Multi-tasking is something that is part of our daily lives. We watch TV while we eat. We converse while making food. We listen to the radio while driving. Harmless enough right? Then why is multi-tasking at work such a productivity killer?

Context switching is form of multi-tasking where you'll stop working on a task in lieu of another. This is most commonly due to external factors which can vary from a simple phone call or email all the way to changing of requirement priorities. The thing that we usually don't realize is how much time is actually wasted when jumping from task to task. Ever have the thought "now where was I again?" after finishing a conversation or an email reply?. This is the silent killer that I'm talking about. There is usually an amount of time lost trying to get back into the mindset or rhythm of the previous task.

The place where I've noticed that is most heavily affected by context switching is the Support Desk. The problem with support is that tickets don't enter the queue at a consistent rate. To make matters worse, the priority of tickets coming in cannot be predicted. So if you're busy with a low priority task, and a high priority task comes in, you'd usually end up dropping the low priority task mid way to take on the high priority task. Then, add in the Skype messages, emails and phone calls and you've got a recipe for disaster.

The problem doesn't only lie with the Support Desk however, it can also crawl its way into project work. This can be the result of poor planning or a product owner that does not have a clear road map of what they want to achieve. For example, if on day one you get a project that the client says is urgent, and then day two you get a different project that is supposedly more urgent than the first one, all the time taken to ramp up for first project will be lost as that same ramp up time will need to be repeated when the first project is revisited in the future. 

So how does one avoid context switching? There's no clear cut way to avoid context switching, however there are steps that you can take to reduce it's impact on you and your team.

If you're working in support, I suggest:
  • Weekly prioritization meetings either with your client (if all your issues come from a single client) or with your team lead. The idea would be to identify the highest priority (burning) issues on your backlog and to set of goal of how many of these items can be completed in a week. One needs to take into account that another, higher priority item can randomly fall on your plate. But, as best as you can, start and complete one issue at a time. 
  • Do not let another burning issue get in the way of completing the burning issue you are already dealing with. If the work is too much, say something to your lead/manager. A closed mouth does not get fed.
  • Close your email inbox and only check them once every hour or two. The same with Skype. This way, you're guaranteed at least an hour of uninterrupted time to complete your task. If the person emailing or Skyping you really has an issue or question that is urgent, they will phone you.
If you're working in a project, I suggest:
  • Ironing out a project road map with the various stakeholders or product owner. It should be clearly visible what project is being working on currently and what projects are next in line. A weekly or bi-monthly review meeting can be used to change priorities of projects that are next in line, but not the project that is currently in progress. This way, there should be very few projects that pop up suddenly.
  • Push back on de-prioritizing in progress projects. Rather consider de-scoping nice to have features and deliver a "wheelbarrow instead of a Ferrari".
  • Ultimately, if the if the current in progress project needs to be shifted out, it just needs to be shifted out. But it is important that the lost of time is raised with the stakeholder/product owner due to the context switching.
Do you have more suggestions? Do you have a different opinion on how context switching can be minimized? Let me know in the comments :)



Comments

Popular posts from this blog

Integrating Code Syntax on a Blog or Website.