Skip to content

Command Palette

Search for a command to run...

Chapter 1·30 min read·Expert

Discovery & Requirements

Customer and technical discovery — the most undervalued FDE skill.

Discovery

Discovery is the process of understanding what the customer actually needs before building anything. Customer discovery: who, what pain, what workflow, what constraints. Technical discovery: what systems, what data, what APIs, what permissions, what scale. Most AI project failures are discovery failures — you built the wrong thing.

Why discovery matters

Skipping discovery = building the wrong thing fast. In FDE work, you deploy directly to customers — if you misunderstand the constraint (RBAC, audit, latency, cost), you ship something that gets rejected in security review or fails in production. Discovery is cheap; rebuilding is not.

Discovery process

Stakeholder interviews (business owners, end users, IT/security) → document the workflow (current state) → identify pain points → map constraints (compliance, scale, budget, latency) → map systems (data sources, APIs, identity) → write a requirements doc → validate with customer → sign-off before build.

Discovery question bank

discovery.pypython
discovery_questions = {
    "business": [
        "What is the workflow today, step by step?",
        "Where does it break or slow down?",
        "Who are the users (roles, frequency, peak concurrency)?",
        "What does success look like in 3 / 6 / 12 months?",
        "What is the cost of the current problem (time, money, risk)?",
        "Who are the stakeholders and decision-makers?",
        "What is the budget envelope (build + ongoing)?",
        "What is the timeline and what drives it?",
    ],
    "technical": [
        "What systems hold the relevant data?",
        "What APIs are available, and what are their limits?",
        "How is identity / access control managed (AD, Okta, custom)?",
        "What are the integration patterns (sync, async, batch)?",
        "What is the data volume and growth rate?",
        "What is the latency / throughput requirement?",
        "What is the uptime SLA?",
        "What is the deployment environment (cloud, on-prem, hybrid)?",
    ],
    "constraints": [
        "What compliance regimes apply (GDPR, HIPAA, SOC2, FedRAMP)?",
        "What is the data retention / audit requirement?",
        "Can data leave the environment? If so, under what conditions?",
        "What is the model output restriction (advice, citations, confidence)?",
        "What is the acceptable false-positive / false-negative rate?",
        "What is the rollback plan if the AI is wrong?",
        "Who is on-call when it breaks?",
    ],
    "success_criteria": [
        "How will you measure success (quantitative)?",
        "What is the user acceptance test?",
        "What is the pilot scope and duration?",
        "What would cause the customer to NOT renew?",
    ],
}

def run_discovery(customer: str) -> dict:
    """Structure the discovery conversation."""
    notes = {}
    for category, questions in discovery_questions.items():
        notes[category] = []
        for q in questions:
            answer = ask_customer(customer, q)
            notes[category].append({"question": q, "answer": answer})
    return notes

def requirements_doc(notes: dict) -> str:
    """Turn notes into a validated requirements doc."""
    return f"""# Requirements

## Workflow (current state)
{notes['business'][0]['answer']}

## Users
{notes['business'][2]['answer']}

## Constraints
{[n['answer'] for n in notes['constraints']]}

## Success criteria
{[n['answer'] for n in notes['success_criteria']]}

## Sign-off
[Customer to confirm before build]
"""

Experiment: discovery questions

See which discovery questions uncover hidden constraints.

Choose a customer scenario. See what different questions reveal.

What to observe

Surface discovery answers 'what' and 'who' but misses the constraints that make or break an AI deployment: RBAC, audit, cost, latency, compliance. Deep discovery uncovers these BEFORE you build. The cost of deep discovery is hours; the cost of missing constraints is weeks of rework or a failed security review.

Production discovery

Production discovery: structured question bank, written notes, a validated requirements doc signed off by the customer, a stakeholder map (who decides, who is affected, who can block), and a constraints register. Never start building before sign-off.

Challenge

A customer says 'we want an AI assistant over our docs'. Run a 30-minute discovery call that uncovers the constraints that will shape the architecture. (See the FDE Simulator.)

Production checklist

Production checklist

0 of 8 checked

Knowledge check

A customer wants an 'AI assistant over their docs'. What's the FIRST thing to do?

Complete

You can now run effective discovery. Next: solution architecture — designing under the constraints you uncovered.

Mark this chapter as complete

Track your progress and unlock the next chapter.

Email updates

Get the next chapter and new guides by email.

One email per substantial release. Unsubscribe in one click.

We will email you a confirmation link first, then send an occasional email when a substantial guide is published. Unsubscribe in one click. Stored on our own servers, never sold or shared. See the privacy policy.

Continue learning