Let's step back and define multitasking. It is "performing more than one task simultaneously." Although that might seem obvious, multitasking also includes switching back and forth between tasks. Some people might say "Hey, wait! I'm great at multitasking!" For those individuals, I encourage deeper analysis on the quality of output and time required for those tasks. In the past, many believed multitasking was a good way to increase productivity and it was a skill that could be taught. This resulted in many confused, disoriented, frustrated, and burned out individuals. Some researchers suggest that multitasking reduces productivity by up to 40%! That might seem high, but even 10% less efficiency is still moving in the wrong direction. Why is this? Multitasking impairs cognitive abilities by overworking the brain. It creates extra stress that, although not always visible, takes a toll on the human body.
Rapidly completing different tasks and/or moving between multiple tasks creates a drain called "context switching." This is the wear and tear of continuous readjustment. As one moves between tasks the brain attempts to maintain multiple cognitive states at once. Unfortunately, the brain isn't built for this because it struggles to inhibit distractions. Some simple tasks such as listening to a conversation and writing down a note might seem feasible, but that is based on complexity. The attention required for a task is directly correlated to its complexity. In programming there are few tasks that do not require a high level of concentration. Insufficient attention during the designing, programming, or debugging phases all have negative repercussions. Context switching is further compounded as a programmer moves from project to project, feature to feature, and language to language. Each one requires different information which adds further mental load and increases the time invested.
So how do we fix multitasking? We do more with less. We need to identify multitasking situations and break the habit. We need to focus on one task at a time. The following is a brief list of suggestions.
- Reserve a time during the day to be "wired in." This can be accomplished with business hours or designated quiet time. This creates low and high periods of distraction. Be sure to take on lighter, easier tasks during potentially high distraction periods.
- During high cognitive load find ways to reduce distractions. This can include setting a smartphone out of reach, shutting down email for a while, etc.
- If distractions are unavoidable, stop working on the current task and give the distraction one's full attention. Once it has been resolved, go back to the previous task. Do not try to balance both activities.
- With the exception of debugging, try to limit the exposure to multiple technologies at once.
- Try to avoid back-to-back meetings. Downtime is important for concept hardening.
- If the temptation to multitask is due to a lack of time and an abundance of tasks, define what is important by prioritizing tasks. Also, review if any obstacles can be eliminated or tasks offloaded.
- Maintain an ongoing list of tasks. The impact of a distraction can be mitigated if it can be offloaded to a future task.