When Should You Build a Proof of Concept?

A decision framework for proofs of concept — when a PoC earns its cost, how to scope one so it answers a single question, and the failure modes that turn PoCs into accidental production systems.

A proof of concept is not a small version of the product. It is an experiment with a single job: to make one uncertain thing certain, as cheaply as possible.

If you cannot name the question in one sentence, you are not ready to build one.

When a PoC is worth the money

Figure 01 — where a PoC earns its cost

Cheap to reverseExpensiveCost of being wrongWell-troddenUnknownTechnical uncertaintyModel accuracy on your dataPerformance ceilingPlatform / vendor lock-inOpaque integrationWill users want it?Another CRUD service
Only the top-right quadrant justifies an experiment: you genuinely do not know if it works, and finding out late would be expensive. Low uncertainty means build it; low consequence means guess and move on.

Build one when at least one of these is true:

  • Technical feasibility is genuinely unknown. Not “hard”, but unknown — a performance ceiling, an unproven algorithm, a model’s accuracy on your actual data.
  • An integration is opaque. Third-party APIs with poor documentation, legacy systems with undocumented behaviour, hardware in the loop.
  • A commitment is expensive and hard to reverse. Platform choice, vendor lock-in, a data model that will be difficult to change later.
  • Stakeholders disagree on something testable. A working artefact ends arguments that slide decks extend.

When it is not

  • The uncertainty is about desirability, not feasibility. Talk to users; do not build.
  • The technology is well-trodden. Building another CRUD service proves nothing.
  • The PoC is being used to justify a decision already made. That is theatre with a budget line.

Scope it to one falsifiable question

Write it down before starting, in this shape:

We believe X is possible under constraints Y. We will know within N weeks because Z will be measurable.

Concrete examples:

  • “We can extract structured line items from these supplier invoices at above 90% field-level accuracy on our historical set, within three weeks.”
  • “We can serve availability lookups under 150ms at 5,000 requests per second on this data model, within two weeks.”

Both are falsifiable, time-boxed and measurable. That is the entire test of a good PoC brief.

Rules that keep a PoC honest

Figure 02 — the four-week shape

Time box4 weeks01Frameone question02Buildthin slice03Measurereal data04Decidewritten
Build is the smallest interesting part. Framing the question and measuring the answer take roughly as long together, and the decision is a scheduled event rather than something that happens when everyone gets bored.
  1. Time-box hard. Two to four weeks. If it needs longer, the question is too broad — split it.
  2. Use real data. Synthetic data hides exactly the problems you are trying to surface.
  3. Skip everything not under test. No auth, no admin panel, no polish, unless one of those is the question.
  4. Write down the answer. The deliverable is a decision and its evidence, not a repository.
  5. Agree in advance what a “no” means. A PoC that cannot fail is not an experiment.

The failure mode to watch for

Figure 03 — how a PoC becomes production by accident

01PoC shipsquestion answered02Demoto a sponsor03Decision gateharden or rewrite04Users arriveskipped the gate05Productionnobody chose it
Nobody decides to ship the experiment. The decision gate is simply skipped, and the demo picks up its first real users while the code is still deliberately unfinished.

A successful PoC has a way of being demoed to an executive, who asks why it cannot go live next month. Deliberately unfinished code then acquires users, and eighteen months later it is a production system nobody chose.

Two defences: label it clearly as an experiment in every demo, and get the rewrite-versus-harden decision made explicitly at the end — with the cost of hardening estimated while the context is fresh.

What comes after

A PoC that answers “yes” should produce a scoped MVP plan with the technical risk now removed. A PoC that answers “no” has just saved you the cost of finding out later, which is the cheaper of the two outcomes and the one worth celebrating properly.

Start a conversation

Turning this into an actual project?Let's talk.

Tell us what you are trying to build, fix or decide. If we are not the right team for it, we will say so and point you somewhere better.

Typical first step: a 30-minute call, then a short written assessment.