Strategy · Philippines

How We Wrote Our First Scoping Document

December 18, 20173 min read

Three projects in, and we had gone over budget on two of them. Not by catastrophic amounts, but enough to matter when you are a small studio and margin is thin. The problem was not that we were slow or that the clients were difficult. The problem was that we had no shared document that said, in plain language, exactly what we were building.

A software scoping document fixed that. Here is what we put in ours and why.

Why a Scoping Document at All

A proposal tells the client what you will do and what it will cost. A scoping document goes deeper: it defines the system, enumerates the features, specifies the constraints, and - critically - names what is out of scope.

The out-of-scope list is the most valuable part. It is where both sides agree, before a single line of code is written, on what this engagement is not. Every feature that creeps in later has to start a conversation with "this was not in the scope." That conversation is much easier when you have a signed document to point to.

Without it, you end up in the situation we were in: clients remembering features they thought were included, and us not having the paper to show otherwise. Nobody was lying. Everyone had just filled in the gaps differently.

What Goes In the Document

Our scoping document has six sections.

Context and goal. One or two paragraphs on the problem the software is supposed to solve and the outcome the client is working toward. Not the features - the goal. This section exists to make sure both sides agree on why we are building this before we agree on what.

User roles. A list of every type of person who will interact with the system, with a short description of what they need to do. This prevents "oh, the admin also needs to be able to..." conversations from appearing in week three.

Feature list. Every feature, broken into must-haves and nice-to-haves. Must-haves are in scope. Nice-to-haves are explicitly excluded from this engagement and flagged for a future phase. The line between them is drawn before anyone starts building.

Out-of-scope items. A named list. Not implied - written. This is where we put things the client mentioned in passing that we decided not to include: integrations they wanted but did not need for launch, reporting features that can come later, mobile versions of a web tool.

Technical constraints. Hosting environment, existing systems we need to integrate with, browsers or devices we need to support, performance requirements if any are specific.

Timeline and milestones. Not just a launch date. A sequence of checkpoints with deliverables attached. This section is what we refer to when we are checking whether the project is on track.

What Stays Out of the Document

A scoping document is not a design spec. We do not include wireframes, database schemas, or API contracts in the scope doc. Those live in separate documents that come later. Mixing them creates a document that is too long to read and too dense to sign meaningfully.

It is also not a legal contract. We have a separate service agreement for that. The scoping document is a shared understanding of the work, written in language both the client and the team can read and agree to. It works because everyone involved actually reads it.

The Signing Moment

We send the scoping document before we send an invoice for the first milestone. Both parties sign it - digital signatures work fine - before work begins.

This sounds like extra friction. It is, but the right kind. The conversation that happens during scope review has prevented more out-of-scope requests than any amount of after-the-fact negotiation. Clients take the document seriously because they signed it. We take it seriously because our quote depends on it.

Every project we have done since putting this in place has been cleaner. Not perfect, but cleaner. That is worth a few hours of document writing at the start.

If your last build ran over budget and you are not sure why, we should talk. Scope is usually where the answer is.

Start a project →

Need this built for your business?

Let's scope it together.

Start a project