Human Multi-Tasking

I’m always amazed by how many simultaneous tasks software developers are given. I run into people all the time who are assigned to one project but also working part-time on one or two others, and on call to do a bit of maintenance on the last program they completed, or sales support of the need arises.

The human CPU is very inefficient at multi-tasking. We seem to switch gears well, but it’s all an illusion. Of course, we don’t let our inefficiency show. We don’t betray the fact that task one, just interrupted, is still churning on in some corner of the brain, making it impossible to pay attention to the guy who is throwing tasks two and three at us. We smile and nod, not to look stupid. He goes away and we try to remember what task one was, but it’s lost. And tasks two and three, well, they’re floating tantalizingly in recent memory when the phone rings and task four comes spilling into the ear.

Frustration and context switching are bad for team dynamics. Teams are an obsessive business. This means you and your teammates have to be allowed to be obsessively involved in one commonly owned subject area.

The sine qua non of team building is that each and every member has to be full-time on one and only one task, the task that defines the team. A group of split-responsibility, fragmented, and frustrated co-workers may be called a team, but they will never go nova.

Tom DeMarco, “Why Does Software Cost So Much”, Essay 6

No Comments