Dockyard

Practice

What a good scope document contains

Tom Hollis1 min readDeliveryNext.js

Scoping is not estimation. An estimate is a number; a scope is an agreement about what we are and are not doing, written down while everyone still agrees.

The five sections

  • The problem, stated without reference to a solution.
  • Constraints — deadlines, systems we cannot touch, people we need.
  • What "shipped" means, in terms someone outside the team can check.
  • Explicit non-goals.
  • The first thing we will deploy, and roughly when.

That last one matters most. A scope with no deployable first step is a scope that has not been thought through.

Keep it short

Two pages. If it needs more than two pages, the problem has not been narrowed enough yet. Anything longer stops being read, and a document nobody reads is worse than no document — it creates the impression of agreement without the substance of one.

We keep the template in the repo next to the code, so it is versioned with everything else. Run pnpm scope new and it drops a filled-in skeleton into docs/scope/.

Tom HollisFounder