You just wrapped up a web site for a client. The client signed off and made the final payment. A week later, they came back asking for a revision or a bug fix. What are your responsibilities to that client (a.k.a. when can I finally schedule that long overdue vacation đ)?
What is "the norm?"
In short, there are no norms. Before you begin any project, you should have an agreement in writing over what you will build for the client. Some freelancers include this in their contract document while others use a separate âstatement of work.â Whatever the document you use, you should be clearly laying out what work will be done as part of the project.
The only norm is that you as the freelance developer are expected to do everything youâve agreed to and you donât have to do anything thatâs not there (although there may be times youâll want to; weâll go into that a little later).
How to Set Expectations
The first step to setting expectations is to discuss them as part of your preliminary project discussions. When you feel youâre getting close to closing a project, outline for your prospective client what you will do, and, maybe more importantly, what you wonât do.
This discussion may lead to some negotiation between you and your prospect. Maybe you donât want to provide any support and maintenance after the project is delivered. Thatâs your call. Having heard this, the client may ask if you would consider providing a year of support and maintenance. Itâs then your call whether you want to do this and what you want to get in exchange for it. Maybe you want to charge a monthly fee for ongoing support and maintenance. Maybe you want to charge a yearly fee. Maybe you do it yourself or maybe you farm it out to someone else. Maybe you just canât be bothered and decide to refuse. All these are valid responses.
Now, itâs your prospectâs turn. If you refuse what theyâve asked, they may decide they donât want to work with you. This is also fine. If you hate doing maintenance and support and you come across a client who demands this, thatâs not the right client for you (and you shouldnât be trying to capture every single client). By filtering them out early by refusing their request, you will have made both your lives better by recognizing a bad fit before it was too late. Congratulations!
The Contract
If the prospect is still on-board after the discussion, both you and your new client need to sign the dotted line on a document that tells what you will do. This should mirror what was in your prior discussions.
Most people think contracts are only to tell what you will do, but, just like you did in your discussion earlier, itâs nice to also outline what you wonât do. If something is unsaid in your contract, clients will sometimes make an assumption about it. If you can anticipate what kinds of things they might expect you to do and spell out in your contract whether you will or wonât do those, you can save everyone some heartache.
Here are some things clients might expect:
- perpetual support
- perpetual maintenance
- updates with new âsmallâ features
- free migration to new hosts or cloud providers
Some of these may sound unreasonable without an explicit declaration that you will provide them, but some clients will assume them anyway. Some people may have slightly tempered expectations that still fall outside the boundaries of what youâve agreed to provide. For instance, a client may realize that expecting perpetual support is crazy, but they may expect that youâd support them for âat least a yearâ just by nature of the fact that you built the software. Still not reasonable, but they may expect it.
Youâre not going to be able to anticipate everything your client might expect, so do your best and move on. If the client comes to you expecting something that wasnât spelled out in your contract, politely explain to them that this is out of scope for the project, but that youâd love to work with them on this if they need help.
If you find yourself explaining to several clients that you donât provide X because it isnât in scope, that might be a good expectation to add to your contracts for future clients, just to head off the problem before it occurs.
UnlessâŠ
When a client comes asking for additional work, itâs always up to you whether to provide it. If a client comes to you asking for something that wasnât promised and you deliver it, one of two things happen depending on that clientâs disposition: youâll either become an easy mark in thatâs clientâs eyes and theyâll try to see how much free work they can get from you, or theyâll realize you did something you didnât have to do for them and spread the story to the far reaches of the globe. Usually, the former happens, so be very careful not to become a doormat by giving away your services for free.
Try to judge how the client will perceive what youâre doing for them based on how theyâve behaved with you in the past. Pair that with a guess about how long it will take to do what theyâre asking. Have they been respectful, grateful, and easy to work with? Are they asking for something that takes 10 minutes or 10 hours? If theyâre a great client and just need a few minutes of effort from you, go ahead and take care of them. Youâve lost some billable time, but youâve created a great customer service experience for a client you might like to have as a repeat client in the future. Theyâre more likely to send other prospects your way in the future too.
Times You Should Always Do Free Follow-Up Work
I can think of one scenario in which you should always do free work even after the contract is up: you goofed up. If you delivered the web app or the web site and one of your promised features didnât work (and wasnât discovered before the final bill was paid), you should go fix it, regardless of the time it takes. Donât let the client broaden what constitutes âdone,â but make sure all the explicitly laid out expectations are in place.
Hereâs a quick scenario. You just shipped a marketing site for a client. It was supposed to have a button on the front page that popped up a modal with an email opt-in form. You presented the site and the client signed off, but it was later discovered the modal didnât work properly in Safari even though browser support for the latest version of Safari was promised.
In this case, you would go back and fix the modal so that it works in Safari. But what if the client then comes back and says theyâve found another issue. The emails being collected by the form are not going to their MailChimp account. This is the first youâve heard about the clientâs need for emails to go to MailChimp, and youâre simply emailing them to the client when forms are submitted instead. Itâs probably going to be a few hours of work to write a MailChimp integration, so this is likely where youâd want to draw the line.
Explain to the client that you didnât scope for the integration in the initial project. Let them know youâd love to help and ask if theyâd like you to estimate for a new project to add the MailChimp integration. Youâve now made good on your original agreement, but youâve drawn a clear boundary for the client.
Hey there. Glad you're getting something out of this article. I write more like this and mentor people on how to become web developers over at Rad Devon. If you're stuck in your career transition, stop over and put in your name for a free 30-minute mentoring session. I'd love to help.
Guidelines for Post-Project Work
When to Always Do It
- When you didnât deliver everything laid out in the agreement
- When you delivered a feature that doesnât work as promised
When You Probably Shouldn't Do It
- When the ask was not part of the contract and it will take significant time to execute
- When the ask was not part of the contract and the client is a jerk, regardless of the time it will take
- When something breaks after-the-fact and the client declined a maintenance contract (or you refuse to do maintenance)
When You Get to Make the Call
- When the problem was due to something outside your control (an API was suddenly deprecated, a critical bug was found in the version of a library you used, the client decides to host with a different provider, etc.)
- When the ask wasnât discussed beforehand but you know it wonât take long to do
Value Should Flow in Both Directions
Let this be your guiding principle when youâre asked to do work after a contract has ended. Youâre effectively being asked to do some work for free. What are you going to get out of it?
It may sound selfish⊠and it is. Thatâs OK. Business doesnât happen unless everyone gets something out of it. Itâs totally reasonable to expect something in return for the work you do. Sometimes, itâs money. Sometimes, itâs good will. Value should never be flowing in only one direction. That means your business isnât working.
Donât do the work begrudgingly. That sets a bad tone for your relationship going forward. If you make sure the value is balanced, everyone will be excited about it and everyone goes home happy. Thereâs no harm in saying ânoâ to work after the project, but you donât always have to say ânoâ if a âyesâ makes sense for everyone.
Top comments (4)
This is all good advice, but one thing missing here is establishing a clear outline, in writing, of the developer's responsibilities during various phases of the projects. During the build phase you'll often assume way more responsibility than when something's deployed and operating.
If you do a lot of development work on short contracts it's worth coming up with a break-down of responsibilities at various key milestones. For web properties this might mean outlining:
The number one thing here is to avoid "albatross" projects that won't go away, they're always having tiny, obnoxious, distracting problems, which can be largely avoided by outlining in clear terms what's a defect you'll fix and what's their responsibility.
It'd be nice if there were free resources for this sort of thing as there are for contracts, but I can't find any off the top.
That's sort of the issue of account management particularly when its too technical for your client to deal with themselves. Setting clear guidelines of services is a good idea I like that.
Loved this article!
I started working independently a year ago (after working for 7 years in a software company) and I struggled so much to learn to say "no" to some clients who wanted me to do something for free that didn't make sense. I believe it's about learning to value your own work and time.
PS: Those Guidelines are great, thanks!
Great article. Just starting my own agency and couldn't agree more.