Recently I had a pleasure to give a talk in SprintML lab, where I do my PhD, about time management and work-life balance. Ironically enough, I could not manage my presentation time, and not the full message was conveyed. I’ll try to compensate for it here.
TL;DR: Keep a list of tasks, make notes, also calendar is useful.
All insights in this blog post are taken directly from the book Getting Things Done (GTD), by David Allen. Without any exaggeration, it changed my life. I aim to provide just a set of general ideas about what time management is really about and how to do it well.
If you find this post interesting, and would like to apply some parts of this system, I strongly recommend you to read the book (I’m not in any way affiliated with Getting Things Done®, nor do I receive any benefits from recommending their product).
Observations
You’ll die. Some day. This is not a threat, this is just the reality you face. What can we reason from it?
Your resources are limited
Especially your time. There is a finite number of seconds that you’ll have a pleasure (I hope) to experience. This also means that the number of things you can do in your life is also limited. This brings us to the second point.
You want more than you can
This is another realization. You (maybe) want to stay healthy, (maybe) live a balanced lifestyle, (maybe) have a successfull carreer, (maybe) start a family, (maybe) travel the world, (maybe) try out every restaurant in your town, (maybe) meet with all your friends at least once a year, (maybe) build a house, (maybe) try out 100 different hobbys. The list can go on to infinity. I assume that this is the case for you.
What came to me as a insightful observation is that once you reach a certain level in your life, e.g., carreer-wise, you discover that beyond what you’ve already achieved there’s always a next hill to climb on. So in effect, the want part could potentially grow to infinity, while the can stays relatively constant. No matter how far in your carreer path you want to travel, the time to achieve it stays roughly the same.
Management benefits the you can part
Say you want to cook yourself a nice lunch. To simplify, say you want to make fired chicken breast with rice and broccoli. You know that cooking the rice takes approximately 20 minutes, preparing the chicken to fry takes you 10 minutes, frying takes another 10 minutes, and you can unfreeze broccoli in your microwave in 5 minutes. With a proper time management, assuming you can parallelize the actions, you can make the lunch in 20 minutes. Without any time management, in the extreme case it would take you 45 minutes, more than twice the time.
In effect, even given finite time on this planet, you can squeeze out more from it, if you manage your time well. You can get more from the same. Isn’t that cool?
Managing is tricky
Ok, so we should be on the same page now: time management is nice to do. What is not nice is actually doing it. You have to take your life, and put it in a system, of any sort, because managing your life without any reference to it would be counterproductive, right? If I gave you my list of tasks for today (which includes writing this blogpost) it would be of little use for you.
Life is complex
So putting it in a system is tricky. However, you are already doing that. The system, I assume, is in your mind. You remember that you have to throw out trash, text your crush, buy a gift for the Mother’s Day (it’s today, don’t forget!). Because building a system around your life to manage it requires some effort, let’s first discuss why do you need that at all, as you already have it in your brain.
Your memory is extremely limited
You can hold 7-12 things in your brain at a time. Your life consists of more than 12 tasks each day. Your brain is not build to remember stuff, but to play around with what it has in front of it. Help yourself, and use something more suited to remember your things. Like a computer. They can remember more tasks you could ever be capable of doing, yet alone remembering.
Keeping things in your brain slows you down
(A very CS PhD-centric rant here, buckle up.) Say you’ve got into the famous flow state and you’re coding an amazing script that is going to push your research project to the next level once finished. You’re 5 minutes in, coding like there’s no tomorrow, galvanized by the incoming A* conference submission. Suddenly, your brain reminds you that your best friend throws a party next Saturday, and you should ask her what kind of food should you bring. Your brain automatically starts planning that you should message her later today, as you think there was a deadline for it.
What has happened? You were keeping things to do in your brain, and one of them reminded itself in the worst possible moment. You now focus back on the screen, with your mind empty, and without any reminiscent of the flow you’ve experience just a moment ago. It will take you time to get back to the task.
Effect: you execute on tasks slower. You are less productive than you could. You don’t use your (time) resources efficiently. It would be nice to avoid it, right?
Keeping things in your brain slows you down
Again? Yes, lol. You finished the implementation, the code (hopefully) runs once it gets the GPUs, and now you have some time to write a section of the paper you’ve been working on. But you realize that once the code finishes, you should see if all is ok, how the results look like, maybe debug some part of it that you’ve just eye-balled (tensor permutation operations are tricky), and so on. So before you switch your focus from what’s been finished to what you should do now, it takes you significant amount of time.
Life consists of a series of tasks (wow, thank you Mr. Confucius). Literally. If time between “Finished task A” and “Started task B” is big, you can execute less tasks. So you can do less with what you have than you could, if your context switching was quicker.
Keeping things in your brain slows you down
This time indirectly. How often do you spend at least 10-15 minutes in your bed thinking about all the things you have to do in the near future, when you should be falling asleep? During the talk, it was like 80% of the people (so 8 out of 10 xD).
“Ok, Sleeping Beauty, so what?” you may ask. If your sleep quality is poor, your productivity, mood, and performance suffer. As this post is about productivity: if you sleep poorly, you are less productive.
But why is it really bad? When your brain is pre-occupied with planning, it is doing the very opposite of what the sleep is good for: recovery. You are basically working, when you should be relaxing. This is counter-productive. I felt the full power of it, when, before discovering GTD, it sometimes took me two hours to go through all my responsibilities (note: multiple times) before I finally fell asleep. And I can assure you, this fucking sucks. Especially, as the sleep quality itself suffers from that, so from the same 6h of sleep you get like 4h at most. Burn-out is imminent (and it happened, twice).
Nowadays I usually have one or two thoughts, but they go away quickly. How? Let me introduce parts of the system I’m using.
Everything is a task
Every part of your life can be described using task-specific nomenclature. Say you have to water your plants. This would require you to be in a place where the plants are (context). It would also require you to have a source of water (resources), and watering would boil down to three actions: filling a container with water, watering, putting the container back (complexity). This operation will take you non-zero amount of time, and should take like 2 minutes (time cost). You can do it now, but can wait a day without any harm, but if you wait for too long your plants may die (time horizon). It may also happen that the plants are already dead, which you realize next day, when you show up to water them, and you just have to throw them out (change of plans).
The point of this example was twofold:
- You can decompose everything that you are doing, you want to do, you are obligated to do, into a task
- Tasks can be decomposed further. You wouldn’t be able to water your plants if you were outside your house (context), or you did not have access to water (resources), you were unable to water them, e.g., because you are paralyzed (complexity), or simply if your schedule is so full that you simply can’t afford this 2 minute action.
The whole system builds on the first premise. If you can decompose your life into tasks, what you can now boils down to the amount of tasks you are able to do, given your finite life. So if you manage your tasks well, you will ultimately extend the scope of what you can. Thus, time management, basically boils down to task management.
Decomposing tasks
You manage tasks not just for the sake of management. That would’ve been backwards. You want to execute on the tasks. And you manage your tasks to
- Execute tasks that you should execute exactly in the context you are in right now, with exactly the resources and time you have at hand.
- Execute them faster, see keeping things in your brain makes you slower.
To satisfy the first one, you have to be able to effectively query your task management system, to always have at hand a set of tasks that are relevant to your situation. Ideally, you should not focus on “water your plants at home” task when you are in the office.
How to not keep things in your brain
Simple. Write them down. What a waste of time it was to read this whole essay, huh? Just write stuff down? That’s it? Well, not exactly. Try keeping 100s of tasks you have to do each week in a txt file, good luck.
The idea of writing them down is valid. For every task to successfully leave your brain and not come back you have to write it down somewhere. But this is not enough. There are some crucial properties that this somewhere has to satisfy.
Requirement 1: trust
Why do you keep things in your brain? I am sure you have tried writing them down, somewhere. Everybody does it, and it is a good idea. However, how often does it happen that the somewhere is
- not up-to-date
- not available
- not easy to search through
- not reliable
- just left forgotten and never looked back to, so you start a new one, in an attempt to organize your life again and finally keep up with all the things that you have to do
In effect, you don’t trust yourself and your attempt on the external “system”, for your brain to relax and just forget about your responsibilities. And rightfully so. You also are not going to use that system, as in the long term, just keeping stuff in your memory would be actually a bit more efficient than dealing with a un-reliable system. But at that point you want to use the system, because you don’t want to be slow.
Requirement 2: single source of truth
What if I told you, that your brain is less reliable than a mature time management system? You constantly forget and remember about random things, with outside cues and your internal machinery “regulating” this behavior, without any control from your side. In contrast, once you write a task in your calendar with a scheduled notification, unless your phone (or Google’s servers) explodes, you’ll get your notification, no matter what.
Now imagine that everything that you have, should, want to do is written in a single system. Basically your whole life, decomposed into tasks, stored and organized in a way that you can always get a glimpse of what it is to be done in any context and resources’ availability.
You now obtained a single source of truth, which is reliable, available, up-to-date. That you know contains all crucial tasks for you to execute, e.g., to submit a paper to a conference (and you can screw it up in 100 ways). Now you can only focus on what it is to be done, and delegate all efforts with regard to planning and remembering somewhere else, outside your brain.
Effectively, you would be able to enter the flow state easier, and you would gain better focus. More precisely, you now are able to fully focus on a specific task. And full focus is the only way of executing tasks faster.
Finally, if we satisfy this requirement, we will automatically satisfy the first one (trust). You will use a system that is a single source of truth on what to do next. That is easier than remembering what to do next. Trust me.
Requirement 3: sustainability
The design of the system has to support long-term usage. While a to-do note scribbled on a napkin is useful for the next hour, I’m talking long-term here. A lot of your effort were already spent reading that, you don’t want it to give you a boost for one hour, right? If the system is sustainable, you can trust that it will support you no matter how crazy you go with the responsibilities and workload.
Requirement 4: up-to-date
Say you achieved a single source of truth for your time management system. That is a great achievement, really. But it reflects a truth about your life only at the moment you finish it. You go by with your week, execute on 100s of tasks, and after some point the “source of truth” is so far from the “current truth” that it stops being useful.
So you have to update it, to bring back its reliability. Here where things may go wrong in two ways.
- You update your source all the time. This wastes more time than it saves. You can afford the source to be a bit off.
- However, too much too off, and your system becomes useless. I recommend weekly updates, following GTD.
And finally, if your system is up-to-date, you can literally forget about anything else and just focus on executing, as you have the most recent list of things that you should be doing right now, right here. There’s no effort, other than execution. It saves resources, and makes you way more productive.
How to build the system
Sooooooooooo much theory, booooooring! Let’s execute, then. Your system should consist of at least these to get started: inbox, “nearest actions” list, “maybe/at some point” list, “waiting for” list, “projects” list. For that I use Plaky. Also: you need a calendar, and a tool for notes. I use Google Calendar and SilverBullet for that. I’m satisfied with the calendar and note app, but finding something suitable for the task management is such a pain that I might at some point build something myself. All you need is a database and a UI, really.
Inbox
The simplest element. Basically this is like your (e)mail box. Everything that you think that you “should, want, have to, maybe want to” do should go directly here, immediatelly. The goal for it is to have all the things that happen that require some action to go there and not stay in the brain. Like a huge bin where you put random, relevant things. You’ll turn them into tasks later.
“Nearest actions” list
Here where the magic happens, really. This list consists of executable, single, precisely defined tasks. Ideally: with context, time estimate, (required) energy estimate. 95% of the time you are using the system you are consulting this list on what to do. This is your single source of truth for your current situation. Each of the tasks defined there is for you to execute as soon as you have the possibility of doing it, given your resources and context. Usually, throughout the week it would contain from 30 to roughly 100 tasks. Be real with yourself, climbing Mount Everest, starting a company, and submitting 10 papers should be spread in time.
“Maybe/at some point” list
These are also single tasks that you should execute, but they can wait, e.g., when you find yourself in a mood of doing them. Like watching a specific movie. Maybe you are relaxing, and want to watch a movie, but the one on your list is not matching the vibe, so you discard it for now (although the context and resources match with this “task”), and look for something else to watch. In the meantime, you still keep track that you wanted to watch it at some point, so you keep it for a better occasion. You will also include there tasks that are not necessary to do this week, but you should do next week.
Besides not-obligatory execution, what distinguishes this list from the “nearest actions” one is that you can throw there stuff without worrying about your workload. Yes, I want to do a billion of things, and I can throw them there, accepting that some of the things I throw there will never be done. But, because I want to do them, I should yeet them out of my brain, and put them there. There is no limits on the amount of entries in this list.
“Waiting for” list
Dealing with people is annoying, especially when you have to wait for them to do something, because is crucial for your activities. But waiting for others is not a task in itself, so it should not be treated as such. However, you still think about the stuff that you wait for. So that list is crucial to keep. You also should keep a deadline for when you expect the thing that you wait for to be done, for pinging purposes.
“Projects” list
Some things (most of them) require more than one task for them to be finished, e.g., building a house is an almost never-ending list of tasks to execute on. If you just keep all the tasks in one place, not organized in any shape or form, your system would be difficult to use and keep up-to-date, in effect: not sustainable and not trustworthy.
Here’s where “Projects” list comes in handy. It helps you to organize things vertically, and keeps the whole structure nice and clean. A project is defined as a set of more than one task. For it to work out, you need to know how to plan a project.
Planning a project
Before specifying what to do for the project, take a step back, and ask yourself the following questions:
- Why do I want to do it? (sometimes you’ll disregard the project at that point, what a time saver!)
- What is the vision of success?
- What are the acceptance criteria? (helps you assess if the project is finished)
And only then brainstorm, write down tasks, put them in the system and execute. Thanks to that approach, you will avoid planning your projects in the background of your mind. Which you already should know is bad for you.
Calendar
Keep it clean. The only things that should be in your calendar are time sensitive actions and events. Do not make your calendar into a second “nearest actions” list. It will violate the single source of truth requirement, and in general is not a good idea (I’ve done it, it’s just chaos and confusion). Only put tasks that have to be done on the specific day, or a specific hour in there. And your events.
Notes
I don’t know much about it. Notes are useful to manage knowledge more than time, but your projects will need a place to store some non-actionable details. So you have to have a reliable notes ecosystem.
Rules of the system
Back to the theory (actionable this time!). Your system has to follow some rules, for it to be stable in time.
Everything in the system
Absolutely everything. Do you want a single source of truth? Do you want to trust your system? Do you want to get all the benefits from it, like higher productivity, better sleep, and want to increase what you can? Put everything in the system.
When you start doing it, you will realize that this thing is harder than it sounds (and it already doesn’t sound easy). For that, you will need to devote at least a full day.
And also, every time something happens, you have to put it also in the system, into your inbox.
Weekly updates
Life happens, and we execute on tasks, we have some new ones, some of them get cancelled, plans change, priorities change. What was a “nearest action” last week might not be one anymore. But you want to have your system up-to-date. Thus, you have to update it, frequently. All of it, but be reasonable. If your system covers your whole life (as it should), you may not want to fully update it every week, as this would be super time consuming.
However, you have to be mindful about effectiveness. As your life changes from week to week, the amount of content to update is managable, and you’ll spend an hour or so doing that. The productivity gains are worth it, but if you update it every day, you’ll spend way more time updating than you should.
On the other hand, if you update it too infrequently, the discrepancy between the “truth” in the system and the truth of the reality grows, and might cause the contents of the system to be too outdated to use. Moreover, updating it every month requires substantial effort, and would discourage from keeping the system in the first place. Thus, weekly updates also benefit sustainability of the system.
Updates should start from the what happened, go through what should happen until the next update, and cover all parts of the system: lists, notes, calendar.
Signs of an update done right:
- Your inbox is empty (all clutter there transformed into actions or thrown out)
- Your “nearest actions” list is up-to-date
- Your “waiting for” list is up-to-date
- Your “projects” list is up-to-date
- Your calendar is up-to-date
- You have the next weekly update scheduled
- Your brain doesn’t tell you what you should do (it should be in the system)
Summary
You have a tall task ahead, if you want to implement this system. First task is to go and read Getting Things Done (GTD). I only gave you the general idea about the foundation of this system, and its crucial components. You may succeed at implementing the system, I hope that post really helped you, but you will get a way better overview of why the things are designed the way they are, and how to further make them more tailored for your needs and ideas.
That being said, if you succeed at implementing it, I am almost sure your productivity (and sleep) will measurably improve. Now you can do more than you could, maybe you can do more than you wanted to. :) Now you want more, but that’s ok.
Time management is not a solved problem, my implementation of the system is far from perfect, but for sure it boosted my productivity significantly, and is one of the reasons I sleep well at night, even if my workday is 12h long. On a good day.
Good luck.