Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
7  
Cut down on multitasking as much as possible. Humans really aren't good at it, even the ones who claim they can handle it. –  David Thornley Oct 20 '10 at 20:18
    
@David -- I agree entirely, but have yet to find a manager who enables me to single-task –  STW Oct 20 '10 at 20:22
add comment

9 Answers

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.

share|improve this answer
1  
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 –  STW Oct 20 '10 at 18:42
    
+1 Big fan of Pomodoro Technique. –  vcsjones Dec 25 '10 at 2:12
add comment

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).

alt text

share|improve this answer
1  
That's a pretty awesome idea. –  Anna Lear Oct 20 '10 at 17:48
    
I've actually thought about exactly that, then went the extra step to considering a punch-clock –  STW Oct 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 ;-) –  Rook Oct 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... –  STW Oct 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" –  Rook Oct 20 '10 at 18:01
add comment

I keep several cheap stopwatches, chronographs and eggtimers handy at my desk. I can always grab one to use for each individual task: alt text

share|improve this answer
    
very nice! I like the Timex still on the stand :D My only concern would be that, in my office, most things that size are made of foam and get thrown at other people :) –  STW Oct 20 '10 at 18:45
add comment

In addition to a clock, check out the Task Progress Tracker (pdf) by David Seah.

share|improve this answer
    
Just what I was thinking. Couple it with a 15 minute timer on the machine (e.g., WorkRave) and it's a snap. –  Alex Feinman Oct 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!!! –  STW Oct 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 –  STW Oct 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 –  STW Oct 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 Kopinsky Jan 31 '11 at 20:04
show 1 more comment

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).

Don't trust software or virtual systems, they are unreliable ;)

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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!

share|improve this answer
add comment
up vote 0 down vote accepted

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...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.