| I think this is the list of arguments I saw back when you originally wrote it. Ever since then, I wished I dug into this deeper with you as it's been an open thread at the back of my mind. Even though this may not be the right place for it, I'm going to go ahead and respond point by point. * It forces you to negotiate with clients in the worst possible numeric domain: where small deltas to proposed rates disproportionately impact the final cost.
(This is a really good point and something that I will consider moving forard. I can see that higher effective rates may appear more palatable to clients if quoted on a per day or per week basis.) I've categorized my feelings about the rest of your points: The [HOW DOES BILLING HOURLY DO THIS] points: * It positions you against the lowest-quality cheapest providers.
(I charge a very high hourly rate, clients are happy to pay it.) * It misaligns your incentives, so that you're penalized for doing a better job.
(The times I accomplish a difficult task very efficiently are averaged with the times what appears to be a mundane task turns out taking much longer.) * Not to mention: it generates more invoices.
(I bill bi-weekly. I imagine I'd want to do the same no matter what unit I was using.) * For that matter, it inclines your projects towards the small and away from anything ambitious.
(Huh? What's wrong with "I expect this project will take 4 months of me working at 30/hrs a week and this hourly rate"?) * It impedes your own flexibility, so that you tend to miss opportunities to interleave projects or for that matter take an occasional long lunch.
(I typically tell clients that I'll put in 3hrs of work/day on their projects. It seems like my billing gives way MORE flexibility, not less.) * It forces you to account for every waking hour of your day in a way that daily rates don't, when we all know that only a small subset of your work hours are truly productive.
(See previous point: I'm never of the hook to provide a "full day". Some days I work more, some less.) The [HAVING AN OPEN AN HONEST DISCUSSION ABOUT THE SOFTWARE DEVELOPMENT PROCESS AND WHAT EXPECTATIONS ARE APPROPRIATE AND WHY I FEEL UTTER TRANSPARENCY IS KEY FOR MUTUAL UNDERSTANDING] points: * It totally hides the cost of ramp-up and ramp-down (if you think clients push back on daily or project rates, wait until you charge them for 2 hours of "getting in flow"). (My clients do not push back on this because I explain how very necessary this type of work is up front.) * It conditions your customers to take a fine-tooth-comb approach to project plans and invoices. (If they're fine-toothing, that's fine. I can't really tell, it doesn't affect me. I've had a single client ask me a single time for clarification on an hourly line item in the past four years. It wasn't a big deal.) The [I ALWAYS PRECISELY TRACK TIME ON EVERY PROJECT I WORK ON BECAUSE IT HELPS ME IMPROVE AT ESTIMATING, WHICH I'M NOW EXTREMELY GOOD AT] points: * It forces you to be vigilant about time tracking lest you accidentally undercharge customers. * It inclines you towards finicky accounting, the kind that charges a customer for a 45 minute phone conversation. The [I DON'T UNDERSTAND WHAT YOU MEAN] point: * Not to mention, with virtually any client worth doing business with, you (the consultant) are much more sensitive to the cost of a project than the customer is; it is a small miracle that the customer can get a programming project completed at all without potentially hiring and then firing 3 different people. So why is all the burden on you? Why is any of the burden on you? Key consulting idea: it's not the customer's money they're spending.
(What burden do you mean? The burden of tracking time? The burden of estimating?) The [HOW IS THIS DIFFERENT EITHER WAY] point: * It obscures the final cost of projects in ways that make clients defensive, so that their immediate thought is "oh shit this is going to add up to lots of hours we better be careful". The [I REALLY DON'T THINK GIVING FREEBIE TIME IS IMPORTANT FOR CLIENT RELATIONS IF YOU SET EXPECTATIONS APPROPRIATELY] point: * It makes it harder for you to reasonable toss freebie work to your best clients without damaging the expected value of your time; for instance, I can cab over to a client in Chicago and spend 2 hours looking at a design with them for free without creating the appearance that my bill rate is arbitrary.
(Why would the ability to offer free work inform the structure I put in place for billing?) I hope I'm not coming off as disrespectful, I do really appreciate the time and care you put into HN. It's just that, if it's possible for it to happen, I'd love to be convinced to change my billing structure to something that works better for me. |
You charge a very high hourly rate today. Savvy clients are happy to pay it. Those same savvy clients would be happy to pay on the day increment if you multiplied that rate by 8. And:
* So would slightly-less savvy clients! Clients will balk at a high hourly rate more often than a daily rate. People are accustomed to paying for service work --- housekeeping, car maintenance --- at an hourly rate, and have price anchors in their heads that your rate blows past. You sound more expensive hourly.
* You get an automatic 8-hour commit for every project you do without even trying
* You can repurpose the brain cells you're spending today on being really good at time tracking to getting really good at Jakiro in DOTA2 at no additional cost to your business
* You can still throw 3 hours per day at a client, and the next 3 hours of that same day at another client; all you have to do is be honest with yourself about how you're doing. And again: part of the terms of a day rate is, you get to round up.
* You can still work more some days and less other days. Your fee structure is not your delivery date.
* You don't need to explain ramp-up and ramp-down to clients, because it's built directly, quietly, and non-negotiably into your fee structure. It's a conversation you simply never need to have.
The two points it didn't seem like you followed from my original comment:
* By working with a contractor instead of hiring a full-time developer, your client is paying for projects to be completed on a specific timeline without the overhead of an employee on a deterministic schedule. There is a huge amount of convenience and de-risking implied in that. When I talk about burden-sharing, what I mean is that it is more than reasonable for part of the cost of that convenience to be "you get me for a day at a time, whether you need the whole day or not". The alternative they're looking at is "you get me for 2 years at a time, whether you need me that long or not".
* When you have an hourly rate, any time you do anything free for a client, you risk creating the expectation that that thing should have been free, and that it's reasonable to ask for that free thing in the future. But very few freebie tasks take a whole day. The client can intuit that a day's worth of work is going to cost, but still feel comfortable asking for a 30 minute phone call without wondering whether it's going to be invoiced.