Hacker News new | past | comments | ask | show | jobs | submit login
Logging consulting hours - The Good, The Bad, and the Ugly (anarchogeek.com)
69 points by rabble on Feb 11, 2012 | hide | past | favorite | 20 comments



The real problem with billing by the hour is that you have an inherent conflict of interest: economically, you want to bill as many hours as you can without losing work from the client. Ethically (and, usually, mentally), you want to get work done at the optimal combination of quality and speed. The usual answer given is "raise your hourly rate then", but that presents other business challenges in terms of getting the contract and justifying it to beancounters squinting over every invoice.

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.


>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 charging a fixed fee for an agreed upon deliverable to be so utterly BS-free, that it's worth dealing with the smaller problems. The clients love it, because it takes a lot of the risk and possibility that they might be getting shafted out of the equation. I love it because I don't have to justify how I spend the time.

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.


Fixed fee saves you from some issues and throws you square into the middle of others.

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 used to offer fixed price options but stopped doing that.

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.


My invoices are somewhat less detailed than the "BAD" category. And you know what? It really doesn't matter -- my clients trust me. If they didn't, they wouldn't have hired me in the first place.

Know what your clients expect.


Mine are mostly in the GOOD category but it's really for me, not the client. Like your clients, my clients trust me. But the benefit of listing the details is I can later go and analyze how much time I spent/wasted on which feature 6 months ago and give them a better idea on whether it will be better to keep trying to fix it or rewrite from scratch.

Having detailed info. also helps with knowing who requested/commissioned which task and when, without having to dig into emails, PM software etc.


All of this can be made up after the fact. If you want to bill your client a million hours you can. Grow up. Learn. You might spend 20 hours on Google trying to fix an obscure bug. What the hell does your client know to challenge that?

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.


I keep my time in Emacs org-mode files. Each client has a .org file, within the file are project plans. I clock in and out of tasks, and use summary clock tables to create invoices. The clock table lists the task name and total time. Works great for me.


That's what I've been doing for the last few months and it's been working great for me. Clock tables can have specific time periods associated with them, so you can easily build one that lists all the time for February, for example.


Everyone hates timesheets and yet every timesheet app seems to be about more ways to manually enter time. We decided to change that.

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 sell my services by the day. I don't screw around with hours. If I work ten hours, that's fine with me. If I work 6 hours, that's fine too. After all, I'm usually hundreds if not thousands of miles away from my family. If I'm there, all I am doing is working and thinking about you and your problems. If I'm not there, I'm not.

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.


Similar here - I've got a 'day rate' for on site visits - they're whole day (usually multi day) affairs. I have hourly as well, for smaller chunks of time, and I'm generally doing those from home. ATM I've still got a number of smaller projects that will never take up a whole day of work at any one time, so hourly fits those, but I'll probably move toward daily rates for more work in the future. It generally keeps me more focused and more productive on that one client's projects than trying to juggle 3-4 things in one day for 1-3 hours at a stretch.


I do the same thing when I have to travel to customers' sites. I don't bill for travel days, and bill a uniform 8 hours a day for onsite.

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.


I also sell my services by the day, having screwed around with 'projects' for far too long. You need customer trust in order to do this, and that's often hard won, but until a customer sees your time as valuable, expect them to unload lots of extra unpaid-for work (ie: poorly thought out features) on to you.


assuming there's code involved, you may be able to jog your memory some simply by reviewing the commit logs and commits themselves.

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.


I've written a gem that cross references your computer activity auto-logged with TimeSink ( http://manytricks.com/timesink/ ) with your git commits, and generates a line item pdf invoice.

https://github.com/aantix/big_bucks_no_whammies

Here's a sample invoice : https://github.com/aantix/big_bucks_no_whammies/blob/master/...


Are you sure the clients want that? I has never happened to me. Besides, it is terrible for the developers.


I simply use google docs spreadsheet. Has everything I need and I can "privately" publish it.


Bill by the day. Makes no difference. My rates don't vary. A day of my time (7.5 hrs) no matter what I do always costs the client the same.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: