Hyperbrain Owner's Manual - 3. Keep tasks closed 12
This is the third article in my series on the hyperbrain. If you haven’t read them yet, you might want to look at parts 1 and 2 first.
Subjectively, I think the greatest challenge about having a hyperbrain is distractibility. If not handled effectively, it can make you feel really useless. I’ve often sat in front of my computer, knowing that I’m supposed to be getting on with some piece of work that’s half done, and not been able to focus on it (whilst remaining quite capable of focusing on dozens of blogs and other wastes of time). Learning to work with your distractibility can make an order of magnitude of difference in your productivity.
Like a game

Have you ever played a computer game where your character could die at any point? First person shooters (Doom, Quake…) make for an excellent analogy to distractibility. What do you do when you have to complete difficult, complex, sometimes tedious tasks and your progress can be lost at any point?
A long, long time ago, there was nothing you could do. You just played the game until you died. A few palliatives were invented to try and deal with that, and eventually, they culminated into the ideal solution: saved games. Nowadays, if you’re playing a game like Quake, you can save whenever you’ve done something that was hard or lengthy. Then, if you happen to die in the next minute, you can reload from the saved game. If you save every minute, you can minimise the effects of dying to, at most, translating into one minute of lost time.
If you accept the fact that you are easily distracted (and, after years of fighting it, it’s something I’ve come to accept rather than fight), you could consider distraction to be similar to dying in a computer game. Accepting your own distractibility means that whenever you’re doing any work, you have to accept that you might be distracted and start doing something else for two hours, two days, or even two weeks.
So what can you do to mitigate this sword of Damocles? You need some sort of real-world equivalent of saved games.
#2 Keep tasks closed
A task is closed when you can ignore it for an indeterminate amount of time and there will be no direct negative consequences from doing so (other than the fact that this specific task won’t get done), and when it isn’t left in such a state that you will struggle to pick it up again.
A programming task (e.g. a refactoring) is closed when you can commit and push all your changes into the main codebase and not (knowingly) break the application.
A writing task (e.g. writing a book) is closed when you’ve finished a self-contained section or sub-section and can leave it without having to spend 20 minutes to re-immerse yourself in the subject to continue writing.
A managerial task (e.g. setting up a weekly meeting) is closed when no one is expecting anything else from you on that task.
A closed task is in a state of rest. It can be safely ignored while you do something more important. It’s like saving the game after killing all the monsters in the room, but before walking into the next room. An open task is either when you haven’t saved the game recently, or you’ve saved it in the middle of a fight.
Open tasks are risky
There are many risks with abandoning open tasks:
- They can prevent other people from getting on with their own tasks (which breeds resentment against you even though you’re working hard and enthusiastically);
- You might have been able to work on the task today on an inspired high, but you might be on the low for the next week. If you leave open a big, complex task, and go do something else, you may be incapable of picking it up productively again for some time;
- As long as the task is open, it will clutter your mind and your ability to do other things will be diminished. Keeping tasks open uses up your mental capacity and impacts every other task that you’re involved in;
- By the time you are finally able to complete the task, someone else might have rendered it irrelevant (if you’re working in a fast-moving environment);
- Say you finally complete the task and have taken five or ten times longer than expected; in hindsight, others may think it wasn’t worth spending that long on it - this will rob you of the praise that you need and expect when you complete something difficult.
And so on.
The key approach to surviving distractibility is to keep almost all tasks closed all the time. Only one task should ever be open at any one time, and it should only ever be open for a short amount of time. How long depends on your work. For programming, I like to make that time fifteen minutes. At least every fifteen minutes, I should be able to save all my changes and commit them to the central repository without any ill effects.
Some people present this advice as “you should not multi-task”, but that phrasing is not so useful to the hyperbrain. The reason is that the definition of a “task” is stretchy. A major restructuring of a codebase could be considered a single task, even though it is really composed of dozens or even hundreds of small tasks.
For the hyperbrain, the definition of single-tasking has to be time-based. You need to set yourself a limit for how long you will work on something before closing it.
If you don’t think you can close the task within that time, don’t do it.
Rethink the task until you can figure out a way to close it within a short time. If you can’t think of a way to do that, don’t start the task. You wouldn’t jump out of a plane before finding the parachute - don’t jump on a task without figuring out how to chip off a small chunk.
“Don’t multi-task” is correct advice, but not useful to the hyperbrain. Instead, think of it as: “Don’t do anything that you can’t close within fifteen minutes”.
This doesn’t mean that you need to break down the whole task into fifteen-minute chunks before starting. Don’t even try doing that, you’ll never finish. Instead, break off one chunk at a time. Ask yourself “what’s the next thing I can do that will help me get this task done, but that can finish in less than fifteen minutes?” Make sure that the next thing you work on can be finished in a short sprint. Each time you finish a sprint, break off another small chunk of the remaining work and do that bit.
Also, don’t feel that it’s a bad thing if it takes much less than fifteen minutes to complete a task. Some of my most productive stretches of work were long collections of 1-minute chunks.
What if you can’t seem to finish it?
What if you start a task that you thought could be finished within fifteen minutes, and you find yourself half an hour into it without any clear endpoint yet? This can easily happen with complex work, such as programming - after all, you don’t really know exactly what you’re going to do until you start doing it.
If that happens, you need to roll back to the previous closed state (discard your changes and reload the latest good version). Take the game metaphor: if you were playing your game and suddenly you find yourself dead? You simply reload. The unfortunate difference between a game like Doom and real work is that work doesn’t make it so clear when you’re dead. You can keep going like a zombie for a long time before you realise that you died three hours ago. And because, as a hyperbrain, you’re fairly optimistic about your own abilities, you keep soldiering on, thinking it will get better soon. Another way to phrase this advice would be: “When you’re in a hole, stop digging!” It won’t get better. You’ll just end up even deeper.
With work, it’s often hard to figure out whether you’ve lost your way and should back out, or whether it’s just a hard problem that you’re on the verge of cracking. Fortunately, there is an absolute, objective measure you can use to determine whether you should back out: time.
This is not a huge effort of discipline. It does take a little mental effort to “give up” on fifteen or thirty minutes of work that you’ve just done, and I’ll grant you that’s sometimes hard to accept. But if you can apply this simple discipline, you will see a several-fold improvement in your productivity (and that will make you happy and drown out any sorrow that you may have experienced when abandoning a small dead chunk of work).
Conclusion
You don’t need to be a super-hero to adapt to distraction, just to follow a handful of simple rules:
- Reduce the distractions in your environment as much as possible, but accept the fact that you will probably get distracted anyway, and be prepared for it
- Never leave a task open for more than X minutes (fifteen in my case, for programming tasks)
- Never open more than one task at a time
- If you are working on a task and it’s taking longer than your cut-off point, roll it back and try again from a different angle
I hope you’ve found this article helpful. Feedback is, as always most welcome.
Trackbacks
Use the following link to trackback from your own site:
http://inter-sections.net/trackbacks?article_id=hyperbrain-owners-manual-3-keep-tasks-closed&day=05&month=09&year=2008






Man, I probably checked my email/twitter/greader five times just while reading this. I enjoyed the article, but my inability to concentrate enough to get through it in one go is, I guess, a symptom of my hyperbrain.
You briefly mention that you’ve “stopped fighting it”, which is probably the one thing I’ve found to increase my productivity the most. I’m not a morning person; I hate mornings. In the first few hours of the day my brain is foggy, I can’t put together a coherent sentence and am as pleasant to be around as uranium. I tried becoming a morning person for years until I just stopped fighting it. Now I’ve adapted my work day so that I can spend the most productive part of it on work, and I get much more done that way.
Also, I agree that the term multitasking is a bit misleading. Like a CPU, the brain doesn’t really multitask, it switches back and forth. If you can just stretch the interval so that each encompasses a “closeable” task, there’s no need to maintain a state when switching. I guess the real problem then is to divide your tasks into smaller tasks that are small enough to be compatible with “multitasking”.
I wonder what it is that causes such distractions. I feel like I’m distracted because my brain is always asking for more to chew on. If I’m doing something that does not enough socializing then I gravitate towards distractions that involve being social. If I’m doing too much trench-work, I gravitate towards distractions that enable me to be involved with big picture more. If I’m doing too much Controller programming, I gravitate towards making the View work better, even when it isn’t a priority.
I wonder if one possible key to avoiding distractions is to find work where there is always value in talking about the project, coding the project; projects where it is important to do implementation and design; projects where it is important to get the Controller and the View just right. Then, I can keep alternating which parts of my brain are engaged by switching between completely different types of tasks. This way, my mind doesn’t feel a deficiency in any one section for too long.
Just a thought.
I wonder if it would be useful to have a small timer program that you could click on, and/or use some key combination to trigger. If you didn’t tell the timer you were done with the task, once 15 minutes were reached it could “go off” and tell you to roll back whatever you were working on.
Anyone know of any Mac apps that do something like this?
Hi Dan,
Yep, I used something called FlexTime for that purpose.
http://www.lifeclever.com/flextime-growl-a-gentle-way-to-end-procrastination/ provides a useful tutorial for how to get it working to decrease procrastination.
On the subject of rolling back, I found this interesting article too:
http://railstips.org/2008/6/10/programmers-should-give-up-more-often
Thanks for another great article..
One thing I am wondering, how would you apply closed tasks to go from a plan / outline, to the task level? For instance, writing a large program or a book?
In a waterfall type method, you would spend a lot of time planning out the tasks, but what inevitably happens is that the closed tasks are not fully defined or correct, and you have to redefine your tasks half-way through (unless its something that you are very experienced at). So, re-planning gets in the way of completing closed tasks - the overhead is in the constant re-planning.
On the other hand, in a more iterative method, you just complete closed task after closed task, with maybe only the next task or two in mind. But then you may just end up with a mess of a project that needs to be ‘refactored’ several times - which gets overwhelming with a complex project. The overhead is in the constant correction.
What is the balance to do either of the following: a) be able to envision a great output and focus / work on the closed task level or b) complete closed task after closed task and then be able to continually improve this body of work?
Hi Jonathan,
The “Keep tasks closed” approach can apply to any planning methodology, since it’s on a per-task level - on a micro level, if you will. Whether you have an 18-months day-by-day plan or you’re playing it by ear, you still end up having to do specific tasks one at a time. The aim of this technique is to ensure that you personally don’t end up losing yourself in one or several of these tasks, not to ensure that the right tasks are being done.
Basically, you can think of this as an extreme version of agile development applied on a task by task basis, if you consider each task to be a project and each “close” to be a release. You want to keep releasing as often as you can, and keep each iteration small.
By the way, the fifteen minutes suggestion is just the way I work. For others, thirty minutes or even two hours might be a better timeframe.
Hi Daniel, I love your articles, will there be a part 4?
Absolutely. I’m still working on it, hang in there. I do have a start-up to build up at the same time, and this week’s been particularly hectic! I’m planning to get part 4 out tomorrow, but will make sure it’s out by Thursday at the latest.
Seriously? 15 min? How can any reasonably-sized refactoring get done in 15min?
Kyle: You don’t do the whole refactoring in 15 minutes, you just break it down into 15-minutes-max chunks, one chunk at a time. The key is that the task should be closed at the end of each chunk - i.e. you should be able to walk away from it without negative side-effects. The overall refactoring could take a week, but since you can’t count on being focused on it for the whole week, you need to minimise the damage from being distracted.
I am definitely in this category of people, but I have found that music is a great tool for keeping me focused. Particularly music that is very samey. If I am listening to music, I can often go hours working on the same thing, even if it’s not something I’m that interested in, but that I know has to get done. It seems to help keep my mind on track. Also the headphones help too as then I can’t hear the conversation in the cube next door that could be so juicy and interesting.