How many hours have you worked on your Minimum Viable Product (MVP) in the past month? How many hours have you worked on your lifestyle business this week? How long does it take to write a book? I’m able to give reasonable answers to these questions because I track my time.
Hackers turned founders rightfully track many things about their products (downloads, page visits, conversions, etc) but, surprisingly, many of them don’t track where they spend their time.
Of course it’s easy to fool yourself thinking that working more hours means accomplishing more. Working 10 hours on something doesn’t
necessarily mean accomplishing twice of working 5 hours. But I believe that time is a valuable metric that can provide you with significant insights. I track what I call “focused time”. If I stop working on my task to read my email, I’ll stop the stopwatch. If I’m working and someone or something interrupts me, I’ll pause the stopwatch.
The Basic Questions
I like to be able to answer the following questions:
- How many hours did it take me to finish project X?
- How many hours to finish task T?
- For how long have I been working on task T today?
- How many hours have I worked on my product this week?
To me, the main advantage of tracking your time is focus. I trained myself to focus on the task at hand when I start the stopwatch. Also, it makes me think for a second what I’m trying to accomplish. Instead of just thinking “I’m going to work on my app”, I’ll be more specific, like “I’m going to close bug #23”. It sounds obvious but it’s not uncommon for me to start one task and jump to another without even realizing (and without finishing the first task). Since many tasks are connected the jump will feel fluid, but I may end up with many half-finished tasks at the end of the day. This alone would be a compelling enough reason to track my time. Even if I didn’t save the data, I’d still do it just to help me in keeping focused. But since I do have the data, there are other advantages as well.
I can use past data to help me to make decisions. For instance, if a project or task is taking longer than it should, I can decide to kill it. I do this often with scripts that I think I can finish in half hour but end up taking hours instead. The flip side is that I’m becoming much better at predicting how long something is going to take.
Knowing how long things can take helps me to sort my priorities and say no when necessary. For instance, I know that it takes me around 15 hours to write a basic project proposal. So when someone asks me to write something I can say “I wish I could, but this is going to take about 15 to 20 hours and I need to work on project X instead”.
I’m not big on motivation. Although I think it’s important, it’s hard to stay “motivated” all the time. But it’s very motivating to see how many hours you have been putting on your projects.
What I Need
There are many different type of programs to log time. Some concentrate on tracking the time of tasks, others on tracking billable hours and generating billing reports. I don’t need any complicated features, just Projects (such as “Write post ‘Time tracking for founders’), Tasks (such as “Write first draft”), and Categories (such as “Blog”). Unfortunately I’ve found few programs that can help me to answer the questions that I proposed above.
Before I switched to the Mac, I used a very nice Gnome applet called Hamster. I haven’t been able to find anything similar for the Mac. I tried I few but it seems I’ll have to write my own.
On the menubar
To me, the most important feature is be able to see the task name and stopwatch on the menubar. I like to be able to glance at the menubar and see what I’m supposed to be working and for how long I’ve been working. In the example below (using Hamster) you can see that I’m working on a task called “make examples” and I’ve been working on it for 27 minutes. You can configure Hamster to show a notification from time to time with the task name (the black thing in the screenshot). Some will find this annoying, but it helps me to keep focused. You can, of course, disable it.
Pause and Stop
I like to be able to pause and stop the timer. This is a simple feature but a few applications don’t implement it. Extra points to have a global hotkey for these actions. It’s handy to deal with interruptions.
Input and edit past events
It’s important to be able to rename, delete, and change the duration of an entry. It’s also useful to be able to input old entries, specially for tasks I have performed outside the computer. Believe it or not, some apps don’t have this feature.
There are a good number of online apps to track time (I have even used one for a few months). The obvious advantage is that you can access them in different computers and operating systems. But since I work mainly from one computer, I prefer to use a program that works offline.
One thing that I like about Hamster is that it shows some basic information on the main screen without the need to go to the separate reports window. In the following image we can see the total time for a category (Blog: 0.7h), the time for the current task (27 min), and the project name (“Time tracking for founders”).
Manual vs. Automatic Time Tracking
Automatic time tracking programs such as RescueTime are great, but they don’t help me to answer the questions I want. These programs work by recording how long you stay in one program or website. This is great to find your major distractions, but one major problem is that one program or website may have multiple uses. For example, watching videos on Youtube can be a productive task (lectures, screencasts, tutorials) that is part of a project or a plain distraction (kittens videos FTW!). However, applications like RescueTime will mark both as distractions.
Also, automatic time tracking tools are passive (duh! That’s their main selling point). I like to see in real time how long things are taking and, as I mentioned, it help me to focus.
After more than one year collecting data, I was able to analyze it and gather some interesting results. In the following image we can see the amount of time I worked in different categories (startup is green, day job is red) over six months. In the first weeks I was trying to work in too many different things at once, therefore not focusing on my startup. Also, we can see I used my vacation time to do some serious startup work. (The original image has the number of hours on the Y axis, but I’m not comfortable sharing this information.)
I was able to find my most productive day, that is, the day I worked consistently more hours on my startup over a period of n months. Surprisingly, it was Monday:
Mon: 22.72% Thu: 17.95% Sun: 16.33% Tue: 16.06% Fri: 10.37% Wed: 8.74% Sat: 7.83%
Also, after analyzing this data, I gave up trying to be productive on Saturdays. Now it’s my day off.
But to me the biggest payoff is when I analyze the time I’ve spent on individual projects. For instance, I realized I spent a huge amount of time fiddling with tools when I was writing my book (I tend to do that). The next time I write a book I’ll be careful not to do that (as much).
Of course time is only one metric. Energy level is as import as time. If you have time and no energy you are not going to accomplish much. On the other hand, given enough time and energy you can do anything you want. Unfortunately, tracking energy levels is difficult and invasive. Out of curiosity, I recorded my perceived energy level during the day for almost two weeks. Every half-hour I’d rate my energy level as:
- 0: sleeping
- 1: need a nap
- 2: low energy
- 3: very good
- 4: very energetic
Originally I was going to show the following graphic that has the average levels for each week:
But once I reviewed the data, I realized the graphic above is useless. Look how wild my energy levels were during the two weeks:
I collected this data one year ago and, frankly, I don’t know what to make of it today. I’m still curious about energy levels, though. Maybe I’ll do this experiment again.
What I Use Now
The setup I have now it’s not perfect but it’s working for me. To collect the time I use StopWatchMenu, a simple Mac app that I developed myself. It sits on the menubar and allows me to enter and pause tasks:
At the end of the day I enter the data in a simple Django app I hacked together (I run it locally). I use this app to generate reports and analyze the data I have:
Naturally, I’d like to have one single app for all my time tracking purposes. I couldn’t find one Mac application that works the way I want and generates the reports I care about. Even Hamster doesn’t generate the reports I want; when I was using it I’d export the data and use a Python script to generate reports.
I’m fully aware that time is not the only metric; what counts is results. But tracking my time has been beneficial, not intrusive and it helps with procrastination and focus. Usually I don’t like to say how much time I’ve spent on things because, in my experience, people who don’t track time don’t have the slightest idea of how long things may take (specially for long projects) and may misinterpret the data (if I tell you how long I’ve spent building my first product you’d flip out 😉
Finally, I don’t necessarily care about the precise duration of a project, down to the minute. I like to know the order of time a project took to be accomplished. Some projects will need the order of a couple dozen hours while others the order of one hundred hours. So even if I didn’t track every single minute I was working on a project (I don’t track the time I’m having ideas on the shower or on a long walk) I still get a decent estimate of how much time was necessary to complete a project and how much time I may need for similar projects.
Let me know in the comments how tracking your time has helped you and if you have a good solution to track energy levels.