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.

Continue learning