Cover: three stacked panels naming what discovery produces, scope, integrations, and data and risks

Discovery has a reputation problem. To a buyer it can look like paying an agency to write a document before any of the real work starts, and plenty of suppliers have earned that suspicion by delivering exactly that: a deck restating what the client already told them.

Done properly it is the opposite. Discovery is where the expensive decisions get made while changing your mind still costs a conversation rather than a rebuild.

What it is for

The purpose is to replace assumptions with facts before anyone commits a budget. Four questions, specifically.

What are we actually building? Not the feature list. The workflows, the rules, the states a record can be in, what happens on the unhappy paths. Most of this lives in people’s heads and contradicts itself until it is written down.

What does it have to connect to? Every system the new software touches, whether each has a usable API, whether there is a test environment, and who can authorise access. This is the largest single source of cost overrun in custom projects.

What is the data situation? What exists, what condition it is in, and what has to move. Data is almost always worse than anyone expects.

What could stop this working? Technical risks, organisational risks, and anything that needs a decision from somebody not currently in the room.

Where discovery sits in a project and what it produces Four phases. Discovery, fixed price and time boxed, produces scope, integration map, architecture and an estimate. Estimate and decision follows. Build runs in two to three week releases. Stabilise covers four to six weeks after launch. Discovery fixed price, time boxed 2 to 4 weeks Decision estimate with a range build, change or stop Build releases every 2 to 3 weeks Stabilise 4 to 6 weeks after launch Changing your mind is cheap here and expensive here The stabilisation window is the one most often left out of a budget.
Discovery is separable from the build on purpose. It ends with a decision point, and one of the legitimate outcomes is not to proceed.

What actually happens during it

On a mid-sized project this runs two to four weeks, and the work is unglamorous.

Watching people do the job. Not asking them to describe it. Watching. The gap between the described process and the real one is where the requirements you would otherwise miss are hiding. Someone always maintains a spreadsheet on the side because the official system cannot do something, and that spreadsheet is a requirement.

Mapping the integration surface. For each connected system: documentation, credentials, rate limits, a sandbox, and a named human who owns it. A lot of discovery time goes into finding out that the sandbox does not exist or the API costs extra. Better now than in week nine of a build.

Looking at real data. Not a sample, not a schema diagram. Production data, with counts. How many records hold a null in a field the new system treats as required. How many duplicates. How many dates stored as text.

Deciding the architecture. Enough to estimate and to avoid a choice that becomes expensive to reverse. Where it runs, what it is built with, how authentication works, how data moves. Not a design for every screen.

Prototyping the frightening part. Where something is genuinely uncertain, build the smallest thing that settles it. A day confirming an integration behaves as documented can save several weeks.

What you should receive

Scope statementWhat is in, what is explicitly out, and what is deferred to later.
Integration mapEvery connection, its status, and any blocker with a named owner.
Data assessmentReal record counts and what cleaning is needed before migration.
Architecture decisionsWhat was chosen and, more usefully, why it was chosen over the alternative.
Risk listSpecific to this project, with owners. Not a generic list of things that go wrong with software.
Estimate and sequenceA range with written assumptions, and an order of work that front-loads the risk.

That last point matters more than it sounds. The order of work is a commercial decision, not a technical one. Building the easy parts first produces comfortable early progress and concentrates all the risk at the end, when there is no money left to absorb it.

What skipping it costs

Projects that start without discovery do not skip the work. They do it during the build instead, at a much worse rate.

The pattern is consistent. The first few weeks feel fast because the obvious parts get built. Then someone finds the integration cannot do what was assumed, or the data will not migrate as it stands, or two departments want incompatible things and nobody has authority to choose. Now the team is idle or, worse, building on a guess. The eventual fix costs several times what the same decision would have cost before any code existed.

There is a second cost that is easier to miss. Without a written scope there is no agreed definition of finished, so the project ends when the budget runs out rather than when the thing works. That is how software gets delivered and then quietly not used, which is the failure mode the research says is most common: across more than 5,400 IT projects, McKinsey and Oxford found the average value shortfall (56%) was larger than the average cost overrun (45%).

The same research found the worst overruns clustered in projects with infrequent checkpoints, where a quarterly review meant three months could pass before anyone noticed the project had drifted. Discovery sets the checkpoints as much as it sets the scope.

Discovery that is not worth buying

The scepticism is sometimes justified. Signs you are being sold theatre:

  • It produces a presentation rather than a scope, an architecture and an estimate
  • Nobody asks to see your data or your existing systems
  • No developer is involved, only a consultant and a designer
  • The output could not be handed to a different supplier and used
  • The price is a fixed percentage of the build rather than a function of what needs investigating
  • The conclusion is always that you should proceed

That last one is the clearest test. A discovery that cannot conclude “do not build this, or not in this form” is not an investigation. It is a sales process with a deliverable attached.

How we run it

Ours is fixed-price and time-boxed, with the scope of the investigation agreed in advance, and it is deliberately separable from the build. You can take the output to another supplier. If discovery shows the project should not proceed as described, that is a legitimate result and a cheap one next to finding out later.

It ends with an estimate carrying a stated range and stated assumptions, which is the only kind worth relying on. There is more on how that becomes a number in what custom software actually costs, on evaluating suppliers in choosing a development partner, and on the warning signs in why software projects run over budget.

If your project is still a description rather than a specification, tell us about it. That is the stage discovery is designed for.

Common questions

How long should a software discovery phase take?

Two to four weeks for a mid-sized project. Long enough to watch people work, map every integration, look at real production data and prototype the uncertain part. Much shorter and it becomes a requirements interview. Much longer and it is usually substituting for a decision somebody needs to make.

What should a discovery phase deliver?

A scope statement with explicit exclusions, an integration map with owners and blockers, an assessment of the real data, architecture decisions with reasoning, a project-specific risk list, and an estimate with a stated range and written assumptions. If it produces only a presentation, it has failed.

Can we skip discovery to save money?

You can skip the phase but not the work. It gets done during the build instead, at developer rates, with the team blocked or building on assumptions while it happens. The decisions are the same. Only the price changes.

Sources

  1. McKinsey & Company with the University of Oxford, Delivering large-scale IT projects on time, on budget, and on value. More than 5,400 IT projects: 45% average cost overrun, 56% less value than predicted, with the worst overruns concentrated in projects with infrequent checkpoints.

Figures were current at the time of writing (September 2026).