Prepared by Chester Bella · BA case study · 2026-09-15
Oper · BA case study · AI working log
AI working log
How this pack was produced, one row per step. The brief invited AI-native work; this is what that meant in practice. Where a tool made a proposal, the decision stayed with me.
| Step | What the AI did | What I decided or checked | Where I did not trust it |
|---|---|---|---|
| Read the brief | Listed the need behind each workshop note and what breaks if only the surface ask is built | Confirmed the list and added the cases the notes never mention: co-borrowers, the second channel, the outage, retention of new data | The brief went in verbatim, never from memory |
| Decision list | Turned every trap with two defensible answers into Option A / Option B, 14 decisions | Skimmed and kept all 14 | The list, not the notes, is what the panel answered |
| Blind panel | Three independent AI lenses (a delivery analyst, the Bank's compliance and CRM owner, a platform architect) answered all 14, none seeing the others | Read all three | Agreement across blind lenses counted as signal; disagreement went to me |
| Judge | Merged the three into one proposal sheet: 11 unanimous, 3 split, each split as a branch-day scenario with a recommendation | I made the 3 calls: branch wall with a back-office duplicate check, pending draft on CRM outage, retention stamp at go-live | The judge dropped one lens's self-contradiction and said so |
| Flow maps | Built current state, target state and failure modes from the decided spec | Read every render as an image | A build that returns no error proves nothing; the picture was checked |
| Stories | Drafted 12 stories with acceptance criteria in a fixed format, each citing a workshop note and its decisions | Cut and re-cut for length | A cut for length dropped 6 decision clauses; a fresh review caught them, so every cut is now followed by a review |
| Integration notes | Data flows, the 3 CRM calls step by step, failure modes, questions for the CRM team | Checked every number against the stories | A write-back path had crept in that contradicted a decision; removed |
| Conformance review | A fresh reviewer, blind to the author, checked every artefact against the decisions, the format and the brief until it passed | Applied the findings | Reviewers could not re-open decisions; anything needing a decision came to me |
| Hostile review | Three reviewers attacked all acceptance criteria as a squad developer, the DPO and the CRM team lead: 115 findings, 76 distinct issues | 64 fixed, 7 defended with a reason, 5 escalated to me | The reviewers found holes; they never rewrote |
| Escalations | Each escalation as two options with a recommendation | I took all five: flag chip only after selection, a release that survives the next re-read unless the flag changed, an interim monthly deletion report, Bank-named roles for the alert and the merge queue, a subject-access export at go-live | The recommendation was mine to overrule |
| Two more calls | I questioned the phase-two search fields; the AI ranked identifiers by uniqueness, stability and availability in the room | Exact keys find the person (customer number, IBAN, ID document number); fuzzy fields confirm (name, date of birth, place of birth as an optional narrower); address is never a search input | Every artefact was re-checked after each call |
| Prioritisation | Applied the phase rule to all 12 stories, collected 28 assumptions with owners, 11 questions for the CRM team, 8 for the Bank | Confirmed the split | Every gap is a labelled assumption with an owner, never a filled-in guess |
| Sync check | Three independent checks: decisions against artefacts, artefact against artefact, a read as the panel would | Applied the fixes and rebuilt the pack, the deck and the maps | Counts and conditionals drift after late decisions; the check exists for that |
Reusable tooling built for this case
Each repeated job became a written recipe an AI tool runs the same way every time. The recipes outlive the case: the next epic starts from them, not from a blank page.
| Tool | Purpose | What it fixes in place |
|---|---|---|
| Design system recipe | Every artefact looks native to Oper: typeface, colours, card and button rules, copy voice, verification steps, all extracted from the public website and cited to the source | Consistent look across pack, deck and maps without redesigning each one |
| Flow-map recipe | Turns a decided spec into interactive maps: swimlanes, nodes in a shared grid, hop-by-hop flows, status tags for gap, new, assumed and phase two, a build and a render check | Current state, target state and failure modes as one live deliverable, walked in the session |
| Epic method | The end-to-end method: brief in verbatim, traps, decisions as options, three blind lenses, a judge, human calls on the splits, artefacts in fixed formats and word budgets, a review loop, a hostile pass, the pack and the deck, this log | Two runs a month apart read like the same analyst; judgment stays with the human at fixed points |
| Conformance reviewer | A fixed-role reviewer, blind to the author, that checks one artefact against the decisions, the format and the brief and reports block, fix or ok with the location | Catches drift after every edit; it may not re-open a decision |
| Hostile reviewer | A fixed-role attacker that reads acceptance criteria as a squad developer, a DPO or a CRM owner and reports "this fails when" | Finds holes before a client does; it never rewrites and never decides |
What these tools are not: they do not decide. Every split, every escalation and every scope change in this pack was a human call, recorded with its reason.