I have a problem: I suck at tracking time-on-task for specific feature/defects/etc while coding them. I tend to jump between tasks a fair bit (partly due to the inherit juggling required by professional software development, partly due to my personal tendancy to focus on the code itself and not the business process around code).

My personal preference is for a hard-copy system. Even with gabillions of pixels of real-estate on-screen I find it terribly distracting to keep a tracking window convienient; either I forget about it or it gets in my ways.

So, looking for suggestions on time-tracking. My only requirement is a simple system to track start/stop times per task. I've considered going as far as buying a time-clock and giving each ticket a dedicated time-card. When I start working on it, punch-in; when done working, punch-out.

9 Answers
9

This may sound naive, overly simpleton even, but you can buy a chess clock and measure your spend time on two tasks with it.

Know a few people who do that ... however, they are also chess players, so ... ;-)
Looks nice on the table however (and most people will stop and ask why do you need two clocks and in what timezone is the second one).

I've actually thought about exactly that, then went the extra step to considering a punch-clock
–
STWOct 20 '10 at 17:48

@STW - Well, y'know ... whatever works best for you (for my way of thinking, a punch clock is way too complicated; and besides, I love chess, so this one reminds me there is something else out there as well ;-)
–
RookOct 20 '10 at 17:52

4

I could go the chess-clock route and insist my manager never gives me more than two tasks at once. ...pondering...
–
STWOct 20 '10 at 17:54

@STW - My way of thinking too. I word better when I have one (or two) tasks at hand, then when I have twenty of them. Like this quote: "Multitasking? I can’t do two things at once. I can’t even do one thing at once. —Helena Bonham Carter"
–
RookOct 20 '10 at 18:01

Just what I was thinking. Couple it with a 15 minute timer on the machine (e.g., WorkRave) and it's a snap.
–
Alex FeinmanOct 20 '10 at 18:30

that very well could be EXACTLY what I need. Multiple tasks tracked in hardcopy with a simple-enough way to switch!!!
–
STWOct 20 '10 at 18:46

printed and glued into my handy-dandy notebook; with some small customizations this could be perfect--we'll see how it serves over a few days
–
STWOct 20 '10 at 19:17

It's off to a good start, but one shortcoming is that I still have to track my start/end times to tally them in the checkboxes. I'll be continuing with it to see if I improve--but I've already caught myself starting a few tasks and forgetting when I started them
–
STWOct 21 '10 at 14:47

The way David Seah suggests using it, you don't need to track start/end times. You have a timer that beeps every fifteen minutes and at that time you fill in the bubble for what you've been doing since the last beep.
–
Michael KopinskyJan 31 '11 at 20:04

Pomodoro might help you out. The gist of it is that you get a timer (can be software, can be a physical timer) and you work on a task for 25 minutes, then take a 5 minute break, and take a longer break after repeating that pattern four times.

The system provides ways for you to deal with interruptions and distractions as well, so you can manage those and stay focused.

While it is mostly a time management system, it is in its pure form paper-based and you could tally up all your pomodoros at the end and arrive at the time spent on a given issue.

I like the approach; I've tried something similar with emails where I refuse to check them more than 3-times a day (mid-morning, after lunch, before leaving)--but in that scenario I started to get too many people showing up to reiterate their email--immediately pulling me from my task, and later making me re-read the same email to make sure all questions were answered
–
STWOct 20 '10 at 18:42

This is not a "hardcopy" solution, but I think it would be exactly what you need: It won't take pixels away from you, but it can help give you a realistic idea of what you've been up to.

You can implement this yourself or use a package like TimeSnapper or RescueTime. Set up a program to take a random snapshot of your screen. For example, it might take one every 7 to 12 minutes; it's important that it's random so you don't try to synchronize with it. Then, at the end of the day--or week-- look at the screen shots (around 48 or so) and see what you were up to.

This technique also works surprisingly well if you randomly go between tasks frequently. Over a long enough time period, you're still getting a very realistic picture of what you're up to.

Warning! If you do this, you might find out how much time you spend on StackExchange!

Use a white board. Put tasks on their. When you start on one task take it from the column "waiting" to "in progress" column and write down the datetime on it. When you have to switch on another task, put it back to the "waiting" column (write down date/time).

It was mentioned in a comment by @Alex Feinman, but I think it deserves its own answer - I just discovered Workrave for keeping time and find it to be really useful. It also fits in very nicely with the Pomodoro technique that was mentioned in another answer here.

At my last job I had to keep track of task down to 15 minute increments. I bought a classic size franklin planner from franklin covey. Daily Planner.

This was an absolute lifesaver. If I was heads down on a project and the manager wanted to talk with me about something. I'd start a new line item on my daily sheet. If I didn't have that planner I would have gone crazy trying to account for my time.

At the end of the day I could just refer to my planner to update my tasks in the job control system that we had.

After trying a handful of suggestions from here (thanks for the input) I found that the only solution which covered my needs was to go ahead and buy a timeclock. I'll be on the lookout for a used one on Craigslist.

My intent is to use a time-card for each different task I have assigned to me. Whenever I switch tasks I clock-out of my current task and clock-in to the new one. At the completion of the task I can tally the total time from its card.

This approach gives me an open-ended approach to tracking however many tasks I may have; including tasks that linger for long durations. It also gives me hard evidence of however much juggling I'm doing, as well as how long--or short--some tasks take.

Here's hoping I can dwindle the number of tasks I have to concurrently juggle to the point that I don't need such a system...