Accurate Project Time Tracking?
Uhh-I-think-I'll-stay-anonymous-this-once asks: "I'm really rubbish at tracking the time I spend on things. That's bad for me, because I bill clients by the hour and almost always have to under-bill. I've tried a few bits of software for tracking, but none of them have suited me. What do you use? And why do you like it? If you've got suggestions, I'd love to hear them. I can't give a spec of what I want, but I can describe my habits and hardware. I use several computers, sometimes I don't use my own. I've got a short attention span when I'm not programming, and hop from task to task like an insane jack-rabbit. I'm not always on my network. I've got a couple of servers that could be used to run a web-based system. Mining my e-mail is often a good way of finding out what I've been working on. I'm rubbish at adhering to routines. I like OSS, but it's not an absolute-must-have. I'm comfortable with both Linux and Windows, but spend most my client life in Windows."
You're probably better off coming up with better up-front estimates on how long a project will take and then billing against that, or just billing on a per-project or per-milestone project.
As for a way to keep track of how you're using your time, I don't think there's any software that can possibly help you. You just need to discipline yourself to stay on task for a given period of time. If you don't like working in an 8-hour block then do an hour on and 20 minutes off or something like that, and just note your start and stop times.
All that said, I find looking through the svn (or cvs) log is frequently the best way to get a record of what you've done. If you see an entry in the log for Nov 18th that says "rewrote the entire shopping cart module" it will do a lot to spark your memory and you'll likely recall that it took you 6 hours to make that change. Between that and your email history you can probably piece together your work on a project pretty well.
rooooar
I don't know how much you're underbilling by, but if it's any large amount then you might want to hire some help. Let's say you're underbilling just 5 hours per week and you bill at $100/hr. That's $2K/month. For that kind of money, you can easily hire a secretary to help you record your time. You'll get the added benefit of someone to do the actual billing (so that you can work more), and get other things done as well (filing, messages, answering phones, collecting on deadbeat accounts, running errands, etc.) It's well worth the cash to have someone around to help.
If you don't want crime to pay, let the government run it.
buy a cheap timeclock, and some time cards... set it on your desk.
punch in, punch out, per job.
every day http://en.wikipedia.org/wiki/Special:Random
As someone who sells their time, your ability to succeed (beyond your technical skills, of course!) comes down to:
- Your ability to win work;
- Your ability to price work; and
- Your ability to manage projects.
Going to flat-rate pricing or retainer models introduces risk, but it also dramatically lowers your overhead and increases your inventory of time available to sell. You get back the time you currently spend tracking time, tallying it up for billing purposes, etc. You'll find that customers like both flat-rate pricing and (for extended work) retainers because they give them solid numbers to budget against."It was a summer's tale: Just a boy, his Linux, and a head full of dreams..."
A *very* simple program i use myself is gtimelog (http://mg.pov.lt/gtimelog/). Your main problem doesn't seem to be lack of programs but rather lack of discipline though...