Every agency has the story. The client kept changing their mind. The project doubled. Nobody was happy.
The story is almost always told as a problem with the client, and it is almost always a problem with the paperwork. Clients change their minds because changing your mind is the correct response to seeing something for the first time. You cannot know you wanted the booking flow to work differently until you have clicked through a booking flow.
Scope creep is not a behavioral failure on the buyer's side. It is what happens when a project is sold without a written boundary, so there is no way to tell a change from a clarification — and no agreed mechanism for handling one when it appears.
Fix the pricing structure and the behavior stops being a problem. Here is how both sides should be set up.
What "fixed price" has to mean to be worth anything
The phrase is used by almost everyone and means something different in each case. There are three versions in circulation.
Fixed price, unwritten scope. A number with no document behind it. This is the most common and the worst: it feels like certainty to the buyer and reads as an estimate to the supplier. Every disagreement becomes a memory contest, and the party who remembers in more detail wins.
Fixed price, written scope, no change process. Better, and still brittle. The scope exists, so a change is identifiable, but there is no agreed way to price one. The result is either resentful free work or an awkward renegotiation halfway through.
Fixed price, written scope, priced change requests. The only one that survives contact with a real project. The boundary exists, changes are expected rather than treated as bad behavior, and each one is priced and approved before it is built.
Ours is the third. The figure and the written scope are agreed before any work starts, and the figure does not move unless you ask for something outside it — and you approve the extra first. Change requests are priced before they are built, never after.
That last clause is the whole thing. A change priced after it is built is not a change request, it is an invoice.
Why hourly billing does not solve this
The usual alternative is to bill by the hour, on the theory that it is honest: you pay for what you get.
It moves the risk entirely onto the buyer. Under a fixed price, if the work takes longer than expected, that is the supplier's problem — which is precisely why the supplier has a reason to scope carefully, refuse bad ideas and keep the build efficient. Under hourly billing, all three of those incentives reverse.
It also removes the thing you most need, which is not a rate but a number you can plan around. A business owner cannot make a decision on "probably 60 to 90 hours".
We do not bill hourly. Our services page states it as one of five commitments: an itemized quote before day one, milestone payments, no hourly billing, zero surprise invoices. This is not generosity — it means we carry estimation risk, and the way we survive carrying it is by writing scopes properly.
What a real scope document contains
A scope is not a wish list. It is a document that makes disagreement cheap, and it does that by being specific about six things.
Pages or screens, counted. Not "a website". "Home, four service pages, about, contact, blog listing, blog article — nine templates." Our corporate plan says "up to 12 custom pages" for exactly this reason: the number is the boundary.
Functions, listed as user actions. Submit an enquiry. Create an account. Pay by card. Filter the catalog by three attributes. Each one is a thing that either exists at handover or does not.
Integrations, named. Which CRM, which payment provider, which version. "Connects to your accounting system" is not a scope line; it is a research project.
Content responsibilities. Who writes the copy, who supplies photos, by what date. The most common reason a fixed-price project slips is not engineering — it is waiting.
Revision rounds, counted. Ours are 2 on a landing page, 4 on a corporate site, 6 on a store, unlimited on a web app. A revision round is a defined thing: you review, you collect feedback, it is applied. Three separate messages on three days are not three rounds, and everyone should know that before it happens.
What is explicitly excluded. The single most valuable section and the one most often missing. Translation, photography, content writing, third-party licence fees, hosting beyond year one, ongoing SEO. A quote that names its exclusions is a quote from someone who read your brief.
The change request, done properly
A change request is a normal event, not a failure. It has four steps and they should take a day, not a meeting.
- You ask for something. In writing, in your own words.
- We say whether it is inside or outside the agreed scope. Inside means it happens at no extra cost, and this is genuinely common — most requests are clarifications.
- If it is outside, we price it and give an impact on the date. Before building anything.
- You approve it, or you do not. If not, it goes on a list for later or is dropped.
The important part is step 2, and the honesty required is in the direction that costs the supplier money. If a request is a clarification of something already agreed, it is not a change, and treating it as one is how a fixed price quietly becomes an hourly one. A supplier who classifies everything as out of scope has not sold you a fixed price at all.
The second important part is step 3's second half: the date impact. A change that costs $200 and pushes launch three weeks past a trade show is not a $200 change.
Weekly demos are the mechanism that makes this work
Written scope prevents disputes. It does not prevent the other failure, which is building the wrong thing correctly for six weeks.
That is what a demo cadence is for, and it is why ours is a promise rather than a nicety: a working demo every Friday until launch. Not a status report, not a percentage. Something you can click.
A weekly demo does two things to scope. It surfaces misunderstandings while they are cheap — a wrong assumption caught in week two costs almost nothing, the same assumption caught at handover is a rebuild. And it converts changes from a late shock into a steady, manageable trickle.
There is an argument that demos invite changes. They do, and that is the point. You want the changes to arrive early, when they are cheap, rather than late, when they are expensive. We make the full case in what a weekly demo actually buys you.
When the scope has to be cut, cut it deliberately
Sometimes the honest answer is that the scope does not fit the deadline. The failure mode is to discover this in the last week and ship everything badly.
We took over a local services marketplace that had stalled. An honest estimate put the remaining work at about eight months. The client had roughly one.
The response was not to work faster. It was to decide, explicitly and in one conversation, what launch actually required — geo-matching, booking with online payments, provider onboarding, disputes, webhooks — and move everything else to a post-launch backlog. Work ran in parallel across six full-stack developers with our lead on the critical path. It shipped in about a month.
Nothing was dropped silently. A scope that shrinks by agreement is a plan. A scope that shrinks by omission is a defect list you find after launch.
How to tell a real fixed price from a fake one, before you sign
Five questions. Ask them of any quote, including ours.
- Can I see the written scope this price is attached to? If the answer is a verbal summary, it is an estimate.
- What is explicitly excluded? A supplier who cannot answer has not thought about your project specifically.
- How do you decide whether something is a change or a clarification? Listen for whether the answer has any cases that fall on your side.
- Are change requests priced before or after they are built? There is only one acceptable answer.
- How many revision rounds, and what counts as one?
And one more, which is really a question about incentives: what happens if you underestimated? Our position is on the site and it is deliberately uncomfortable for us — the figure does not move because we got it wrong, and if we cannot get it right, you do not pay the balance. A supplier whose answer is "then we would discuss it" has sold you a number, not a price.
Tell us what you need. You get a fixed price and a delivery date back — free, and with no obligation to proceed.
Frequently asked questions
Is fixed price always better than hourly?
For a defined project with a known outcome, yes, in our view — it puts estimation risk with the party who controls it. For genuinely open-ended discovery work, where nobody can describe the outcome yet, an hourly or retainer arrangement can be more honest. The mistake is using hourly for work that could have been scoped, because nobody wanted to do the scoping.
What if I do not know enough to approve a scope?
Then the scope is written wrong. A scope document you cannot read is not protecting you. Ask for it in plain language, as a list of pages and things a person can do. If it only exists as technical requirements, ask for the version a non-technical owner is supposed to sign.
Do you ever refuse a change request?
Rarely, and usually not on cost grounds. The cases are where a change would break something already agreed, or where it is genuinely a bad idea — we say on our about page that we will not praise a weak idea to get a signature, and that costs us easy deals. What we will not do is accept a change, build it badly at speed, and hand you the consequence.
What if the supplier says my request is out of scope and I disagree?
Go back to the written scope and read the relevant line together. This is exactly the argument the document exists to settle, and it is why the document has to exist before the disagreement does. If there is no document, there is no answer, only two memories.
How detailed should the scope be for a small project?
Proportionate. For a $99 landing page it might be one page: the sections, the form fields, who writes the copy, two revision rounds, what is excluded. That is enough. The principle is not length, it is that the boundary exists in writing before anyone starts.



