What Is a Discovery Phase in App Development?

Teams that run discovery mostly hit their estimates; teams that skip it mostly do not.

Strategy By Lawrence Dauchy 8 min read

Short answer

A discovery phase is a short paid engagement, usually one to three weeks, that turns an idea into a plan you can build from: a screen inventory, a technical approach, a scoped feature list and an estimate that will not move much. It exists because the alternative, quoting from a paragraph and finding out during the build, costs far more. Teams that run discovery mostly hit their estimates; teams that skip it mostly do not.

What discovery actually produces

Four artefacts, and each answers a question that would otherwise be answered mid-build at a worse moment.

A screen inventory. Every screen and every state: empty, loading, error, offline, first-run. This is the document that turns “users can sign in” into the nine flows it really is, and it is the basis of every honest estimate.

A technical approach. Which backend, which integrations, what the data model looks like, what is risky. A one-page architecture is enough at this stage; the value is that the risky parts are named before they are discovered. This is also where platform constraints get checked against the plan, since the App Store Review Guidelines rule out some business models entirely and reshape others, and finding that out in week two is very different from finding it out in month four.

A scoped feature list, split into launch and later. Not a wish list: a decision about what version one is, made while cutting is still cheap.

An estimate with a range and the reasoning behind it. A number without reasoning is a guess; a number with the screen inventory attached is a plan.

Without discoveryWith discovery
Estimate from a paragraphEstimate from a screen inventory
Scope discovered during buildScope decided before build
Risky parts found lateRisky parts named first
Change requests as invoicesTrade-offs as decisions
Design starts from guessesDesign starts from agreed flows

What happens in the room

Week one is mostly questions. What is the problem, who has it, what do they do today, which three things must the launch do, what already exists that this must work with, what happens when things go wrong. A good team asks uncomfortable questions here, because uncomfortable questions are cheaper now than in week nine.

Then the flows get sketched, usually on paper or in a simple tool, and walked through until the gaps show. This is where most of the discovery value appears: talking through a flow out loud surfaces the states nobody had thought about, and each of those is a screen someone would otherwise have built twice.

Technical investigation runs alongside. If an integration is central, someone tries it rather than reading about it. If a performance question matters, someone builds the smallest possible test. A day spent proving that an API does what the documentation claims can save a fortnight later.

The output is written down and handed over, which matters: discovery you cannot take to another provider is a sales process, not a deliverable.

The account and compliance groundwork usually starts here too. Applying for the Apple Developer Program early is worth doing during discovery rather than at submission, because company enrolment involves a verification step that can take days, and it also gates TestFlight distribution later.

What it costs and why it is worth it

Discovery is usually priced as a fixed engagement, commonly a few thousand for a small app and more for a complex one, and it typically runs between 5 and 10 percent of the expected build cost.

The return shows up in three places. Estimates stop moving, because they are based on a screen count rather than a feature list. Design starts from agreed flows rather than from assumptions, which removes a round of rework. And scope conversations become trade-offs rather than change requests, since there is a document to point at.

The cheaper way to see it: one week of discovery costs less than one week of a full build team rebuilding a feature that was specified wrong.

There is a second return that only appears if you shop around. A written discovery output lets you get comparable quotes from other providers, because every one of them is pricing the same screen list rather than interpreting the same paragraph differently. Clients who run discovery with one studio and then tender the build sometimes find the numbers land within ten percent of each other, which is almost never true of quotes given from a brief.

What good discovery feels like from the client side

Two things distinguish a discovery that will pay for itself from one that is a formality.

The questions get harder as the week goes on. A team that is genuinely working through your product will arrive at questions you have been avoiding: what happens when two people book the same slot, who is responsible when a payment fails, what a user sees on day one with nothing in the app. Discovery that only confirms what you already said is not doing its job.

You change your mind about something. Almost every honest discovery ends with a scope different from the one it started with, usually smaller and better aimed. If nothing changed, either your brief was unusually precise or nobody pushed on it.

The reverse tell is a discovery that produces a beautiful document and no decisions. Pages of personas and user journeys with no screen inventory, no named technical risk and no estimate are the artefacts of a process performed rather than run, and they are worth asking about before the engagement rather than after.

Doing discovery without a studio

You can produce most of this yourself if the budget is tight, and it is a good use of two weeks.

Write the problem, the user and the three launch features on one page. Then list every screen you can imagine, and for each one write what it shows when there is no data, when something fails, and when the user is new. That exercise alone gets you most of the way to a screen inventory.

Then find the risky part and test it. If your app depends on an integration, sign up and try it. If it depends on a data source, check that the data exists and that you are allowed to use it.

Finally, write down what you will not build. The “later” list is the artefact that keeps a project on schedule, and it costs nothing to make.

Discovery outputDo it yourselfStudio does it
Problem and user, one pageYes, better than anyoneFacilitates and challenges
Screen and state inventoryMostly, with effortFaster and more complete
Technical approach and risksRarelyYes, with real testing
Estimate with reasoningNoYes, and it holds
Launch versus later splitYes, and you should own itAdvises, you decide

Discovery for a project that already exists

Not every discovery starts from a blank page, and the version for an app already in the world looks different.

The screen inventory becomes an audit: what exists, what people actually use, what is quietly broken. Analytics answer part of this and rarely all of it, since the screens nobody visits are often the ones nobody could find.

The technical work becomes an assessment: what state the codebase is in, which dependencies are unmaintained, what would need to change before the next feature is affordable. This is the part clients most often skip and most often regret, because a roadmap built on an unexamined codebase produces estimates that are wrong in the same direction every time.

And the scope conversation becomes triage: what to fix, what to rebuild, what to delete. Deleting features is the option nobody proposes and frequently the highest-return one, since every feature carries maintenance and testing weight whether or not anyone uses it.

A discovery of this kind usually takes a week and often changes the plan more than a new-build discovery does, because the assumptions being tested have had years to drift from reality.

When discovery is not worth paying for

Three cases. A genuinely tiny app, a single-purpose utility with three screens and no backend, where the discovery would be longer than the build. A rebuild of an existing app where the current product is the specification, though even here a short scoping pass on what changes is worth doing. And a project where the client has already produced a complete, tested specification with real screen definitions, which is rare and does happen.

The case where discovery is most valuable is the opposite: an idea that is still a paragraph, a founder who has not built an app before, and a budget that cannot absorb a surprise. That is precisely the situation where teams are most tempted to skip it.

If you have an idea and want to know what a build would actually involve, book a free app idea call and we will tell you what a discovery for it would cover.

FAQ

What is a discovery phase in app development?

A short paid engagement, usually one to three weeks, that converts an idea into something buildable: a screen inventory covering every state, a technical approach naming the risky parts, a feature list split into launch and later, and an estimate with the reasoning attached. It exists because quoting from a paragraph and discovering the real scope mid-build costs considerably more.

How much does a discovery phase cost?

Usually a fixed fee running between 5 and 10 percent of the expected build cost, which for a small app means a few thousand. The return is that estimates stop moving because they are based on a screen count rather than a feature list, design starts from agreed flows instead of assumptions, and later scope conversations become trade-offs rather than change requests.

Can I skip the discovery phase?

For a genuinely tiny app with a handful of screens and no backend, yes, since discovery would take longer than the build. For a rebuild where the existing app is the specification, a short scoping pass is usually enough. Skipping it is most tempting and least advisable when the idea is still a paragraph, the founder has not built an app before, and the budget cannot absorb a surprise.

Can I do discovery myself?

Most of it, and it is a good use of two weeks. Write the problem, the user and the three launch features on one page, then list every screen with what it shows when empty, when something fails and when the user is new. Test the riskiest assumption by actually trying the integration or checking the data exists. Then write down what you will not build.

What should I receive at the end of discovery?

Written documents you could hand to a different provider: the screen and state inventory, a one-page technical approach with the risks named, a feature list split into launch and later, and an estimate with a range and the reasoning behind it. If the output is a proposal rather than a set of artefacts, you paid for a sales process rather than a discovery.