Draft

Discovery Framework

The guided questions we ask before proposing anything — same framework for every engagement style. Start at the business outcome, work backwards; let the data flow drive the design. The end point is a one-page Engagement Brief, not a tech stack.

The funnel

flowchart LR
    O["1 · OUTCOME
what must be true?"] --> U["2 · USERS
who acts on it?"] --> D["3 · DATA
follow the flow"] --> C["4 · CONSTRAINTS
what's fixed?"] --> S["5 · SOLUTION
smallest thing that works"] --> P["6 · PATH
how we engage"] style O fill:#EDEDFF,stroke:#3B54F7 style D fill:#E4E4FF,stroke:#23233A style P fill:#E4F7EE,stroke:#34D399

Technology is deliberately stage 5 of 6. If a conversation starts with "we need Kubernetes," we walk it back to stage 1 — the answer might be a queue and a cron job.

0 · People — who to meet, in what order

Each stakeholder unlocks a stage of the funnel. Meet them in this order:

flowchart LR
    SP["1 · Sponsor
owns budget + outcome"] --> CH["2 · Champion
owns the pain daily"] --> EU["3 · End users
2–3 real ones"] --> DO["4 · Data owner
knows where data is born"] --> EK["5 · Estate keeper
holds the keys"] --> SC["6 · Security / successor
can veto · will maintain"] style SP fill:#EDEDFF,stroke:#3B54F7 style EK fill:#FDF0DC,stroke:#F59E0B
Who Why this order You leave with Unlocks
Sponsor (economic buyer) Funds it, defines success, unblocks everyone below The metric + the "why now" Stage 1
Champion (day-to-day owner) Feels the pain; becomes your main contact and internal seller The real workflow + history of failed attempts Stages 1–2
End users (2–3 real ones) Truth lives here — watch them work, don't just ask The actual job-to-be-done vs the reported one Stage 2
Data owner / domain expert Knows where data is born, its quirks, its dirty secrets The honest data-flow sketch Stage 3
Estate keeper (eng lead / IT) Holds credentials + integration reality; can quietly kill the project Constraints with sources; an ally, not a bypassed rival Stage 4
Security / compliance + the successor Veto power; and whoever maintains it after us shapes the stack Compliance scope + skills ceiling Stages 4–5

Who we care about most: the sponsor (no sponsor = no project), the champion (no champion = no adoption), and the veto-holders (estate keeper + security — blockers matter as much as buyers; meet them early, never surprise them at the end).

Red flags: can't get 30 minutes with the sponsor → priority is lower than claimed. Champion and sponsor disagree on the outcome → stop and reconcile before stage 3. Told to skip the estate keeper → that's where the bodies are buried.

One meeting, several stakeholders

The order above is about information dependency, not calendar count — combine when it saves a week:

Combine Why it works
Sponsor + champion (kickoff) Outcome and ground truth in one pass — and if they disagree on the outcome, you found the most important fact of discovery
Champion + 2–3 end users (working session) Watch the real workflow live instead of hearing it described
Data owner + estate keeper (technical deep-dive) Data flow and constraints are one conversation — where data lives and who holds the keys

Don't mix: end users with their boss in the room (you get the official story, not the truth) · security veto debates inside the sponsor kickoff (kills momentum before there's a scope to defend). Rule of thumb: combine within a funnel stage; never combine across a power gradient.

1 · Outcome — the starting point

Ask Listening for
What business result must be true in 6–12 months? A sentence a CEO would say — revenue, cost, risk, speed
How will you measure that it worked? A number and a date, not a vibe
What happens if you do nothing? Urgency / real priority
Who feels this problem most, and who pays to fix it? Sponsor + budget reality
What's been tried already? Why didn't it stick? Landmines, politics, failed vendors

Move on when: you can write "Success = ⟨metric⟩ moves from ⟨X⟩ to ⟨Y⟩ by ⟨date⟩" and the client nods.

2 · Users & actions

Ask Listening for
Who touches this — roles, count, technical level? UX + auth + training implications
What decision or action does the system enable? The real job-to-be-done
Where are they when they use it? (office / field / offline) Platform + connectivity constraints
Internal only, customers, or both? Audience → access model, SLAs

Move on when: you can name each user role and the action the system unlocks for them.

3 · Data — follow the flow (the design spine)

Most architectures fall out of honestly answering where data is born, how it moves, and who consumes it. Walk the pipeline left to right:

flowchart LR
    A["ORIGIN
born where?"] --> B["INGEST
how does it arrive?"] --> T["TRANSFORM
what must happen?"] --> ST["STORE
shape · truth"] --> CO["CONSUME
who reads it?"] --> R["RETIRE
retention · exit"] style A fill:#EDEDFF,stroke:#3B54F7 style ST fill:#E4E4FF,stroke:#23233A
Stage Ask
Origin Where is the data born — sensors, uploads, humans, third-party APIs? Who owns it?
Ingest Push or pull? Batch or streaming? Volume/velocity today — and at 10×?
Transform What must happen to it (validate, process, enrich, label)? Compute-heavy? Human-in-the-loop?
Store Structured vs blobs? What's the source of truth? What must be queryable vs archived?
Consume Who/what reads it — dashboards, apps, ML, other systems, auditors? Freshness needs?
Retire Retention rules? PII/PHI sensitivity + residency? What must survive an exit/handover?

Move on when: you can sketch the data flow end-to-end on one whiteboard — that sketch is usually ~80% of the architecture. (Novamera's GPR pipeline is the worked example: sensor zips → S3 → SQS → processing → Aurora → labelling webhook — the design was the data flow.)

4 · Constraints — what's already fixed

Ask Listening for
What exists today — cloud, systems, code, contracts? Takeover vs greenfield; integration surface
Who maintains this after us? Team skills → tech choices + engagement path
Compliance/regulatory scope? Data that can't leave? HIPAA/SOC 2 → residency, BAAs, audit
Budget shape — build budget vs run-rate tolerance? Architecture cost ceiling (managed vs self-host)
Hard dates? What breaks if we're late? Crawl-first scoping, milestone design
Uptime expectations — real SLA or business hours? HA architecture vs a simple box

Move on when: every constraint is written down with its source (person/contract), not assumed.

5 · Solution — smallest thing that moves the metric

Only now, technology. Work backwards from stage 1 and along the flow from stage 3:

  • What's the crawl — the smallest system that moves the success metric? (Ship that first.)
  • What does the data flow imply — where's the natural queue, store, compute, interface?
  • Which patterns already fit? (Paved road first; invent only at the gaps.)
  • What's deliberately deferred, and what signal would justify building it?

Move on when: the proposal fits on one diagram + one cost line, and every box traces back to a stage-1..4 answer.

6 · Path — how we engage (the end point)

The answers select the engagement path almost mechanically: no team/accounts → Incubate · existing estate → Takeover · strong team wanting help → Embed · greenfield → Launch (they run it) or Launch & Manage (we do).

The deliverable — a one-page Engagement Brief:

Outcome: ⟨metric X → Y by date⟩ · Users: ⟨roles + actions⟩ · Data flow: ⟨the sketch⟩ · Constraints: ⟨list w/ sources⟩ · Proposed crawl: ⟨smallest system + cost⟩ · Deferred (+ signals): ⟨list⟩ · Path: ⟨scenario + who owns what⟩ · First milestone: ⟨2–4 weeks, demoable⟩

That brief feeds the SOW, the shared-responsibility matrix, and the first ADR of the engagement.

Anti-patterns

  • Tech-first discovery ("what stack do you want?") — walk back to stage 1.
  • Solutioning in stage 1–3 — capture ideas in a parking lot, keep asking.
  • A metric-free outcome — "modernize" is not measurable; push until there's a number.
  • Skipping retire/exit — retention + handover asked at the end of stage 3, not at contract end.