Via 37Signal’s Signals vs. Noise blog I came across a fascinating post written by Brian Fling of Blue last year on pricing a project. I’d like to talk about it and to explain my own philosophy. First a extended quote from Brian:
I find it funny… in a sad sort of way, that we often
start out our partnership with bluffing, no one saying what they are
really thinking… how much they are willing to pay and how much it
should cost… Though every book I’ve read on the topic of pricing says
to never ever ballpark, I have a tendency to do so. If they can’t
disclose the budget I typically try to start throwing a few numbers
from previous projects to help gauge the scope of what we are talking
about, call it a good faith effort to start the discussion… While this
is very awkward part of the discussion it is almost always followed by
candor. It’s as if once someone starts telling the truth, it opens a
door that can’t be closed.
I completely agree that candor is the only way to work with clients.
Maybe it’s the Quaker influence: we reportedly pioneered fixed pricing
back when everyone haggled, with the philosophy that charging true
costs were the only honest way of doing business. My official rates and contact page includes my list of “typical costs” — essentially these are the “ballpark estimates” that Brian talks about.
When I put together estimates I base it on my best-guess informed
estimates. I start by tabulating the client’s requested features and
determining how I’ll achieve them. I then estimate how long it will
take me to implement each feature and use that to determine a
first-guess for project cost. I then compare it to past projects, to
make sure I’m being realistic. I know myself well enough to know I
always want to underestimate costs – I usually like the project and want
to make it affordable to clients! – so I do force myself a reality check
that usually ends up adding a few hours to the estimate.
When I put together my official estimate I try to guess where
potential bottlenecks might happen. Sometimes these are technical
issues and something they’re more social. For example, a client might
be very particular about the design and the back-and-forth can take
longer than expected. If I think anything like this might happen I
mention it in the estimate. Sometimes as we work through the details of
a feature I’ll learn that the client wants some enhancement that we
hadn’t talked about previously and which I didn’t factor into the
estimate.
When I do see a particular part of the work taking longer than
expected I flag it with the client. I try to keep them informed that
this will add to total costs. In many cases, clients have been happy to
go with the extra work: I simply want to make sure that we both are
aware that the estimate is changing before the work happens.
I charge by the hour rather than on a per-project basis since I find
it to be a much more open business model. Brian Fling’s post agrees:
The problem [with per-project billing is that] one way
or another somebody loses, either the client pays too much, meaning
paying more than it’s market value, or the vendor eats into their
profit… One benefits to hourly billing is the client is responsible for
increases of scope, protecting the vendor and the customer. If the
project is completed early the client pays less, protecting the client.
This puts the onus on both parties to communicate regularly and work
more effectively.
I have very little overhead: a home office, laptop and DSL.
This means my rates are very competitive (one client described it as
“less than plumbers and electricians charge, more than the kid who mows
the lawn”). Being very careful with estimates mean that I often
communicate a lot with clients before I “start the clock.” I’ve often
worked with them a few hours before the estimate is in and we’re moving
forward and of course some of this un-billed work doesn’t result in a
job.
Putting together fabulous websites is fun work. It’s very much a
back-and-forth process with clients, and it’s often impossible to know
just what the site will look like and just how it will work until the
site actually launches. Half of my clientele have never had websites
before, making the work even more interesting! It’s my professional
responsibility to make sure I work with clients to foresee costs, dream
big, but most of all to be open and honest about costs as the process
unfolds.