Logging consulting hours - The Good, The Bad, and the Ugly
anarchogeek.com
anarchogeek.com
I don't know enough about developers and per-hour billing, but in my view, consultants need to move away from this model to more transparent models that directly reflect what they can bring to the client.
Developers are often being paid to do things they've never done before and, as such, it's hard to do anything but bill hourly. Offering a fixed rate and having to eat hours to meet it isn't fun.
I've found the best solution on my end is simply to first try to estimate a little pessimistically, and then to charge enough that I'll feel fine even if the project takes me a couple days longer than I thought. If a totally unexpected pitfall appears, a reasonable client will be open to renegotiating.
It's so worth it just to avoid the not-so-goodwill that seems to accompany hourly billing so often.
Specifically, it means you now need a far more detailed requirements doc BEFORE you can start working (safely, anyway), and you need to manage changes much more carefully because they are coming directly out of your pocket.
Plus, as an hourly guy, I never cared when the customer wasted my time, e.g. with over-attended phone meetings that take unnecessarily long because everyone needs to have their say. It didn't matter, because I was paid for it.
I charge precisely for my time worked (love Desktop Task Timer, BTW).
I am lucky in the sense that almost all of my customers are themselves very good techies, and when I work remotely we use Skype calls and instant messaging throughout the day: lots of communication and brain-storming. Since I live in a remote area and my local friends are non-technical, these calls tend to be fun for me.
Most of my customers don't even bother asking for time estimates.
Bottom line: I get a lot of pleasure working and helping people and my customers at least seem like they don't mind paying me.
Know what your clients expect.
Having detailed info. also helps with knowing who requested/commissioned which task and when, without having to dig into emails, PM software etc.
More likely is that you spend 20 hours refactoring crappy code that someone thought was good enough and it wasn't. Or they didn't know what on earth they were doing. Total waste of time but it's officially already been billed for.
Long and short is your consultants will be charging what they think they can get away with. Whether it be less or more than you log.
And utter bullshit like this comes from someone who doesn't actually bill or who hasn't had to ruefully swallow a job where they end up billing far less than they did.
My favourite real life 'story' about time billing, a bunch of straight-from-uni 'consultants' billed at £250 p/h for photocopying sheet by sheet. You bill what you can get away with.
We've always prided ourselves on better quality timesheets. Some of us would keep a journal during the day, others review emails, commits, tickets at the end. No matter what it sucked and was always a bit like fictional archeology. It sounds right but the bones might have been re-arranged a bit and something is always missing.
Commit logs, or task lists are only a small part of the story. Lots of work gets lost in meetings, emails, phone calls and the like. Real work happens across multiple dimensions (no matter where ya go, there y'are) and it's a pain to go find it at the end of the day (or week). The more clients you have the worse this is.
We built http://www.crisply.com to aggregate everything we do into a journal automatically organized by project. We also roll up time when we can. The results are a more accurate (rather than precise) timesheet with rich supporting evidence. You also get great analytics at the time and activity level. Crisply integrates with almost any system. Mention HN if you signup and I'll make sure you get in.
I was very happy when I went to the day system. I know guys that worry over coming in five minutes late and spend much time each week creating very detailed reports that nobody cares about. I figure if I'm worrying about five minutes or filling out a TPS, I'm not working on the big problems like you are expecting me to. I'm not working in your best interests. The simple thing is either you trust me or you do not. If you trust me and somehow feel I owe you some time, we'll work it out. If you don't trust me, we shouldn't be working together. We got bigger problems than whether I wasted an hour 18 days ago trying to figure out how to use your help desk services.
Admittedly it's much easier to be this way after consulting for many years. If I were a junior or entry-level consultant, or worked for a large shop in one of those fill-the-seat contracts, it'd be a different deal. Thank God I don't do that anymore. Had a gig once where I worked for lawyers and accountants. There was never a week that went by that they didn't have problems and correct me on my project paperwork. As far as I knew, they really liked me. It was just the corporate culture. Damn that was a miserable experience.
That said, I live 2.25 hours away from the Phoenix Airport (up in the mountains) and I try very hard to not travel. When I work at home I use desktop timer and keep track to the minute. This is actually a low overhead activity.
A tip: documenting work tasks for invoicing is a high overhead activity. I reduce this overhead by attaching my complete working notes log to my invoices, and nothing else. I need copious notes on my work for technical reasons, and reusing my work notes saves me a lot of effort. I have the occasional client who doesn't like this because it is way too much detail for them, and in that case I charge them for the few minutes a day to write a short summary.
It's a hard balance to find - documenting what you're doing with enough detail to help justify your expenses, while at the same time not losing the flow of the moment to actually get stuff done. I can often lose a couple hours of time working on an item - tracking down bugs in other peoples' code is really time consuming, and I'd rather get it right than get it logged, to coin a phrase.
https://github.com/aantix/big_bucks_no_whammies
Here's a sample invoice : https://github.com/aantix/big_bucks_no_whammies/blob/master/...