BA case study
Customer identification and CRM integration · epic for the squad, spec for the Bank
The problem
Right now, when an advisor starts a financing case in Oper, they begin from a blank screen. They cannot see whether the person in front of them is already a customer of the Bank.
Every case starts from scratch.
The same person, twice.
Nothing checks flags, nothing is kept.
Current state
3 flows, 6 gaps
Two defensible answers each
Decision
Other branches stay invisible to the advisor at go-live.
Why
An existence signal is a disclosure; the unscoped match at push still stops duplicates.
Decision
Typing continues in a draft marked identification pending; nothing can be submitted.
Why
An outage that stops every branch is the incident that ends the pilot.
Decision
Stamp a delete-after date from go-live; the nightly purge job is phase two.
Why
The stamp cannot be reconstructed later; the job has runway.
Target state
36 nodes · 16 new · 10 assumptions, each with its question · 5 phase two
Live map: walk it hop by hop →Twelve stories
Phase rule (D12): phase one only if, without it, an advisor cannot identify the person, or go-live creates wrong, duplicated or non-compliant customer data.
One story in full
As an advisor, I want an unskippable lookup, so that re-typing stops.
Assumption: the case model holds several applicants with roles; each party resolves separately (Oper platform team); the CRM search takes IBAN as an exact key and the CRM holds place of birth (CRM team, CRM question 11); the legal basis is pre-contractual steps at the person’s request, not consent, no consent screen (Bank DPO, Bank question 1).
Three calls
Read, read, then a single idempotent create at the milestone. Oper never updates an existing customer.
Designed for the bad day
| Failure | Advisor sees | System does |
|---|---|---|
| CRM down an hour | Lookup unavailable, keep typing | Degraded capture, lookup re-runs later, gate holds |
| 429 rate limited | Short wait, then results | Retry-After honoured, else base 1 s doubling to 30 s, jitter, 5 attempts |
| Out-of-scope record | Nothing renders | Dropped, alerted without name or number |
| Unknown flag value | Contact back office | Fails closed, mapped within 1 working day |
| Create times out | Finishing, do not retype | Search by key, wait 60 s, search again, then queue |
Phase two waits for a reason
| Phase two story | Trigger that pulls it forward |
|---|---|
| S8 · Search by ID document number | CRM question 11 answered yes for at least one key, or advisors hit the refine wall on hit-rate data |
| S9 · Signal existence elsewhere | A written DPO yes |
| S10 · Purge due prospects | First stamped date nears, or legal sets under 3 months |
| S11 · Route corrections back | Field ownership agreed, CRM question 9 yes |
| S12 · Resolve portal sign-ups | Borrower portal enters a go-live |
Phase rule (D12): anything that only makes the path faster or richer is phase two.
Nothing filled in by a model
assumptions, each with an owner
questions for the CRM team
questions for the Bank
Part B
Every assumption is labelled. Every decision has a why. The rest is yours to push on.