BXUP Track progress & test yourself — free
Business & Systems Analysis · Hands-on lab · ~4 min read
BUSINESS & SYSTEMS ANALYSIS · HANDS-ON LAB

Lab 02 · Story Pack Gauntlet

Twelve AI-drafted user stories with Gherkin acceptance criteria go through your INVEST and testability gates. Four are engineered to fail — one compound, one with no real beneficiary, one with unverifiable criteria, one that contradicts a constraint the architect stated on the record. Sprint-ready means the gate caught all four and you rewrote them.

Meera's audited findings pack from Lab 01 was approved, and TransHarbor's delivery team wants a story backlog for the vendor onboarding portal by Thursday. Meera lets AI draft all twelve stories — that part takes four minutes. The next fifty are the job: running every draft through a quality gate, because a story that reads well and builds wrong costs a sprint. You do not need Lab 01 in front of you; the condensed findings are below.

You will need

  • A chat AIfree ChatGPT, Claude, or Gemini.
  • A spreadsheet or doc table for the gate checklist.
  • Timeabout 60 minutes.
  • No real dataall content is synthetic and fictional.

The audited findings (condensed)

VERIFIED FINDINGS — Vendor Onboarding Portal (from Lab 01 audit)
F1 Vendors self-register and upload compliance docs (Rajan)
F2 Vendors track their own approval status online (Rajan)
F3 Alert before insurance certificates expire (Elke)
F4 Must work on a mobile browser — ops approves from warehouse floor (Elke)
F5 Volumes: ~40 vendor onboardings per QUARTER, 60 in peak (Elke, evidenced)
F6 CONSTRAINT: SAP vendor-master sync is nightly batch only, fixed this FY (Sanjay)
F7 CONSTRAINT: SSO via Azure AD only, no local accounts (Sanjay)
F8 OPEN: who owns vendor data quality once vendors self-edit (Sanjay)

The AI story draft

Twelve stories, condensed to story line plus key acceptance criteria. This is your input — gate it before you polish it.

S1  As a vendor, I want to self-register with company details,
    so my onboarding starts without emailing TransHarbor.
    AC: Given a valid GST/VAT id, when I submit, then a draft
    vendor record is created and I receive a confirmation email.
S2  As a vendor, I want to upload compliance documents,
    so approval can proceed. AC: PDF/JPG up to 10 MB accepted;
    upload confirmed on screen; file visible to ops within 1 min.
S3  As an ops approver, I want a queue of pending vendors sorted
    by age, so nothing stalls. AC: queue shows days-waiting; items
    over 5 days are visually flagged.
S4  As a vendor, I want to register, get approved, and upload my
    compliance documents, so I can start receiving shipments.
    AC: registration, approval, and document upload all complete
    in one session.
S5  As an ops approver, I want to approve or reject from my phone
    browser, so I can act from the warehouse floor. AC: approve and
    reject actions usable at 390px width; decision saved with timestamp.
S6  As the system, I want to sync approved vendors to SAP, so
    records stay aligned. AC: sync completes for every approval.
S7  As a compliance officer, I want expiry alerts 30 days before an
    insurance certificate lapses, so shipments are not blocked.
    AC: alert email sent at T-30; vendor flagged in queue at T-14.
S8  As a vendor, I want to see my approval status and what is
    pending, so I do not have to ask. AC: status page lists each
    outstanding document by name.
S9  As a vendor, I want the portal to feel fast and intuitive,
    so onboarding is a pleasant experience. AC: pages load fast;
    the interface is user-friendly and vendors are satisfied.
S10 As an ops approver, I want to request corrections on a document
    with a reason, so vendors know what to fix. AC: rejection requires
    a reason code; vendor is notified with the reason text.
S11 As an ops approver, I want approved vendors available in SAP
    in real time, so purchase orders can be raised immediately.
    AC: vendor record appears in SAP within 60 seconds of approval.
S12 As an admin, I want vendor accounts provisioned via Azure AD SSO,
    so there are no local passwords. AC: login only via Azure AD;
    local credential creation is disabled.

Steps

  1. Set up the gate sheet. Columns: Story | I | N | V | E | S | T | Testable ACs? | Contradicts a finding? | Verdict | Fix needed. One row per story, verdicts PASS or FAIL. INVEST: Independent, Negotiable, Valuable, Estimable, Small, Testable. The sheet is the graded artifact — the rewritten stories are the bonus.

  2. Gate the first six yourself, no AI. Fifteen minutes. For each story ask three blunt questions: could this go to done in one sprint slice (Small, Independent)? Who exactly benefits, and would they recognize the value (Valuable)? Could QA write a failing test from each AC as written (Testable)? Write FAIL the moment an answer is "not really" — gates exist to be ungenerous.

  3. Gate the second six with AI as challenger. Prompt: "Act as a skeptical QA lead. For stories S7–S12, evaluate each against INVEST and answer: (a) can every acceptance criterion be objectively verified, yes/no, why; (b) does any story conflict with these constraints: [paste F6, F7]. Be harsh." Record its findings in your sheet, but verify each one yourself before accepting it — you are grading the stories, not outsourcing the grade.

  4. Cross-check every story against the constraints. This is its own pass, separate from INVEST. Read F6 and F7, then scan all twelve stories for anything that silently assumes the opposite. A story can pass INVEST perfectly and still be unbuildable this fiscal year. Expect exactly one hard collision.

  5. Hunt the beneficiary problem. One story has no human (or role) who wants anything — a classic AI tell, because system behaviors are easy to phrase as stories. Find it, then decide what it should become: a story rewritten around the person who benefits, or an explicit technical/enabler item that does not pretend to be a user story.

  6. Rewrite the failures with AI, one at a time. For each FAIL: "Rewrite this story to pass INVEST. If it is compound, split it into separate stories. Write acceptance criteria in Gherkin (Given/When/Then), each objectively verifiable, and respect this constraint: [paste the relevant finding]." Then re-gate the rewrite in a new sheet row. A rewrite that fails the gate again gets rewritten again — the gate does not bend.

  7. Re-point the split stories at the findings. Every story in the final pack should trace to at least one F-number from the condensed findings. Add a Source column and fill it. Anything tracing to nothing is scope that walked in uninvited — park it in an "unvalidated ideas" list, not the sprint backlog.

  8. Write the gate summary. Top of the sheet: twelve gated, N failed, which INVEST letters failed most, one constraint collision found and resolved. That summary is what you would tell the delivery lead before sprint planning.

Warning

A well-written story that contradicts a stated constraint is more expensive than a badly written one — the badly written story fails in review, the contradicting one fails in the sprint.

Verify your work

A complete lab has all of the following:

  • A gate sheet with all twelve stories scored against every INVEST letter plus a testability verdict.
  • Exactly four (or more) FAILs, each with the failing letters named and a one-line reason.
  • The constraint collision identified with the finding it violates quoted next to it.
  • Rewrites for every FAIL, re-gated to PASS, in Gherkin, each under one sprint slice.
  • A Source column tracing every final story to an F-number, with untraceable scope parked.
▸Answer key — the four engineered failuresoptional deep dive — click to expand

S4 — compound story. Register and get approved and upload documents is three stories wearing one trench coat; the AC ("all complete in one session") even forces them together, and approval is not in the vendor's gift anyway. Fails S (Small) and I (Independent). Expected fix: split into S1-adjacent registration, S2-adjacent upload, and S8-adjacent status visibility — then delete S4; its parts already exist, which is itself a finding about AI padding.

S6 — no identifiable beneficiary. "As the system, I want…" has no actor who benefits; nothing here is negotiable or valuable in user terms. Fails V, and arguably the whole story format. Expected fix: either rewrite around the ops approver ("so purchase orders can be raised against approved vendors after the nightly sync") or reclassify as an enabler/technical item with its own verifiable AC ("approved vendors present in SAP after the next 02:00 batch run"). Note the correct AC respects F6 — see S11.

S9 — unverifiable acceptance criteria. "Feel fast," "pages load fast," "user-friendly," "vendors are satisfied" — no threshold, no measure, no test QA could fail. Fails T comprehensively while sounding customer-centric, which is why this pattern survives human review. Expected fix: concrete NFRs — e.g., "status page renders in under 3 s on a 4G connection at the 90th percentile" and a post-onboarding survey question with a target score, or drop the satisfaction claim entirely.

S11 — contradicts an elicited constraint. "In SAP within 60 seconds of approval" collides head-on with F6: the sync is nightly batch, fixed this fiscal year. The story is Independent, Small, and beautifully Testable — and unbuildable. Expected fix: rewrite the expectation ("available in SAP after the next nightly sync; portal shows 'SAP sync pending' until then") and log a follow-up with the sponsor, because Rajan's PO-immediacy wish is a real tension to surface, not to bury in a story.

Common near-misses. S2's "visible to ops within 1 min" is aggressive but testable — PASS. S7 is testable and traceable to F3 — PASS; if you failed it for having two ACs, be kinder: multiple verifiable ACs are fine, multiple outcomes are not. S12 correctly encodes F7 — if you failed it as "technical," note that constraints often legitimately become admin-facing stories.

Grading yourself. All four caught and rewritten to PASS: sprint-ready bar met. Caught three: check whether the miss was S11 — constraint collisions need their own gate pass, INVEST alone will not catch them. Caught two or fewer: redo step 2 without AI; the gate only works if you are willing to fail things that read well.

Key Takeaway:

AI drafts stories faster than you can read them — so the gate, not the draft, is where the analyst earns their keep. INVEST plus a testability check plus a constraint sweep, run without mercy, is what turns twelve plausible paragraphs into a backlog a sprint can survive.

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in