Why I bill hourly
orestis.gr
orestis.gr
If you're going to end up haggling over your price, far better for you to be doing it over numbers like $15,250 which are tied to the specific project than over numbers like $125/hour which are affixed to you for the rest of your relationship with the client. You should never, ever be budging on your rate anyways. Give an inch on your rate and you will never get it back; companies hire whole departments to ensure that rate concessions, once taken, are never surrendered. Negotiate over project scope, not rate.
The question of whether you should go fixed price or time-and-materials is a reasonable one (and it's a negotiating point), but if you're going to bid time-and-materials, price in billable weeks, and estimate the number of weeks up front. Save the details about billable phone call minutes (and, seriously?) for your S.O.W.
IMO, at least - I think it depends a lot on what sort of clients and work you're doing.
Strong relationships are something that has value to me, so if I reasonably can, I'll tend to just do stuff that takes an hour or so for free. Every consulting proposal I write takes 2-4 hours from my life, minimally. The last one I wrote required a 3 person research project over several days. We'd never charge for a proposal, so I'm not going to freak out over 1-2 hours.
(Dave, Jeremy, and Cory might disagree with this assessment.)
If you're ever wondering why I have zero sympathy for designers complaining about "spec work", there you go.
- With some customers with large budgets and long projects I found that hourly quotes gives me a quick way to increase the team instead of negotiating a whole price. Say you have a team of 1 project leader, two developers and one QA and you found that you need two more developers because requirements changed, some customers just say "yes" and you are billing without too much sales and negotiation overhead.
- With agressive negotiators it's better to go to the fixed price (adding % of risk to your total).
Also when we quote by hour (indeed by days) we set a minimum budget for the project, so the customer can't reduce the project to just... three weeks, small projects can be a pain.
Because many projects we did involve reverse engineering and research we bill for that if the time required to know if a solution exists is more than 3 days and can't be solved in the pre-sales stage.
* $400/hour sounds expensive to anybody. But $32,000 might be cheap as far as project budgets go.
* Conceding $400 -> $350 is, first of all, more expensive than it sounds, and second of all is a concession that will last endure across all your projects. On the other hand, there are many levers you can pull to get $32,000 to $27,500 if that's where the client's budget needs to be.
At the end of the day, your "hourly rate" doesn't mean anything. Clients don't buy "hours", they buy outcomes (or checkboxes). Thinking about things in terms of your hourly rate is a good way to box yourself into bad engagements.
We obviously do a lot of reversing work too, and of course we bill for it --- it's part of the "Discovery" phase of projects that require it. There've been a few times when I've had to bust out IDA or a debugger to write a proposal, but they are rare.
I think the use cases you describe are very different from most of us. You said you could spend upto 3 days just working on a proposal. For some of us, 3 days of billed work with one client is the average size of a complete project. Can you see then how it may not be efficient to spend a day just working on a proposal and spec'ing things?
Like you, I always believed that as a client you pay me to achieve objectives--not hit keystrokes on my keyboard. In the past two months, I've refunded or canceled three fixed-price projects where it was simply cheaper for me to end it than proceed. One of them involved over 40 hours of work when my initial estimate was that it would be a 20 hour project. I refunded the guy's original deposit.
It's easy to say that I am just underquoting. But no matter what quote I give, I feel it's rather arbitrary given I cannot invest time like you to really delve deep into the project and get a real sense of the work involved. I have gone the whole "I am not going to underquote" route and after doing that for a sample set of projects, my post-martem revealed that I was either overbilling or underbilling clients. In essence I had some clients subsidizing the other clients.
This past week I've been working on my first "by the hour" gig. I've put in over 80 hours in the last 10 days. It's been a living hell for me work-wise. But at least I know I'll be compensated for it! And fairly! There was no way I could quote this client a flat fee and c
I tend to be very careful when dealing with aggressive negotiators. Yeah, they might negotiate aggressively up front, then be decent down the line, but I've had so many experiences with 'aggressive negotiators' attempting to change the deal later that I generally price in a lot more scope creep up front, and I make sure to charge them for things like phone calls or emails; things I might do for free for an easier to deal with client. I'm also much more aggressive about getting paid on time when I know I'm dealing with an aggressive negotiator than I am normally.
The thing is, good negotiators put a lot of effort into putting you into a situation where it's expensive for you to walk away, then they ask for more work before they pay you. I've seen guys who are several months late paying ask for another milestone before they send the cheque. The key when dealing with these sorts is to stay out of situations where it's expensive to walk away. Give the person a credit limit, (you are, after all, loaning them money when you do work post-paid) and if they exceed that credit limit, stop work until you get paid.
(I think one needs to be careful here; I don't think it's acceptable to threaten to break things if you aren't paid... but I think it's completely reasonable to just stop, and in my experience, stopping work is ridiculously effective. Every time I've tried it I've gotten a cheque overnight.)
In addition to that, the large-scale body shops serving the enterprise market, the ones we all know about that darken the skies with individually-billed people and squeeze as many hours as they can without the impression of efficiency, have left such a bad taste in the mouths of many people who no longer work in enterprise that you invariably have to fight against it every time you sell your services.
But if you hand them a quote for 1750, even with the 10 hour estimate baked in for their mental math to operate on (but especially if it's not, and once you quote an aggregate price itemising the time apart from overall delivery time frames for the most part ceases to be necessary), some switch flips in their brain. I cannot say what it is, or why -- it just does. Somehow, the combination of shifting the risk for overages onto you and the more opaque number causes them to start evaluating the overall sum more in terms of business value and less in terms of whether anyone should be making "that kind of money." It's really odd, but it has been overwhelmingly the norm in my line of consulting trade.
If you quote the overall price, and the project takes more time, it's not much of a problem for them; they won't end up paying any more than they would have otherwise.
Provide a top-line project cost number as an estimate, and then add an "additional time can be added to this project as needed at a rate of $XXX per day" clause.
The question of who assumes project risk is orthogonal to the question of how you choose to break out project cost.
Do you ask Apple how much it cost them to make that iPhone? No!
[1] If the requirements change, then of course, my price will change (most likely increase).
If it is someone in purchasing, it is higher than them. If you bill someone at an executive level it is equal to them (and they will think of this as below them), if you bill an engineer they will think it is higher than them.
Now, I'd argue that is a fair rate if you are that much more productive than the average developer, but it instantly makes people offended.
I still like the idea of billing by the hour though.
> Any client will have grand dreams of his product. He will constantly ask for new things, and think those were naturally implied from his vague sketches. If you have quoted a fixed price, and you were smart enough to have a detailed contract, you will need to fight him on every step, saying "we didn't spec that". Whereas, with an hourly rate, you can say "sure, let me estimate how much will this be". The client can then decide if it's worth the money.
Perhaps his method is better for projects with unclear scopes or first time buyers, and yours for clear scopes and veteran buyers? I see merit and potential uses for doing it either way, depending on the circumstances.
1) When I'm thinking about the project in the shower (where all the real thinking is being done) shouldn't the meter run? Apparently from the original post, the only billable time is the typing time, which is a little bit funny.
2) How do you know if you're fast or slow? Are you even consistent? Sometimes a stupid feature takes me half a day; sometimes something really complicated snaps together in an instant.
3) Even more so, the client has no clue of what time it takes to do something (and how could he, given that I haven't got many clues either, beforehand). If I tell him that it took me 3 hours to do X and 5 minutes to do Y he will be shocked! He will think I'm crazy, or bullshitting him, or that I'm trying to convey some other message that he'll spend the next week trying to decode.
4) What about warm-up time? When I get back to a project I left a week ago, it takes about an hour to get up to speed; how should this hour be billed?
Besides, every theory of pricing tells us that price should NEVER be based on costs. Price should be based on value because that's what it is: price == value. The problem of course is that the client won't tell you what the value is.
What I end up doing is:
- if I can get an idea of the client's budget, and I find this budget acceptable, then that's my price
- if not, my personal rule of thumb is (maybe counter-intuitively) to bid low on things that are new for me (and interesting), because I really want to learn the skills and get the reference on my portfolio; and to bid relatively high on things I know well, because I don't really care to get the project or not, and if I do get it I expect it to contribute financially to all the other stuff.
(So if you want to hire me cheap, make me do something I've never done).
Also, it's been my experience that clients care about the price before the project begins, but never after.
My point exactly...
Actually, my whole point was that I try to bill:
(value to client) div (my willingness to do this particular project)
I agree, and from both sides of the table. I've provided added services to projects where the total value of the added services were a multiple of the initial cost, without getting any complaints or requests to lower the budget. I've also paid many extra hours for additional work and never felt bad about paying for any of it; and I'm very cost conscious and drive a hard bargainer when I get an initial offer.
I think it's a trust thing, after the other person has shown that they're capable of providing high quality services, cost is not so important any more, while if you're just getting quotes from people, you have no way to find out the true qualities of the people you're asking (usually). Even references from people you know personally sometimes end up blowing up in your face, a guy may be having a bad day when he's working on your project, screw up and refuse to fix it. Relationship-breaker right there, while he may have done an (objectively) great job at your brother in law's project last year.
Secondly, tptacek is right again. Once you bid $125/hour, you're stuck at $125/hr. Even if you save your client that $2,000 month for 5 hours work, they`ll expect to pay you $625 and nothing more.
Be warned, this post is spot on if you always want to earn the same amount of money but you will never grow a company with this billing method.
OTOH, if you want to do fixed bids, you better have a really good idea of exactly how much time it's going to take you. This means that you should concentrate on doing only things you've already done, or that are very similar to them. Otherwise you'll run into something you didn't even know you didn't know and blow your estimate and eat the losses yourself.
I've raised my rates at least a dozen times over the past decade, and not a single client has complained. It just requires clear communication and a reasonable ~month's warning.
Also, who says you are stuck at your initial rate? Whenever you want, you can increase it. Many clients will have no problems with this, if you are worth it. Some will, but that's typically the kind of clients you can afford to loose anyway.
When looking at a new project, I can usually estimate the time it will take me to within a few hours and then I always add an additional 25%. I don't ever bill a client for phone calls or emails and even when the project is completed will answer emails/phone calls from them to assist. Yes, my prices are a bit higher than average but my clients don't mind paying it and don't mind passing my name along.
When dealing with a new project that I haven't a clue as to how long it will take me, I give an estimate about how many hours I believe it will take me and, if it gets close to that, the client is immediately told and we decided together how to move forward.
My contracts are also pretty detailed. I learned early on that specs that aren't spelled out in a contract have a way of coming back to bite you.
On fixed price contracts there is lots of haggling over the exact scope, requirements, changes and meaning of words in the contract.
Hourly billing lets me smile and say "sure thing" to more requests, something that I actually prefer doing.
(The site took > 60 seconds when I first tried to load it.)
However, hourly definitely has it's place as well. I find offering both a good compromise.
If you can always afford to walk away then this could actually work.
I always give my client's the option of fixed or hourly and really emphasize the benefits of hourly. However I've only been taken up on the hourly offer a few times with recurring clients.
I think it's a great thing to strive for but my advice to freelancer's starting out is not to flat out refuse fixed quote unless you can afford to. Fixed, while not quite as accurate, is still workable once you get a feel for defining requirements on smaller projects. And any larger project can be broken down, so long as you're getting paid for the spec.
Whatever you do don't spend a riculous amount of time specing out a large project without being compensated. I've gotten so many RFPs that are obviously the product of spec work and I'm positive most were unpaid. In fact I guarantee there are forums dedicated to tactics and advice for getting spec work done for free.
I say this from hard experience, the jobs I've taken against my better instincts are the ones that have bitten me badly.
Another thing that's important is to know WHO you are pitching to. I charge predominantly T&M, and my ideal clients are existing dev teams that are looking for an extra pair of hands for a particular project. Matching your billing model with the kind of clients you want to work for greatly increases your chances for success.
After reading some of the other comments I've decided to stop even giving them the option of an hourly rate. Works been very steady (too busy ATM) and like I said there's been very little uptake on the hourly option anyways.
I agree that it definitely makes sense to change your model to reflect the type of client.
Most other clients are more concerned to know fixed amount of time and if project took less - they want to get it back, although I negotiate that successfully so far =)
The worst case is - estimate in hours. =)
Edit: Usually, just stopping when the hours run out isn't a good choice either, because most of the projects we have won't provide a partial solution. It's all or nothing. Example: converting data between two formats. We discover a quality issue when we've run out of time, so the converted data is unusable.
Yes this costs the company more, but if they expect you to take on their budgetary risk, then you are providing insurance, and that is potentially worth a lot more than the actual development.
Edit: If you think that 20 is a real outlier, and 12 is your average case, use something like the PERT formula: ( [Optimistic] + [4* Realistic] + [Pessimistic] ) / 6
If O=10, R=12 and P=20, that would give you an estimate of 13 hours.
You won't be able to leverage your gray hairs and the time they save you as efficiently with an hourly fee.
If the project is well-defined you might be tempted to accept a fixed price and crank it out quickly which will net you more money per hour. I'd advice holding of atleast a week even if you do it in a day or two or the customer will start questioning your price ;)
If the project/customer is fast and loose with the spec and functionality (as most projects are) you're in dangerous terroritory where constant changes keeps eating away at your time.
If you can get a high hourly fee and the project is fuzzy, go for it, meetings and stuff like that will earn you a bunch anyways.
Another strategy is to split the project into discrete parts and charge a fixed price for each (negotiating each one), that way it's easier to define the scope of the project and it eliminates risk both ways. It also gives you and the customer have a chance to get to know each other before committing to the project and helps avoid being in the clutches of a psychopath customer.
In an industry that is known for software taking 10 times longer than estimated, clients have good reason to try and protect themselves with upfront pricing. The fixed pricing forces me to become better at planning ahead and giving good estimates. The trick is to document every detail of what they get for $XX and agree that any changes to that will cost extra.
Software development depends largely on inspiration. Sometimes I'll crank out a weeks worth of code in one day. Others I'll stare at a screen all day and produce very little. In the end it all averages out, but I do feel bad billing for the unproductive hours even if I know it's fair in the end.