What if you managed your workday like an OS scheduler?


The longer you work in a knowledge-related job, the more responsibilities you have in a given day and the less likely you are to get any of them done. There are the five tasks you’ve been working on for two weeks that are due today, the ten things that were really due last week, the hot-button item that your boss invented unexpectedly this morning, and the ever-present backlog of stuff that you have to do sometime if you ever get the chance. Plus there are constant meetings, hallway conversations, instant messages, and emails. So…many…emails.

The worst part of this phenomenon is a nagging terror that of all the things you could be working on, you have chosen exactly the wrong one, and you will never get on top of anything ever again. (As you sit worrying about this, eleven urgent emails roll in.)


All this existential workplace angst boils down to a question of priority: what is the one best thing you should be doing right now?

There’s something else in your cubicle that’s constantly asking itself this question: your computer. Its CPUs have lots of tasks to handle, like the instant message you’re answering as you download an email attachment, all while your antivirus software runs in the background. The computer’s operating system has an algorithm called a “scheduler” that spends all day handing out pieces of tasks to the CPU, like a digital Oprah. (“Everybody gets a task!”) And in general, your computer does a great job of knowing how important your mouse click is compared to the antivirus scan, as well as balancing all the other computer-y things that are going on. It’s too bad you and I don’t have scheduler algorithms in our heads!

Just kidding, we totally do.

You are the algorithm

Every time you make a to-do list, you’re using a scheduler algorithm to make decisions about your priorities, even if the algorithm is as simple as “Here’s a new task – let’s put it on the end of the list!” The problem with that method, of course, is that some new tasks need to go at the front of the list, others belong somewhere in the middle and your priorities constantly change, even throughout a normal workday. Over time, your carefully planned to-do list disintegrates into a dysfunctional collection of “things to do NOW” and “things to do RIGHT AFTER NOW”. Surely there’s a better algorithm out there to manage tasks, right?

Let’s ask our computers! Although the data structures a computer uses to implement scheduling are too complex to help humans make quick decisions, the underlying principles are still valid. After a little trial and error, I came up with a short rubric to help make some sense of our crazy task lists.

The Four Laws of Task Management (according to your computer)

As in Isaac Asimov’s Three Laws of Robotics, the First Law supersedes the Second Law, and so on.

First Law: Give preference to the most urgent tasks

Computers sometimes have to use complicated heuristics to figure out what tasks are most important. You, on the other hand, have a pretty good intuition about what your most mission-critical tasks are. If a task is marked “DO THIS OR GET FIRED”, followed by a thousand red exclamation points, you should probably devote your attention to finishing it as soon as possible.

Second Law: Give preference to shorter tasks

In computer-speak, this is called “increasing your throughput.” Your throughput is the number of tasks you can get done in a certain amount of time. High throughput gives the people interacting with you the impression that you are more responsive to their needs, makes you feel more accomplished, and clears more tasks off your plate. Obviously, your throughput is higher if individual tasks are shorter.

Third Law: Give preference to tasks that involve waiting on other people

“I/O” (input/output) in computer terms means interaction with an external component like a keyboard or disk drive. From your perspective, an I/O-heavy task might require a little bit of work from you, then a long wait while somebody else does something, then some more work from you and so on. If you prioritize these kinds of tasks, you can get your little bit of work done and then accomplish other things while you wait. This strategy increases both your throughput and also your bandwidth. (“Bandwidth” is the number of tasks you can be working on simultaneously. Your personal bandwidth is probably a lot lower than you’d like to believe.)

Fourth Law: Give preference to older tasks

A task that is low-priority today might be more urgent tomorrow, as a deadline approaches or the boss asks for an update. In general, tasks get more important as they age.

If you apply the Four Laws to your to-do list in order, you should get a pretty well-organized task list. (A computer would take this idea a little further by assigning some sort of “priority rank” for each task based on how urgent, short, I/O-heavy and/or old it is, and order the list based on the total numbers. This would help avoid several problems, like potential starvation of long tasks under the Second Law: as a long task gets older, its priority rank would increase based on the Fourth Law, eventually causing it to outrank short tasks. But this optimization isn’t as necessary for humans – we just need general guidelines for which of fifty tasks to do next.)

When you feel overwhelmed by all the to-do items at work, stop for a moment and run through the Four Laws. (What do I need to accomplish that falls under the First Law? How about the Second?) Going back to the opening example, you might apply the First Law and do your boss’s hot-button task first, then answer a batch of quick emails under the Second Law’s shortest-job-first principle, then work through your five prominent current tasks in reverse order of age under the Fourth Law.

The goal is not to get every task in the perfect order. The goal is to avoid panicked wheel-spinning by providing a basic hierarchy of tasks. Hopefully, at the end of each day, the Four Laws will leave you with a feeling you may have forgotten: that you’ve accomplished something worthwhile.

Don’t minimize the importance of leaving work with that feeling. After all, you’re not a computer.

What if you managed your workday like an OS scheduler?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s