Tracking time

June 17, 2008 – 15:01

Rationale

I, being a software developer, team leader, project manager and, generally, a busy person, desperately need time tracking and planning tools.

More exactly stated, it’s not the tool I need, but I need instant answers to questions, whenever I’d like:

  • where my time had gone?
  • what’s the closest checkpoint time for every developer online?
  • how much time my team mates spent and what task it was?
  • how much time I have to bill my customer (per customer per project)?
  • how much I have to pay to my developers (per developer, obviously)?

These questions are very different, require different information to be collected and different decisions are to be made using the answers.

Personal time flow

Record attention flow (mouse pointer, active and top windows, keyb activity) for future analysis.

Analysis result should within single graph depict time flow and how it was really spent on different tasks.

Problem: how define “tasks” automatically/semiautomatically?

Similar solutions:

  • (link to macosx solution lost)
  • gfocustimer – declares to watch the focus, but doesn’t seem to work

How to implement:

  • clone X11 xev to record X events to the database
  • analyze db with a custom script

Communicate checkpoints

Since our usual communication channel is a jabber room, the solution should be probably a jabber bot, residing there, monitoring what is said and keeping a checkpoints record.

A log of some kind would be useful too.

Similar solutions: any?

How to implement: go and hack; it should be simple.

Track billable time

This, probably, should be a simple start-stop watch residing in a dock area or completely off-screen.

It should record tasks and start/stop events to a local db, allow user to edit it and report it upstream.

Similar solutions:

How to implement: since there are vast number of time-counting programs, the task boils down to integrating them with some protocol.

Consolidate billable time

Get updates from solution, crafted in the previous part, and drop it into bigger db. This time the resulting db probably should be sql, for the ease of reporting.

This also should integrate with Trac somehow.

Similar solutions: see above – everything starts with the protocol

How to implement: hack it.

Summary

This pretty much outlines what I need from time-tracking tools. Few (if any) solutions are ready, so most of them are to be hacked out ourselves. Will be glad to be proved wrong.

Now, well, the estimation is the whole different story.

Zemanta Pixie

  • Oxiana

    Hi Andrey! Nice article. Have you ever looked at using a simple, pre-made time tracking tool? I’ve been using the Tsheets tool for about a month now, and it’s been both very helpful AND very eye opening on how, where, and on what I spend my time. Just a thought…

  • Andrey Khavryuchenko

    Oxiana:

    There’s no problem with tracking time itself. It’s the time it takes.

    Tool that sits quietly at my dock area, records my actions and helps then to see where the time was spent is much more valuable.

    Other emm… facets of the time tracking are more about communicating timesheets and operating them, not tracking time.

  • http://www.myintervals.com John

    Have you checked out Rescue Time? I have heard a lot of great things about it.