Managing client expectations before, during and after a project is one of those hidden tasks few of us appreciate before entering the freelance world. There are great clients who provide clear briefs and appreciate the work involved. There are also clients who don’t know what they want, dither over decisions, underestimate the effort, and undervalue the costs.
Alarm bells should start ringing whenever you hear statements such as:
I just need a site like eBay/Twitter/Facebook. You sort out the details — I’ll check it and pay once it’s done.
I’ve got a great idea — it will earn millions. You should be paying me to implement it!
It’ll only take a few days, right? It’ll be great for your business.
Several simple steps can help you manage your client’s expectations and minimize your effort.
Determine the decision makers
Preferably, it’s best to have a single point of contact within a client’s organization. That person would be responsible for collating feedback and making a final decision. Ask who is the project leader and avoid micro-managing their staff!
Assess your client’s level of competency
When necessary, explain all technical issues in layman’s terms. Avoid open-ended questions such as “How should Widget X work?” You are the expert, so empower the client and offer easy choices with clear customer benefits, e.g.
- If Widget X can do A and B, the user will take 2 minutes to complete objective Z. It will take 3 days to implement and cost $500. However, the widget will require one day’s maintenance every 12 months at a cost of $200.
- If Widget X can do A, B and C, the user will take 20 seconds to complete objective Z. It will take 7 days to implement and cost $1,200. No additional maintenance costs should be incurred.
Avoid unnecessary meetings
Unnecessary meetings can sap the working hours in your day. You should have a fixed schedule and a rigid agenda without “any other business” items. If possible, arrange the meeting for late afternoon — that can help focus minds and prevent unnecessary chatting. Meetings should result in a clear set of action points which you should document and distribute if no one else takes that responsibility.
If you are worried that a client is organizing too many frivolous meetings, state that you will charge by the hour for all additional consultancy work.
Offer a fixed-price
If you have a good brief and specification, it should be possible to complete the project for a fixed cost. It may be preferable to work for an hourly fee if there are too many unknowns, but be wary of those situations — vague projects can have vague budgets!
USE A CONTRACT!
If you do nothing else, always, always, always provide a contract. It can be brief, but it should include:
- A concise overview of all deliverables.
- A time schedule with list of dependencies for you and the client. It should include key decisions, content required and payment dates.
- Escape clauses: what happens if you or the client wish to abandon the project at a particular phase.
- A breakdown of all costs.
Request a deposit
Always request a deposit from new clients or anyone requiring a significant amount of work. 50% of the total cost is generally acceptable, although larger projects could have clearly defined payment schedules.
Explain to the client that missing a payment could affect their release dates.
Email is useful but it’s often better to pick up the phone. There’s less chance of confusion, it can be quicker, and it will help you build a relationship with the client. However, be careful not to bombard them with multiple calls and never make assumptions about their decisions.
The client is unlikely to be concerned by your PC crashes, hard disk failures, or child-care issues — but they will care about schedule slippages. Be honest, explain the situation, the risks, and what you are doing to solve the problem.
Web developers should not provide additional features or functionality which impose extra costs. If you left your car for a $300 service, you’d be a little annoyed if the garage also upgraded your stereo system for another $200 because it was “a cool thing to do”! Either discuss the enhancements with the client or over-deliver on the agreed functionality for no extra charge.
Know when to walk
Understand that client dithering and price haggling takes more of your time. If the client needs help defining their requirements, you can offer that service for a fee.
Do you have any other tips on managing client expectations?
Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Form Design Patterns