Guide
Scope creep, and why being reasonable does not stop it
Almost nobody loses a project to one outrageous demand. They lose it to eleven small favours, each of which would have been petty to refuse.
What it actually is
Scope creep is the gap between the work you agreed to do and the work you end up doing, arrived at without anyone renegotiating anything. The agreement never changed. The work did.
The word makes it sound like weather, something that happens to you. It is not. It is a sequence of specific moments in which somebody asked for something and you said yes, and the only unusual thing about those moments is how ordinary each one looked.
Why the small asks are the dangerous ones
A client who asks you to rebuild the whole product for free gets a no, and gets it easily. The request is far enough outside the agreement that refusing it costs you nothing socially.
The request that actually costs you is this one:
The message that does the damage
“Quick one, could you just add a pricing page while you are in there? Should be the same as the others.”
Look at what that sentence is doing. Quick one sets the size before you have estimated it. Just frames it as a modification rather than an addition. While you are in there implies a marginal cost of nearly zero. Same as the others pre-answers the only question that might have slowed it down.
None of that is manipulation. It is what a reasonable person writes when they genuinely believe the thing is small. That is precisely why it works, and why arguing about it feels petty.
The three reasons it wins
Each ask is judged on its own
You evaluate request eleven the same way you evaluated request one, because that is how conversations work. Nobody presents you with the running total. If somebody had opened with would you do forty hours of unpaid work across the next two months, you would have said no without thinking.
Saying no costs you something immediately, saying yes costs you later
The awkwardness of refusing arrives in the next thirty seconds. The cost of agreeing arrives next month, spread thin, attached to no particular decision. Humans are famously bad at this trade and freelancers are not an exception.
Nobody remembers what the contract says
This is the one that is actually fixable. The scope was agreed weeks or months ago, it is four pages long, and it is in a PDF in an email thread. When the message arrives, you do not reread it. You go on your impression of it, and your impression is soft, and soft is where creep lives.
What does not work
- Resolving to be firmer. The problem is not your spine, it is that you are judging one ask at a time without the total in front of you.
- Tracking your hours harder. Time tracking tells you, in arrears, that you spent forty hours. It does not tell you at the moment of the ask whether this one is covered.
- A tighter contract. Worth doing, and it will not save you on its own. A perfect scope you do not reread is the same as a vague one.
What does work
Move the decision from memory to evidence, and make it happen at the moment the request arrives rather than at invoicing.
Concretely, three things:
- Write the exclusions, not just the inclusions. A scope that lists what you will do leaves everything unmentioned in a grey zone. One that also names what it does not cover turns the grey zone into a short, checkable list. There is a template for this.
- Answer every ask against the clause, on the day. Not from memory. From the text.
- Make the out-of-scope answer a quote, not a refusal. “No” ends a conversation. “Yes, here is what that costs” continues one, and the wording matters more than you would expect.
What that looks like in practice
Take the pricing page ask above, against a scope that says this:
Now the ask is not a judgement call about whether you are being difficult. It is arithmetic. A pricing page is a sixth page, the clause names five, and the verdict is Extra rather than an opinion you have to defend. You are not refusing a favour, you are reporting what you both signed.
Most asks resolve to Covered, which is worth saying: the point of this is not to bill for everything. It is to know which is which. The ones that land on Ambiguous are the genuinely interesting ones, and they are a conversation to have now rather than an argument to have at the end.
Why Beady exists
Because step two is the one nobody does. Rereading four pages of contract to answer a one-line Slack message is not going to happen at four in the afternoon, so people go on impression instead.
Beady holds the signed scope, takes the request, and tells you which of the three it is with the clause quoted underneath. It is free, it is a Mac app, it has no account, and your contract does not leave your machine.
Beady is free. It checks each new ask against the scope you signed, and shows you the clause.
Download Beady for Mac