Customer Discovery
Definition
Customer discovery is the process of talking directly to potential customers before or while you build, to find out whether the problem you assume exists actually exists and whether people would pay to solve it.
What Is Customer Discovery?
Steve Blank named customer discovery as the first step of his customer development framework, and positioned it to happen before you write code, not after: talk to the market before you build for it. It's the input side of the lean-startup build-measure-learn loop, the learning that's supposed to shape what you build next, and it's a way to derisk the path toward product-market-fit, not a substitute for actually shipping something and measuring what happens.
The core technique: ask about past behavior, not hypothetical opinions. "Walk me through the last time you tried to solve this" produces real information. "Would you pay for a tool that does X" mostly produces polite encouragement, people are unreliable predictors of their own future behavior and tend to be nice about hypothetical products they'll never actually buy. Rob Fitzpatrick's The Mom Test is a widely cited practical guide built around this distinction.
Warning signs you're doing it wrong: you're pitching your idea instead of asking questions, every conversation confirms what you already believed (a sign you're leading the witness), or you've talked to fewer than ten to fifteen people before you start building. Real discovery usually surfaces at least one uncomfortable finding that changes the plan.
What it connects to: the problems and workarounds people describe in these conversations are raw material for defining the jobs-to-be-done your product needs to satisfy, and for deciding what actually belongs in your MVP.
Examples
Before building a deployment tool, a founder interviews 15 engineers about the last time they had a bad deploy. Most describe the same manual rollback workaround, not the feature the founder originally planned to build, so the MVP gets scoped around automating that workaround instead.
