Blog

Mark Richman (Blog – Twitter) wrote a thought-provoking post about why he never bills by the hour. He uses a fixed-rate, value-based billing system; he works with the client to build an exact estimate first, comes to an agreement on the price, and then starts work. I do like that approach, but I haven’t been able to make it work for my own side work (performance tuning).

I like Mark, and I subscribe to his blog because he makes me think about my stances. I’ll quote each of his points, and then explain why I disagree.

“1. There is a cap on your investment. You know exactly what is to be spent and there are no surprises.”

When you take your car to the mechanic, there’s two reasons why they ask for your phone number: to call you when the car’s done, and to call you if they found more things the estimate didn’t cover. It’s up to you, the customer, to decide whether or not you want to put the car back together without fixing it, or whether you want to eat the costs for the other things they found.

You can has surprise.

The only times I’ve seen a perfectly estimated IT project was when the project manager swept all surprises under the rug:

“We won’t tell them about that emerging problem – we’ll just wait until it actually jumps out on its own and bites them in the rear, and then it’ll clearly be unrelated to the work we’re doing here. Otherwise, they’re going to say we found it and we need to fix it even though it’s out of spec.”

Fixed billing means that every new problem turns into a blame game – with hourly billing, the politics are completely removed. Decide if you want to fix the problem, and decide what it’ll cost – rather than padding the initial bill with wildcard numbers for potential problems that might pop up down the road. In the comments on the original post, Mark and others suggest that the answer to new problems is to submit a new proposal – but wait, I thought there was a cap on the investment and there wouldn’t be surprises? Hmm….

“2. There is never a meter running. You do not have to worry each time my help is requested that I might be here for an hour, a day, or a week.”

As a consultant, my worst nightmare is a client who expects to snap their fingers and have me show up instantly – and permanently. I’m no genie, and you don’t get unlimited rubs on my lamp.

There’s a word to describe people that you can call on for unlimited help at any time: employee.

“3. It is unfair to you to place you in the position of making an investment decision every time you may need my help. Otherwise, you’re trying to determine the impossible: Is this an issue that justifies a $2,000 visit or a $500 phone call. No client should ever be in that position.”

I feel the exact opposite: there is nobody better than the client to determine how painful an issue is. If you don’t feel that the issue is worth paying me for a few hours, then let it wait until our next scheduled meeting. If the issue is causing your business a ton of pain and you see value in paying me to fix it, then pick up the phone and let’s make the magic happen faster.

“4. Your people should feel free to use my assistance and to ask for my help without feeling they have to go to someone for budgetary approval. This only makes them more resistant to sharing their views, and at best delays the flow of important information.”

Just one more item on the agenda...

I like my clients. If I’ve got a relationship with a client, I genuinely care about their team and what they’re trying to accomplish. However, even my best friends have to respect my time. The best way to illustrate this is with internal meetings. How many times have you been sucked into time-wasting meetings that don’t have an agenda and don’t accomplish anything? This is what happens when nobody values time. If each person in the meeting had an hourly price, and that price floated over their head in a bubble, you’d better believe meetings would finish a lot faster.

I encourage my clients to email me anytime, no matter how small the problem. If it’s something I can fix over email, I do it without charge. Like Mark, I want to encourage the flow of important information, but time-consuming meetings and phone calls aren’t the only way to get information across. They’re the most expensive ways, and I want to cost you less.

“5. If I find additional work that was unanticipated but must be performed, I can do it without having to come to you for additional funds. In those instances, legitimate, additional work would otherwise be viewed as self-aggrandizing and an attempt to generate addition hours or days.”

If the client trusts the consultant, then they won’t see it as self-aggrandizing or a push for more billable time.
If the client doesn’t trust the consultant, then it doesn’t matter what billing system is used – the client’s going to suspect the bill is padded.

“6. If you find additional, related work that must be done, you can freely request it without worry about increased costs.”

Under fixed billing, it’s up to the client to *prove* that the work is related and that it must be done. Fixed billing creates this conflict between client and consultant, and this review process never ends.

Under hourly billing, you can bring me any work you’d like – related or unrelated. If your project changes scope midstream, it’s not a problem. Whatever you want me to do, I can do without arguing about whether it’s related. I find this relationship works better both as a consultant and as an employee – I just want to deliver satisfaction, not a set of fixed deliverables, because nothing’s fixed.

“7. The overall, set fee, in relation to the project outcomes to be delivered, is inevitably less of a proportional investment than hourly billing.”

I’m not quite sure what this is saying. If it’s saying set fees are inevitably lower than hourly, I just don’t agree. The word “inevitably” needs evidence.

“8. If conditions change in your organization, you wonít be in the difficult situation of having to request that the project be completed in less time. The quality approach is assured, since the fee is set and paid.”

Translation: all sales are final.

With hourly billing, if the client’s conditions change, their options are always open. If you decide you’d rather have internal staff complete the project, you can do that. If you’d like to bring in more consultants, you can. If you just want to pull the plug, you can.

“9. If I decide that additional resources are necessary, there is no cost to you and I can employ additional help as I see fit.”

I'm not sayin, I'm just sayin.

If a consultant wants to work more without getting paid more, then it doesn’t matter whether they’re using fixed billing or hourly. They can just do it.

On the flip side, if I find out that LESS resources are necessary, the client is screwed under fixed billing. Or is Mark saying he’d refund some of the price? In which case, that’s not fixed billing….

“10. This is the most uncomplicated way to work together. There will never be a debate about what is billable time (e.g., travel, report writing) or what should be done on site or off site.”

The key to successful fixed billing projects is building a perfect spec before the work starts – and who pays for that? Before the consultant and the client can agree on a set of deliverables and a price, they have to build that set of deliverables. Building the list of deliverables takes time and effort – but who pays? It’s complicated. What if a consulting company helps you build your set of deliverables, but then you shop those deliverables around to other companies – and decide to go with another company? Do you pay them? Do you have to renegotiate the deliverables with the new company, especially if they disagree about related work?

As someone who has been a consultant for the last 5 years, there are three words that strike fear into my heart: fixed bid project. I’ve never been on one of these that has gone well. Everything bad that can happen on a fixed bid project has happened to me on one and the results have usually been disastrous – coding death marches, people screaming at me in my cube, and both features and deliverables slipping further and further away from a profitable delivery.

By direct contrast, whenever I’ve worked on time and materials projects I’ve always been able to say to the client “We’ve found a problem with XYZ. It is solvable. Here is the solution. It will add n hours to the project plan. Or, we can do this ABC thing.” Just like going to the mechanic.

I had a friend, years ago, who worked in construction. For those that don’t know, construction jobs are frequently decided on a lowest bid system. It’s a fixed bid. I asked him how companies ever made money and his response was “Well, people bid the project like a bunch of minimum wage idiots are working on it and then change order the project up to the rates they want.” It never made sense to me.

Like you said: if you want me to do something, you are paying me. If I’m at home watching re-runs of Futurama, you aren’t paying me.

I would hesitate to say that only a complete spec is needed. There are even things outside the spec (environmental things like company inertia and delays in getting deliverables) which you can never nail down, EVEN if you are an insider. In any case, you know there is never a full spec. Everyone knows that.

Richman’s fixed bids are value-based, so he’s maximizing his bid based on perceived client end-value – and ensuring that it closer to their value than his cost. (All assuming that the cost will never exceed the value, which we’ll get to in a second…)

Of course, clients are not getting the best savings that way, but they are trading off savings for the comfort of a confident expert.

For Richman, this is a classic jiu-jitsu move of using the client’s strength against them. They are confident in the project’s tremendous value – after all, it was their idea. But because clients ALWAYS over-estimate the value of any strategic endeavor, thereby negotiating against themselves – since the higher the value, the more Richman will be able to take. So they will typically be even worse off in this scenario than if they had hired an hourly consultant and some quality full-time staff.

So Richman helps himself on the top end, but will lose out every time the costs exceed the value – which is when the management estimates of value (and thus the cap on what they are willing to pay Richman) are exceeded by the costs Richman has to expend to get them to the contracted target.

So the key for Richman is, how does he know that his costs to achieve the target (plus his profit) are less than the value he’s extracting? How does he get his estimates of cost accurate when he’s an outsider? And how does moving important cost decisions in the project to him affect his ability to deliver?

Richman’s scenario has unlimited downside and limited upside. He HAS to have some kind of governor where he says NO.

Keirsey’s terms are nice, but his definitions are not useful for functional analysis. As such, i use his major groupings, but not his minor ones. But i can’t say i protest when people call me mastermind.

I’m with you on all these points, Brent, especially your point about it depending on the type of work being done. Almost all my work starts out as project-driven, architectural design. But it almost always expands to training people on tools, helping them evaluate tools, helping them figure out the best way to use those tools, figuring out naming standards, figuring out what the detailed process should be. The latter work is more consulting that the original intent. It would be difficult for anyone to calculate up front what the effort might be.

Other work, such as a timeboxed, high level review of something that already exists, with no requirements to fix anything as part of the effort, is easier to estimate and can be done as a fixed price, but mostly due to the fixed time and scope.

One other thing: There’s also a place for retainers. I have one long time client where they compensate me for my being available, ad hoc, for a maximum of 4 days a month. Sometimes months go by with no contact and other months they use me for a week.

This is a nice balance for not having to go up and down the procurement chain to get some help when they need it. It’s a nice balance. I wish more clients would do this: it’s nice not having to get signatures and insurance certs just for a couple of days’ work.

I agree about retainers. I’ve also started pitching another angle – telecommuting days. I’ll go to the client’s office and work remotely for the day. They pay me a set rate, and I’m available for up to 2 hours of meetings. They can pull me into whiteboard sessions, ask quick questions, etc. Some things work better in person, but they don’t have enough work to pay for a full day of labor, so this gives some interesting flexibility. If they want to order lunch in, we can do a working lunch too. They can pay $X/day, and set it up for a specific day per week or per month.

Brent, Great breakdown of why you always charge by the hour. You touched on all the reasons why I always charge by the hour as well (given that I’ve sadly learned some of these things the hard way).

That said, I think that Mark is actually outlining the stance of a CONTRACTOR, where you and I typically take on the role of a consultant.

Those terms are commonly treated as almost being synonymous within the industry, but I think they’re TOTALLY different.

Contractors (in my mind) are hired to do a job at a fixed cost (ideally). Typically, they’re brought in to do a unit of work – something that the client wants/needs completed and as long as the work is done to a certain spec or agreed-upon level of quality, the client doesn’t care about the implementation details.

Whereas, as a consultant, I see my role more along the lines of being a coach or guide/resource on-tap to help clients when they CARE about implementation details. Say, for example… their backups: they’re doing them internally, but they’re not sure they’re covered well enough after hearing horror stories of how things went wrong for another company/etc. I come on hand to given them the expertise, insight, and guidance they’re missing.

Granted, I sometimes then take on ‘contracting’ tasks as a service to help them implement some of the changes I’ve recommended (or, at other times, I ‘coach’ their employees through making those changes)… but either way, charging by the hour is how I ‘roll’ because I’m offering my best service when the client is engaged with me.

In other words, Marks’ comments seem geared towards a mind-set of AVOIDING friction for his clients – which makes sense for contractors. They do better when they take the ball and roll with it and get the ‘job’ they were contracted to do done. Consultants, on the other, hand should WELCOME that ‘friction’ – not because it means they’re getting paid, but because it means that their client needs more information, guidance, or help – which means, in turn, that the consultant is providing value to the client. And that value is just a ‘commodity’ (for me) that comes in an hourly form.

Brent, great summary of the pluses and minuses and I’ve seen it done each way and have had people pay on retainers as Karen indicated above.

From the client side I can see how they would want a fixed price to budget to and not have to worry about how things got completed or how much time was left in the budget or anything like that. The trouble is that most clients don’t know exactly what they want to the point where you can put a fixed price to it or your upfront investment has to be huge to figure that out. I have also seen it where the client paid for a fixed price contract only to have the project get canceled and the vendor didn’t want to refund the fee. It can get really messy when something like that happens and the relationship ends up being soured so that vendor-client relationship is irreparably harmed.

Interesting – I’d love to hear more about the distinction between fixed fee and value pricing. You can’t do value pricing without fixed fee, can you? I’d feel really odd going to the client saying, “I can’t tell you how much it’s going to be until the end, when we discover how much value you’ve gained.” That would be pretty awkward…

Ultimately, both result in a static priced quote to the client, but fixed is based on a cost estimate to the developer and value is based on a percentage of the value to the client. Hence, fixed bids are almost always too low.

When billing hourly, you are, in essence, saying to the client “I can’t tell you how much it’s going to be until the end” too! Providing an estimate of hours to the client ahead of time immediately puts them in “multiplication mode”, simply deriving a dollar value from your estimate X $/hr. If the client doesn’t like the dollar value, he’ll immediately attempt to negotiate down your rate. You are not a commodity like orange juice.

I think it is important to note that Mark Richman’s “thought-provoking” post is simply copied verbatim from Alan Weiss’ book “Getting Started in Consulting” (page 169). If you haven’t read the book, you should.

Personally, I haven’t yet found a way to make value-based consulting work for software development.

As Mark says, it would take a bit of time to address all your points one by one, but I’ll try to find time soon.

But just on your first point, when you took your car to the garage what did you tell them? I guess it was something like, “My car’s broken. Get it back on the road please.” And the mechanic said, “Sure. From what I think is wrong at this stage, it’ll cost you $500 all inclusive. But if it’s worse, I’ll call you and tell you how much extra it’ll be before I continue.”

The conversation could then have gone two ways, OK three if you’d said no thanks! Either the mechanic would have suggested a diagnostic check for $100 after which he could have given you an accurate fixed price quote. And he may or may not have said you’d get you $100 back if you gave him the major job. Or you could have said, “Sure. Get started. Ring me if you find anything unexpected.”

If you took my second option, as you say you’re unlikely to reply, “No leave it in bits.” What’s happening is happening because the project is remaining within the scope you agreed to – Get it back on the road. Because you didn’t allow the mechanic access to all the information necessary to make a more accurate appraisal, he was unable to accurately assess his cost in terms of time and materials, this undoubtedly being the means he had used to compute his charge. So in this instance he decided to give you the ‘get started and see what happens’ option.

The point I am trying to make is that calling back and saying that actually the job is more complex than first imagined is not an example of scope creep and is within the scope of the project, but not within first fee quoted.

So how could the mechanic have based his fee on value? He could have asked you about the cost of replacing the vehicle entirely, less the scrap value of the broken car. He could have asked what difference it would make if it was never fixed; how much you’d spend in bus, train and taxi fares; how much business you’d lose by not able to get anywhere, whenever you wanted, or even while you were fining amd buying the replacement; etc., etc.

He could have insisted on the $100 diagnostic and said he just wasn’t prepared to fix your car without it. Having done some quick mental arithmetic to check he was proposing a profitable fee, he’d then quote you for getting the car back on the road at a price that was a small fraction of replacement costs or the losses you’d incur by leaving it rusting on your drive. If it wasn’t profitable he’d decline the job.

This is not cost-based pricing; it’s value-based costing. There’s no blame, no ‘padding with wildcard numbers’, merely checking that even in the worst scenario he is making a living. The effort, hours and the price of the materials and spares used is of no importance to you. The end result of course is, as are the quality of the parts and the workmanship – but in that sense would you scream for the cheapest heart surgeon when your wife had a cardiac arrest?

“So how could the mechanic have based his fee on value? He could have asked you about the cost of replacing the vehicle entirely…”

If any mechanic ever asked me, “So what’s your car worth to you?” or asked me “How much are you gonna lose for each day the car is out of commission?” then I would start to feel like I was being extorted, and I’d immediately find another mechanic.

Brent, let me paraphrase you with a little of exaggeration – there is a word for someone who bills by an hour – employee.

I think all this hourly versus value billing is about balancing the risks and responsibility between you and the client. I like the way how Jonathan Stark explains this.

The key point and benefit of value based billing is this one benefit for the client: the final value generated is defined in advance (by the client) and the cost is defined in advance as well, so at the time of the client’s decision making there is a 100% confidence that this project will be profitable for the client. What is not defined in advance is your costs (time, resources, anything). In other words, the client will always profit from the project, but it is up to you whether you will profit from it as well. Wait a moment before responding that the client can increase your costs by requesting to much extra “related” work which “must be done”.

With hourly billing, on the other side, you have no risk, except that you may not enough orders to keep you busy. You do not have to care what value your work brings to the client, because you make the client responsible for deciding which work makes sense. You do not even have to care which of the available approaches is the most efficient for the client. The down side is that you are loosing an ability to compete against someone who bills by value in the terms of avoiding risks.

You can read in many articles that with software projects you can never fix more than one of these three variables: time (deadline), feature set, costs. With hourly billing you are fixing the feature set or time. You can never fix both and you can never fix the costs although clients always ask you to do that and if you do you’re guaranteed to get a dissatisfied client. With value-based billing you fix the cost but never the feature set and never the time .

This is important, so let me repeat it: With value-based billing you never fix the feature set and never fix the time. Your task is to achieve the defined goal for the client, and your is the liberty and responsibility to decide how you will achieve it. If the client asks you for extra work then, you should ask 1 question: Can I achieve the goal without doing this extra work? If you answer yes then you are not required to do the work and your is the liberty to decide whether you want to do if for free. If you answer no than you would have to do it anyway and it’s not an extra work and in fact the client actually helped you by finding out and telling you that it is necessary.

As Jonathan Stark explains, the difference is that with hourly billing you define the maximum amount you can bill for an hour of your work, and so you define the maximum monthly income you can generate from your own work. With value-based billing you define your minimum hourly rate and then do your best to avoid getting below this minimum by simply not doing projects where you cannot generate enough value for the client.

There is one (and really only one) legitimate reason to bill projects by hour: to leave the responsibility for the project’s efficiency to the client. A little bit simplified version of this thought: You will bill by hour if you do not want to or are not able to manage the project’s profitability.

Profitability of the project is obviously value – costs. The client has control over the value, you have control over the costs. As long as the value is defined as fixed by the client at the beginning, then you are the only one left able to affect the project’s profitabiliy. So if you want the client to be responsible for this by deciding how much work he orders from you then you are actually asking the client to do a part of your work. You are asking him to manage the project and tell you what to do.

Without any doubt, many clients will like to manage the profitability of their projects. If you want to work for such clients, bill by hour. But expect to be in the position of a freelancer, rather than a supplier/contractor. These clients will hire you for their projects only if you are cheaper for them than an employee in the meaning that they do not have to keep paying you when the project is finished, they don’t have to utilize your full capacity, etc.

Clients who prefer minimizing risks over maximizing profit of individual projects will prefer being billed by value. On the other side, you, when billing by value, open yousel the opportunity for higher revenues, at the cost of higher risks. You could eliminate the risks by hourly billing. A better (but more difficult) way to minimize risks is through knowledge and skills.

I can even think of a skilled freelance project manager who bills by value and hires developers who bill by hour…

Honza – thanks for taking the time to put so much thought into this. Here’s my thoughts:

“There is one (and really only one) legitimate reason to bill projects by hour: to leave the responsibility for the project’s efficiency to the client. A little bit simplified version of this thought: You will bill by hour if you do not want to or are not able to manage the project’s profitability.”

I agree wholeheartedly! I don’t want to be a project manager.

“These clients will hire you for their projects only if you are cheaper for them than an employee…”

My blog is targeted at SQL Server professionals. In our business, we’re usually called in because the company doesn’t have an employee with our skill set. They hire us contractors because they can’t find anybody who does what we do at any price.

But you’ve got me confused there – are you saying that value-based contractors don’t have to worry about whether or not they’re competing with the cost of full time employees? That doesn’t seem to add up.

“I don’t want to be a project manager. [snip] My blog is targeted at SQL Server professionals. In our business, we’re usually called in because the company doesn’t have an employee with our skill set. ”

Then your hourly billing makes perfect sense. As Karen correctly pointed out it depends on the type of work.

“are you saying that value-based contractors don’t have to worry about whether or not they’re competing with the cost of full time employees?”

Yes! Sounds unbelievable?

Look at it from the customer’s point of view. Value-based billing is like an investment. Let’s say I invest $10,000 and get $50,000. That’s all I need to know. With no risk, this is a perfect investment. I don’t care that a fulltime employee might be able to do the work in a month for $5,000. He is not able to guarantee that in advance and if I don’t have another project for him to work on when he is finished with this one I either have to keep paying him or go through all the mess to fire him, which actually means extra costs anyway.

“Let’s say I invest $10,000 and get $50,000. That’s all I need to know.”

Ah, yes, Bernie Madoff’s sales pitch.

I didn’t invest with Bernie Madoff, and I don’t buy value-based billing. The more explanations you’re giving me, the more I’m convinced that it’s a bad idea for the customer. The customer does indeed need to know more – or at least, the customers I work with.

Like Bernie Madoff, you might be able to find suckers willing to go for that pitch, and you’ll make a ton of money off ‘em. That lifestyle is not for me.

Brent, I’m guessing that the majority of the type of work we taken on (mine usually fixing something that is terribly broken) don’t translate well to value based estimating for the reasons you point out. If your car was dead on the side of the highway, you don’t want to go with the shop how says “I’ll charge you based on how badly you want the car to be fixed”. That really does start to smell like extortion.

But other projects, such as ones that are less “fixing” and more “enhancing” might fit this model better.

The main reason why I don’t see it working on my type of work is that in the statements above, I see “responsibility’ also requiring authority. I don’t always have the authority to make changes, only the responsibility to make recommendations. That’s because I’m doing work on a segment of a much larger system. Any changes I recommend must fit within a larger program, so I can’t just make them and hope everything else works out well for everyone else. Yes, the changes will add value, but I can’t guarantee it because I can guarantee that the changes will be applied.

In order to do the value based stuff, I think there has to be a great deal of authority.

One final thought on the “cheaper than a employee” part: I’m not cheaper than an employee. I am less expensive than the group of employees they have who have tried to fix the problem before. It’s not a 1:1 comparison.