A discovery phase is a short, focused period before development begins, where the problem, users, constraints and approach are investigated. It is the stage where misunderstandings are cheapest to fix.

Why it is worth doing

Software problems are often caused by building the wrong thing well, rather than building the right thing badly. Discovery tests assumptions early, when changing direction costs a conversation rather than weeks of rework.

Typical activities

  • Stakeholder conversations: understanding goals, priorities and success measures.
  • User research: observing or interviewing the people who will use the system.
  • Process mapping: documenting how work happens today and where it breaks down.
  • Systems review: assessing existing software, data and integrations.
  • Technical exploration: checking risky assumptions, such as whether an integration is possible.
  • Prioritisation: separating essentials from later improvements.

What discovery produces

Outputs vary by project, but commonly include:

  1. a clear statement of the problem and objectives;
  2. descriptions of users and their main tasks;
  3. a prioritised list of requirements;
  4. an outline of the proposed technical approach and architecture;
  5. identified risks, dependencies and assumptions;
  6. a delivery plan with phases, and an estimate with stated confidence.

How long it takes

Discovery is proportionate to the project. A small website may need a few conversations; a complex platform with several integrations may need several weeks. The aim is enough understanding to plan responsibly, not a complete specification of every detail.

Who should be involved

Decision-makers, representatives of each user group and someone who knows the existing systems and data. Their availability during discovery strongly influences its quality.

Discovery as a decision point

A good discovery phase sometimes concludes that a project should be smaller, phased differently or not built at all, perhaps because an existing product fits well enough. That outcome is a success: it saves money that would otherwise have been spent on the wrong solution.

Moving into delivery

The findings become the basis for the proposal, the first release plan and acceptance criteria. Keep them visible during development, and update them when new information appears.

Discuss your software project

Tell us what you need to build, connect or improve. We will review the requirements and identify the appropriate engineering work.