arrow_back Ideas

Delivery

How to scope an internal tool without losing the plot

April 2026 6 min read

The most common reason internal tool projects overrun, under-deliver, or quietly die is nothing to do with code. It's a scoping problem. The spec was too vague, the requirements changed halfway through, or the original brief turned out to describe a symptom rather than the actual problem.

Good scoping is the hardest part of the job — and it's almost always underinvested. Here's how to approach it.

Start with the workflow, not the feature list

When someone asks for a tool, they usually come with a list of features. That list is useful — but it's the output of a thinking process that happened before you arrived, and it may have missed the actual problem.

Before you touch the spec, map the workflow. Who does what, in what order, and why? Where are the handoffs? Where do things go wrong? What does "done" look like? Walk through a real example end-to-end. The right features tend to become obvious when you do this — and a few of the requested ones often turn out to be irrelevant.

Separate must-haves from nice-to-haves

Every stakeholder will tell you everything is critical. Most of it isn't. A useful exercise is to ask: "If we shipped tomorrow with only this one thing, would the tool be usable?" Start there and work outward.

The goal is a version one that solves the real problem reliably, not a version one that tries to solve every possible future problem. Scope creep almost always happens before the first line of code is written, in the form of requirements that felt reasonable at the time.

Write the spec in terms of outcomes, not interfaces

"A dashboard that shows X" is a worse spec than "users can see the status of all open orders at a glance without having to open each one." The second version describes the job to be done. The first describes one possible solution — and there might be a better one.

Outcome-based specs also make it easier to cut scope without losing the point. If you have to simplify something, you can ask: "Does this still deliver the outcome?" If yes, you're probably fine.

Get to a fixed price

Ambiguity in a spec tends to become cost in a project. The best test of whether a scope is genuinely clear is whether you can attach a fixed price to it with confidence. If you can't, there's still something underspecified — and it will surface at the worst possible moment.

This doesn't mean surprises never happen. It means the surprises should be small enough to handle without derailing the project. A well-scoped tool project should feel predictable from start to finish.

Leave room for iteration

No spec survives first contact with users. Build in a round of post-launch feedback and adjustment from the start. It's much cheaper to plan for iteration than to discover you need it after the project is supposed to be done.

The goal of scoping isn't to anticipate everything. It's to create enough shared understanding that when something unexpected comes up, everyone knows how to handle it.

Start a project

Got a process that's crying out for a tool?

Start a Project arrow_forward