How to Estimate a Web Site Project
There's no getting around it - almost every web site client you'll ever have
will want a cost estimate before work begins.
If the prospect makes you anxious, you're not alone. Estimating a web project
is not easy to do, even for pros. In fact, some very skilled
web developers I know use systems of estimating which have more in common with
consulting a Magic 8-Ball than with detailing time and costs - basically, they
make wild guesses. Although this may get the unpleasant task over with quickly,
it's not helpful for keeping
clients happy or for running a viable business.
some preparation and organization,
estimating can be done with reasonable accuracy, and without any permanent
damage to your mental health.
A Few Thoughts on Free Estimates
Some web developers offer free estimates as a matter of policy. I believe
that this can be problematic, especially for very small companies, and so recommend
giving it due consideration before publishing that offer.
The reasoning is simple: estimating well takes time, and not every estimate
will net you a contract. Depending upon your market and the tone you set with
your business, you may get a lot of "shoppers". Shoppers
are looking to get estimates from several companies and compare them, and you
may very well be only a pawn in their process of finding the supposedly "best
deal" - or worse still, in driving the price down with someone who they've already
decided to work with.
If this turns out to be the case, it's not the end of the world, of course
- but how many times a month do you want to spend several hours (or more) working
for someone for no pay? Of course, that decision has to be up to you.
In my business, we provide an estimate for free if we think that an accurate
specification can be determined and written up within a couple of hours. If
we feel that it's a complex enough project that it will take us 5-10 hours or
more of meeting, talking, researching, and writing and re-writing the specifications,
we charge for that time. We tell the client that we'll be spending valuable
consulting time with them, determining their needs,
and that we'll produce a detailed specification document and cost estimate.
This information is obviously of value whether or not they decide to work with
us. If they do decide to work with us, the cost of the specification-development
phase is applied to the total cost of the project. Either way, their money is
After all, developing a web site is not the same as painting the living
room or fixing a leaky faucet. Free estimates and convenient price-shopping
may be commonplace in a lot of industries, but they aren't necessarily appropriate
creative and technical work.
But whether or not you're being paid for your time, the process should be
A Five-Step Process
Estimating is essentially a five-step process:
- Determine what the specifications are for the site
- Break these specifications down into as many smaller tasks as possible
- Figure as accurately as possible the amount of time each task will take
- Add up the total hours and multiply by your hourly rate
- Add a percentage for contingencies, add expenses, and total it all up
Determine what the specifications are for the site. This
is usually the most difficult part of the process. Clients often don't have
a clear idea of what they want; they need your help to clarify and articulate
what kind of web site they have in mind. This can be done through in-person
or telephone meetings and emails, but you have to take the wheel, and you often
have to persevere through a certain amount of uncertainty, hesitance, and outright
It's helpful to have a list of the various aspects and features
of web sites to help you and the client through this process. Your conversations
need to cover every aspect of the proposed web site, including:
- Total number of pages
- What kind of navigation bars or menus
- More than one page design?
- Number of custom graphics needed
- Number of graphics provided by the client
- How design-intensive a site do they want?
- What type of text content, provided in what form?
- Interactive forms? How many fields?
- Database-driven applications? (Detailed description of all functionality
- Administration areas?
- Domain registrations or changes?
- Hosting arrangements?
- How important is search engine positioning?
- Will any client training be necessary?
You won't get all of this information worked out in a single conversation.
For me, the process usually involves a series of conversations and email exchanges.
After the first consultation, I go over my notes, usually typing them up so
that they're easier to read. I then write out a "sketchy" specification, usually
somewhat vague at this point. This makes obvious what information I still need.
For instance, the client may have told me, "We want to display photos of the
houses our firm has built", but I need to know more. How many photos? Displayed
in what way? With thumbnails linking to larger photos? Will they need captions?
In what form will he be providing the photos? These questions are jotted down
for the next conversation. When I have a complete list of questions, I phone
the client, making sure he has some time to spend, and I ask him the questions
one by one. The discussion is usually far from linear, and may jump from one
subject to the next, but I make sure that I'm in charge, and that I get the
information I need. Remember, the client doesn't know how to write a specification
for a web site - you do. The tangents and side-trips often provide valuable
information too, so I try to be sure to listen well.
A friend of mine recently took a sales seminar, and came back very excited
about what he had learned. Basically, he said, he learned that he needed to
really, really listen to his potential clients and customers.
This is crucial during the specification-development phase. But again, be sure
that your questions are answered, and that an unfocused or overly chatty client
doesn't waste everybody's time.
Always take notes when conversing with a client. Even if they are just scrawled
notes, make sure you commit the crucial points of the conversation to writing,
and be sure to date it.
The information you have after this second meeting may be enough to write
up a detailed specification. Add the information you've gained to your sketchy
specification document, and see if you can flesh it out enough that you feel
you are very clear on what's expected of you - and that the client will be very
clear on what he is getting for the estimated price.
A note on pinning the client down on specifications: web site clients are
notorious for figuring out what they really need and want only after a contract
is signed and work has begun. This is so common that there's really no point
in fighting it - it's almost guaranteed that the specifications will change.
No problem - but make it clear to your client that when the specifications
change, the cost estimate will change as well. Say this more than once
during this phase: "This specification is only a snapshot, so that I can provide
an estimate. If you add or subtract significant content or features, the
cost estimate will definitely change. When that happens, I'll provide you with
of the change and the difference in cost."
You may need more conversations, or a series of emails, to clarify the specifications.
Don't rush it! Be sure that you have enough information before you commit to
an estimated cost total.
Break the specifications down. Now, take each part of the
specification document and break it down into as many actual tasks as possible.
instance, "Gallery of 30 photos of 6 different houses" might involve:
- Receiving and sorting out client's photos
- Cropping, sizing, optimizing, and renaming photos
- Working with client to figure out how to present photos
- Creating thumbnails
- Building pages
- Receiving client's feedback, correcting and refining gallery page design
Figure how much time each task will take. This part of the
process requires a little brow-furrowing. For each task in your list, make your
most honest estimate of the time it will require. Be realistic. You
may want it to take one hour to build an entire page draft, but the reality
is probably going to be closer to three or four hours. Give yourself enough
time to do a good job! And remember - this type of time estimate is almost always
short. Be generous!
Add up the total hours and multiply by your hourly rate. Even
if you don't plan to charge the client by the hour, but rather by the project,
figuring by the hour is the only reasonable way to go, as it's the
only real available objective measure of "how much work". The client
doesn't need to know anything about the hours you're estimating it will take
you, but you should know this.
Figuring your hourly rate is beyond the scope of this article; we're assuming
here that you have decided what you need and want to earn for each hour you
work "on the clock".
Add a percentage for contingencies, add expenses, and total it all
up. The "contingency allowance" is something that experienced
web and graphic designers don't even question. Underestimating is so universal
that providing a cushion against your own probable inaccuracy is highly
10-20% is typical. Expenses, of course, are any out-of-pocket costs such as
the price of graphics purchased, paying subcontractors, etc. Add it all up,
and there's your total!
Stand your ground. You may be tempted to shrink the total estimate down, fearing that your potential
client will find it too high, but resist that urge. You came up with as
accurate an estimate as possible, and it makes no sense to lower it. The client
may not like your price, but if you offer to do the job for less than what
is fair for you, no good can come of it. Stand your ground! You won't get every
job, but the ones you do get will go much smoother if your estimate was accurate