I sometimes hear colleagues complaining that they can't get anything done, because they have too many tasks in their head. I've found that in order to increase the efficiency of my work I need a moderately large selection of pending tasks. This allows me to match the type of work I can do at a given moment with a task in the most optimal way.

Let me be clarify. Tasks that pass through my hands differ in requirments on concentration, time, location, and facilities. By juggling around tasks from a rich selection I can ensure that I often get a the chance to optimally match a task to chance I have to work. Consider, for example, requirements on concentration. It would be foolish to spend some quite hours in my office spell-checking a document, or coming up with a complext algorithm at a busy airport gate. Working on those tasks in the other way round makes a lot more sense.

Here is a list of typical work environments I find myself in and corresponding examples of types of tasks I try to keep at hand. The point to efficient multitasking is to match each task as closely as possible to the available work environment, planning ahead to have appropriate tasks available for upcoming work environments.

Work Environment When/where Suitable Tasks Low concentration; interruptable Plane

Airport gates

Train

Boat

Waiting for an appointment

Eating alone

TV playing in the background Sort email

Spell-check documents

Take care of beaurocratic chores

Annotate photographs

Experiment with new software

Web surfing

Optimize graphical designs Medium concentration Work office (during work hours)

Home office (when others are awake) Fill-in pre-designed code

Fill-in outlined text

Implement test cases

Answer routine emails

Copy-edit printed text High concentration Home office (when others are asleep)

Work office (very early or late) Create an outline for a new publication

Debug code

Software design

Devise algorithms

Read complex papers Broadband access Work

Home

Near WiFi hotspots Download email

Bibliography research

Work on code under configuration management

Access issue databases

Work on remote computers

System administration

Catch up with older tasks that required broadband access

Keep up with news Lack of internet access In more areas than I'd like Write code

Write articles

Review books and articles

Organize files Proximity in an area A specific building or office Meet people

Distribute articles and magazines

Fetch/send out snail mail

Sign paper documents

File paper documents

Return loaned items No laptop Bus

Traveling very light

Beach Read books, journals, and magazines

Read printed papers Unable to read Car

Bus

Waiting in a queue Listen to podcasts

Of course, as is the case with computer multitasking, there's also the case of having too many tasks chasing my attention. In such a situation I observe myself spending more time juggling tasks and deciding what to do, than actually performing productive work. In computing this is called thrashing.