The Monkey and the Panic Monster Some time ago, I had read a very interesting article about Procrastination on waitbutwhy, where Tim Urban described procrastination as an instant gratification monkey wrestling your decision-making process from your rational self. I cannot recommend it enough, unless for some reason you are a mutant totally immune to procrastination (but then, it might still give you some insight about the way normal human beings work). Note that procrastination is not just about picking playful things over work, it can "just" be a problem of selecting easy work over important hard work. As many others, I got used to doing my assignments at the last minute in school.For a limited period of time, I managed to get acceptable results after entering panic mode. But it became worse and worse as time passed. I ended up writing my report for a 3 month research internship on the day it was due, sleeping 4 hours in 3 nights. My thesis was handed in 2 days late, and pretty messy. Part of it was due to hopes that I would enter panic mode early enough to get things done, but that proved unreliable to say the least. Panic is not something you can really "manually" trigger. My first job was in an open space environment, and procrastination was not such a big problem, at least when browsing the web was not possible. But when I started working on my game, it became quite difficult to suppress the instant gratification monkey. There were so many reason to delay getting started on the code: I started writing a 50 page design document no one would ever read, after having read several dozens of fantasy series to get a better feel for world building. I also spent an awful lot of time trying different engines, to make sure I would have enough information to choose the most appropriate one. I just had to replay most of the classic games in this field to get a better feel for it (at least, I was able to avoid also playing the classics in other fields to "broaden my horizons"). The problem with working alone is that a lot depends on your motivation, which in turn is strongly driven by your recent results. This is very risky when you need to get things done, especially on such a long-term task as developing a game. I used to dread taking a holiday break whenever I was on a good working streak, but kids force you to take a lot of these. I tried to enforce self-imposed deadlines, but they suffer from several issues: The complete lack of consequence for missing one of these deadlines turns skipping them into another bad habit: how are self imposed deadlines useful when you don't even always respect external deadlines?

Deadlines can be "scary" if there is a lot of things to do in a very short time, which may encourage you to write them off as missed already. Or if they are too far away, you can easily convince yourself that you will enter overdrive mode "later" and spend a good part of your working time browsing web sites, or testing games that are really relevant to the one you are writing. Pretend there is still a lot of time to do it.

Rushing work is not something you should do on a regular basis (at least, I like to have my code readable and commented so that future me is able to take over from there without spending days trying to figure out what present me wanted to do). It did not really work with me at all, as I wrote them off as either "too close to be acheivable", or "too far to start worrying about it". I had a weird schizophrenic feeling where I was at the same time convinced that I would be perfectly able to complete the task if I started working on it soon enough, but I was also quite sure I would fail to dedicated enough time to get things done in a timely manner. I used several methods both to make sure I was spending time on important tasks or features. Breaking task into small chunks. Using an Internet blocker. Putting a lot of post-its everywhere with the stuff I had to do. But these all failed to change things in the long run.

The Tomato of Willpower I used several time tracking softwares to monitor the use of each application, but it was hard to measure the amount of work done. It ended up only giving negative feedback(ie tracking the time spent not really working), instead of providing a goal to strive for. Then the pomodoro technique completely changed the way I looked at my work. The technique itself is pretty simple: you break down your work into 25 minutes intervals, with 5 minutes rest between each, called pomodoro (poms). Each pomodoro is dedicated to a single task (it can be a generic one, and you can bunch smaller tasks together in a pomodoro). No interruption is allowed. You just tell people that you will get back to them, and you take note of whatever it is you wanted to do if you feel the urge to do something else. If you have to interrupt the pomdoro, it is voided, and you need to start again. Obviously, you can dedicate several poms to the same task. These pomodoros can also be extended to other tasks: Many also use them for chores.

When I first tried this method, a few years ago, I was not very convinced: I was working from home in Shanghai, and my 2-year-old daughter required a lot of attention from me, so the distractions were very frequent and hard to ignore. But now that the girls are older, I have found the results pretty amazing, and I cannot recommend it enough if you are in a similar situation.

Effort oriented approach As long as you don't allow yourself to do anything else than whatever was planned for the Pomodoro, you can easily keep track of the time really spent working on the given task. Unlike deadlines or result-oriented methods. Deadlines had stopped working for me. So taking an effort-oriented approach instead of a result-oriented one has yielded much better results. You can misjudge your ability to complete a given task, but the time spent on something is a metric you cannot really argue with. I have found that having an objective metrics to measure your efforts really helped. Here is a chart to guide you: Poms level 0-4 Abysmal Not even trying 5-8 : Poor day Boring work? 9-12 : OK Your standard average day 13-15 : Very good 13-15 avg is doable, but hard 16+ : Stellar Very hard to sustain over a long period The amount you can do will of course depend on your fatigue, on the boredom level of the task, and many other parameters. It also assumes that you don't have a job where you are supposed to be interrupted by others. I usually settle for a goal of 65-70 pomodoros/week on average.

Reverse procrastination Whenever you feel the urge to do something unrelated to the task at hand, like checking whatever other people think on the Internet, it is easy to postpone it for a duration of 25 minutes, especially if you have to cancel "scoring" for all the work you have done in the pomodoro up to this point. More often than not, the urge to check whatever came to your mind during your pom will have disappeared after, and even if it doesn't, you won't feel as bad checking it. In a way, this works like reverse procrastination: you tell yourself you will do the unimportant stuff later, and end up not doing it. I also found it makes it easier to tell other people not to disturb you while you work. But everyone reacts to stimuli differently, so if you prefer working 20, 30 or 55 minutes Poms, or prefer to skip the break and chain 2 together, you should follow what works best for you (I personally usually work 2 pomodoros together and skip the break in the middle to stay in flow). These are only there to give you guidelines. And even if you are a "light" procrastinator who only does things in the wrong order, (ie unimportant work before important one), you can still benefit from this technique by dedicating several pomodoros a day to the task you know to be the most important in the long run. If you are a perfectionist, it can help you force yourself to dedicate part of your working time to other things that needs to be done, instead of improving things that are already good enough.

Adventuring with the monkey I tried to gamify my working hours a bit. I first tried running ProgressQuest when I was working, but it turned out not being interactive enough for me. It also didn't really help me keep track of anything. I also tried Pomodorium, but it was a bit too involved for me, with a mini Role-Playing Game combat system.

Then I found Habitica, which works as a task/habits manager, with a game layer on top of it: You get XP for doing stuff you set as good, completing items on your todo list, and you lose hitpoints for doing bad stuff, or not completing your daily tasks. As you can see, it doubles as a tracker for all the stuff you are supposed to do or avoid doing. It has 3 categories: habits, dailies, and Todo. The habits is there for habits you want to build or suppress. Depending on the sign, you either lose hitpoints and mana or get gold and XP for following them. Dailies work differently: they are things you need to do everyday, and skipping any of them results in a loss of hitpoints and mana at the end of the day. And Todo is just your usual todo list. I find it much tidier than post its, and the daily/habit tracker can help with other parts of your life, like doing some exercice, flossing teeth, going to bed early... The gold you get by doing that allows you to purchase in game weapons or armor, or you can add any custom rewards, like going to the movie theater, or whatever. The game elements are rather light, you just have powers you can use against boss opponents, and otherwise, completing items on your todo list, checking your daily tasks, and following good habits all damage the boss. But even if you are not into RPG, there are challenges that can keep you motivated. It works wonderfully, because it let you set deadlines every day with things that you can perform (I have a fixed amount of pomodoros to do daily), thus reinforcing the effort oriented approach, and there are consequences to missing these daily deadlines (loss of hitpoints), and rewards to completing them (XP, gold, and mana), so it also tricks the monkey into doing things that make sense in the long run, as he likes to go adventuring too. It also adds some peer pressure, because missing daily tasks when facing a boss monster results in everyone in the party losing hitpoints. The best part is the monkey also gets to play! My 6 year old daughter has been enthusiastic as she saw me using it, and wanted me to create her an account. She once asked me to skip the bedtime story to study maths, because there was no reward associated to listening to stories, while problems are worth a lot of points. So I am quite happy with using it with here too. It even has a pokemon skin: Of course, it is quite easy to game the system, as you are more or less setting your own rewards and evaluating yourself. Just don't do it. And you also need to care one way and another for this kind of rewards, so it might not work very well for people who are averse to Role-Playing Game type progression and don't care about prettying their character.