DEV Community 👩‍💻👨‍💻

Greg Hausheer
Greg Hausheer

Posted on • Originally published at on

Setting Expectations With Clients

Originally posted on

I was asked by a potential client the other day what the biggest challenge would be if we were to start working together. Would we bump heads against process? Communication? Or would it be a design or technical choice we made? We were about to start a ~4 month design and development project for a mobile responsive web application for this client, and would begin with a branding and wire-framing phase.

I find this type of conversation somewhat awkward. The client is asking me to describe the ways in which I or my company could be a PITA if things don’t go well with the project. But like any expectation setting, this is a great conversation to have, and if you’re a freelancer or agency, you should encourage this kind of honest talk before jumping in.

I’ve never formalized until now from a client’s perspective the things that they may worry about when starting a project with a software firm like ours. But like any freelancer or agency, discussing expectations upfront and outlining how you work is critical to maintaining a healthy relationship.

I’ve outlined below what I think to be the four most common problems that may occur between clients and freelancers, and what you can do to keep a positive relationship throughout your time working together.

Change Requests — Identify upfront how these will be handled.

In any software design or dev project…no matter how short…the client is bound to change their mind. Have a structure in place for how change is managed, and have this explicitly written in your contract so you can rely on it when it happens.

For example, how many design versions of each page will the firm create? How many revisions are allowed? When developing software, how does the firm account for unexpected features? What about changes to features already developed and approved way earlier in the project?

Having a mutually agreed upon change request process (especially in writing) makes questions like these 100x easier to answer. Scope slip and feature creep can be handled with a process. What kills relationships is when there’s no respect for this, and “in” and “out” of scope can’t be identified.

Indecision — Set deadlines that your client has to maintain.

From the client’s perspective, they’ll probably want the ability to review and critique a lot of the design or development work you are performing for them. That’s expected and normal. But as the freelancer or firm, it’s important to have an agreed upon timeline for this feedback. It can’t be open-ended.

For example, if you send over an updated design for a Home Page and Pricing Page for your client, you should build into your contract and process that the client will need to respond with final comments within 3 business days. If not, the overall project timeline should be adjusted back.

There’s nothing worse for you as a freelancer from a raw time and budgeting perspective then signing a Scope of Work, say a 2 month design or development engagement, that then takes 4 or 6 months to complete because the client was slow to respond. I’ve been there. It’s horrible. It eats into margins and both teams are left wondering why things took so long.

The firm and the client should agree on dates for decisions to be made. As long as you as a freelancer (or firm) holds the timelines, as the client should not be able to linger.

Communication Channels — Chat about certain things, only in certain places.

Some freelancers and firms really drop the ball here, so by being good at this you can really stand out.

If there’s no agreed upon standard method of communication between you and your client, you’re making it harder to work together.

We put in our contracts that we’ll talk with the client about product and scope in Slack, finances and timelines over email, and emergency issues by phone or text. Notice, 3 of 4 of these are in writing. And if the client calls I’ll always follow up with a message that says “Thanks for chatting, here’s what we discussed…” and cc my partners and team.

If you don’t set expectations around communication, what is initially a Slack message then turns into an email…which turns into calls and texts to your personal phone…and eventually these start happen at 3 AM.

Don’t break your own rules communicating or else the client will too.

Response Time — Consistency is more important than speed.

This ties in with communication. A lot of agencies and freelancers let emails and chats slip for too long. They can go days or weeks unanswered because freelancing and working within an agency can be chaotic environments.

I’ve been guilty of this, and try to set my own policy of responding within 48 hours to every email or Slack message that’s directly to me. Worse case is end of week. I’m not perfect, but it’s overall important to maintain a relative stable cadence of your response time. And if you’re consistent with your response times and methodical in going through your different channels (Slack, email, etc) to review messages, you create a habit of rounding up all of your loose ends each day or week. This has a massive benefit as it can show a client that even if you may not respond as quickly as they’d like, you address every question they ask and at a consistent time.

And sometimes you just can’t control the situation…

A client texted me once asking for our company bank account number so they could pay an invoice. It was actually on the invoice I sent, but they overlooked it. I thought it was odd they called so late, rolled over back to bed as it was well past 2, and didn’t respond and forgot. I emailed about the invoice a week later, and they texted me again saying “bump^”. Goes to show that some people have their own habits, so you have to establish what works for your relationship with your clients, not just you. Set boundaries knowing that you can break them, especially if you need to get paid.

Top comments (0)

Regex for lazy developers

regex for lazy devs

You know who you are. Sorry for the callout 😆