Search space defines the problem before selecting an implementation: what needs to change, why it matters, who is involved, and which constraints shape success. In ML system design, this is the problem space, and it should precede the solution space. section 2.0 section 2.1
A lead-scoring request
A request to classify sales leads may appear to specify the solution: train a model, expose an API, and integrate it with a CRM. Searching the problem space asks what decision the score supports, why it is needed, which users depend on it, when scores must arrive, what alternatives exist, and what constraints or mistakes matter. The result is a clearer statement of what to build and why. section 2.1
Explore the search space with questions that widen context before narrowing requirements:
- Ask what problem the system solves and why the problem occurs; chain repeated “why?” questions when the origin is unclear. section 2.1
- Identify customers, stakeholders, functional attributes, alternatives, and the reasons for required limits such as metrics, latency, or training data. section 2.1
- Assess whether current technology can address the problem, whether uncertainty makes it unsuitable, and what a mistake could cost. section 2.0 section 2.5
- Gather broad context from multiple involved people, then dive deeper where answers reveal important risks or requirements. section 2.1 section 2.5
Figure 2.1 An experienced engineer always handles the problem space first with specifying questions.
Use the figure to distinguish experienced problem-space questioning from premature solution selection. section 2.1










