Specification creep not only wastes your time and money, but it could also cost you your business if you don’t act!
This 5-step plan is based on the painful lessons I learned while working as a freelance programmer. Over 15 years I encountered many clients who believed specification creep (AKA feature creep) was normal business practice. It cost me a lot of time, money, and almost my business.
As a freelancer, you trade your most priceless commodity, time, for money. Specification creep results in you trading your time for nothing, zip, zilch, nada. But that is not the worst way it impacts on your business.
Unpaid time spent dealing with a client’s specification creep could be spent on building your business, or on paying clients. It could drain your time so much that you have to turn down projects due to the lack of time.
This 5-step plan will forearm you against clients’ attempts to creep specifications and help protect you from the cost!
At its core, the plan focuses on managing you and your client’s expectations for a project in a non-confrontational way. Something that is often easier said than done. Especially when you’re a startup eager to get your first clients under your belt.
1. Generate a Detailed Specification
This was probably one of my most painful lessons. The more detailed your specification is, the less room your client will have to introduce specification creep. In my experience, if you give some clients an inch in your dealings with them, they will take a mile!
Rather than write out a detailed specification, I would often just send clients a quotation with a headline description of the work and the cost. There was nothing to say what the work would and wouldn’t include.
This wasn’t done out of laziness, and at the time I thought I was doing the right thing. In my mind, if I rushed my quote to the client as quickly as possible, they would think I was ultra-efficient and give me the contract. This is a trap most freelancers fall in to at one point or another.
When those clients then enquired about a feature being included, I didn’t have a leg to stand on. I couldn’t argue that it wasn’t discussed or not included, because it wasn’t documented.
On a couple of bad jobs, this led to contracts taking 3 or 4 times as much time as I originally allowed for them.
At this point in my freelance career, I also believed undercutting my competitors would result in more work. So, in these cases it was a double whammy – I was giving away free hours on a contract that had a low hourly rate in the first place.
Write out the specification of the work to be done in as much detail as possible. The more detail the better and if possible, include things like mock-ups.
Break your specification into logical sections based on the features of the project. As a programmer, my specification sections were typically broken down into;
- Input screens.
- Process flows.
- Database details (if needed).
- Delivery schedule.
Depending on what line of work you are in you may have sections like materials, equipment, installation, locations, and so on.
Under each section, I would then break out the sub-points of each section. For example, in my Input Screens section I would list all the input screens I would be working on, and what data fields they included.
If your client has mentioned potential future work on the project, it is worth mentioning it in your specification. Add a section called Potential Additional Work and list the items discussed there. This will clarify that that work will not be included in the main contract.
This specification then formed the backbone of the quotation I sent the client. Once the client was happy with my quote, I would get them to sign off on it. Once this was done, I would send them my invoice, a copy of my terms and conditions, and the full specification again.
The more detailed your specification is, the less ammo your clients will have to squeeze extra work out of you!
2. Set Up a Change Request Process
Not all changes requested by your clients are bad! It can often result in more paid work for you, so it is important to manage the process from the start.
Luckily a change request process is very simple to implement, and should look like this;
- Discuss with your client their needs.
- Create a change request document (more on this later). Include an estimate of how much time it will take and how much it will cost them.
- Send it to the client to sign off on.
- Once the client signs off complete the work specified.
This process needs to be included in your terms and conditions – if not, it is nothing more than an admin tool.
By building the process into your terms and conditions, your client will always have a copy of your process. As a result, they will be far less inclined to try to sidestep it. If given the chance, it is also worth explain your process in person as well.
Don’t be afraid of including costs when responding to change requests, even if you don’t intend to charge them that amount. That way, even if your client negotiates you down to working for free, they will be fully aware future work will be charged for.
This has a few significant benefits;
- Clients are less likely to submit frivolous change requests (some clients seem to like to do this to make them feel like they are getting something for nothing).
- It focuses the client’s mind better. Before submitting a change request, they will think about what they are requesting more thoroughly.
- If there is follow up work from the client, you will have already managed their expectations in advance.
A change request document is a simple document listing key facts, including (but not limited to);
- The person requesting the work.
- The date of the request.
- Full specifications of the changes or additional work to be carried out.
- Estimated time and cost.
- Customers sign off.
Think of your change request as a mini quotation. So, once again, the more detail you put into the specifications the better. You don’t want to end up with specification creep on top of specification creep.
3. Don’t Be Afraid to Say “Yes, But it Will Cost”
Sometimes changes to specification and requests for additional work can’t be avoided. The good news is they can be great opportunities to sell more of your time. However, you will need to have the confidence to say “Yes, but it will cost you this”.
Some clients will pay you for your additional work without question, and other clients will negotiate with you for your additional time. These are the clients you want to keep and focus on.
If the change is minor or it is their first request, you may want to allow the client to negotiate you down in price. If you do, make sure your client knows that it is a one-off event just for them. Don’t let them start to think it is your normal way of working.
Hopefully, they will be grateful for your discount and their expectations for the next change request will be set.
If your client refuses point blank to talk about additional charges for additional work, you need to fire as a client ASAP. They are truly not worth keeping, no matter how tempting it is to keep them when you’re starting up.
If you have clauses in your contract that will get you out of your contract with them, exercise them straight away. In my experience there are a few things you’re guaranteed of if you don’t bin clients like these;
- Even more specification creep and unpaid work.
- Any future work will follow the same pattern.
- Constant frivolous change requests to delay payments.
Keeping them as clients will cost you in more than just money. Every hour you waste on their unpaid work means one less hour spent working on your own business or working with paying clients.
I’ve only had to resort to this a few times in my 15 years as a freelancer. One client that I “fired” had a change of attitude and paid fully for my time with no further resistance. He also became a long-term client that never crept on specifications again.
4. Build The Cost of Some Changes into Your Pricing
Requests for changes are not unusual, so build a buffer into all your pricing. That way you will have room to carry out some additional work without the need to apply additional charges.
Over time, I worked out that adding a 10% buffer to all my quotes would cover most of the change requests from my clients. You may need to experiment to find the right percentage for your industry.
If you think a particular client is going to specification creep, don’t be afraid to build even more margin into your quotes to cover it. One of my clients constantly put in frivolous requests (color changes, font size changes, moving buttons a couple of pixels, etc) so I added 20% to my quotes for him.
He never quibbled over the quotes, despite my higher prices. However, he wouldn’t give up on his change requests and still sent me constant requests. The extra 20% I charged him just about covered the cost of the extra work. I got paid, and he went away thinking he had got one over on me.
Taking this approach won’t stop specification creep, but it will buffer you from some or all the cost.
5. Keep Yourself in Check With Time Sheets
This tip is all about managing your own attitude to your client’s specification creeping.
For each project you work on, keep a simple time sheet to list when you worked on changes to the original specification without charging for it. At the end of each day total up the time spent and calculate it as a percentage of the time you allowed for the contact.
You will soon find with some clients you quickly end up at 50%, 100%, or even 200% over your original allotted time. When you reach 100%, you’re working at half the hourly rate you originally quoted for. At 200% over, you’re working for a third of the hourly rate you quoted for.
At what percentage would you act? When I was a fresh-faced freelancer and eager to make a name for myself, one of my client’s exceeded 300% before I acted! Not one of my better moments.
If you keep a time sheet for each project, you should be able to see when things get too far out of control and take action. It is a metric that is worth well monitoring, as it is one that will enforce the need to take action before it is too late.
As a freelancer, it is almost impossible to avoid specification creep. Some clients do it to feel like they have got something for free. Some do it because they didn’t properly think out what they wanted. Some do it because their business processes changed. But whatever the reason, you don’t want to be taking the brunt of the cost.
As a startup, it is often tempting to let these requests for changes slide. After all, you’re keen to make a name for yourself, so what does a few hours’ extra work here and there matter? It is a bad mentality to have.
However, most of this can be avoided by simply managing both parties’ expectations of your contract. Managing these expectations will avoid disappointments and confrontations down the road.