Scope & Change Orders
How to handle requests that fall outside the agreed scope.
Scope & Change Orders
Scope creep is the single largest threat to profitability on fixed-price work. It rarely arrives as one large request. It arrives as ten small ones, each individually reasonable.
The rule#
No out-of-scope work is performed without a written change order accepted by the client.
This protects the client too — they never receive an invoice for something they did not approve.
Deciding whether something is in scope#
Check the excluded list first. If it appears there, it is out of scope, and the conversation is short.
If it is genuinely ambiguous, the question is: would a reasonable reader of the proposal have expected this to be included? If yes, absorb it. If no, it is a change.
Do not litigate small ambiguities. A ten-minute fix is not worth a change order; absorb it and note it. The threshold is roughly: more than two hours, or it touches the data model, or it adds a third-party integration.
The change order#
Written, before any work:
CHANGE ORDER — [Project] — CO-[number]
Requested: [what the client asked for]
Impact on scope: [what is added or altered]
Impact on timeline: [days added]
Additional cost: [amount]
Requires acceptance before work proceeds.
Email is sufficient. Client replies confirming. That is the record.
Common patterns to watch for#
| Pattern | Response |
|---|---|
| "Can we just also..." mid-milestone | Change order, or park it for a phase two |
| Design revisions past the agreed round count | Change order |
| A new user role appearing after data modelling | Always a change order — roles propagate everywhere |
| Third-party integration not in the brief | Always a change order |
| Client's own delay compressing the timeline | Timeline extends; not a discount |
Phase two is your friend#
The best response to a good idea that is out of scope is rarely "no." It is: "Good idea — that's a phase two. Let's ship what we agreed first, then scope that properly."
This preserves the relationship, protects the current milestone, and creates a second engagement.