Skip to content

Amigos session

45 minutes. Three people — PO, Developer, QA. Gherkin scenarios written before code begins. At least one negative case. The session that prevents scenario-gap — and the single most-skipped session in teams whose chain quietly degrades.

When

  • Once per story, before the developer pulls it into in-progress.
  • Within 24 hours of pulling — not scheduled into next week. The developer needs the scenarios fresh.

Who

  • The PO — names the moment, brings the brief.
  • The Developer who will pull the story — not a placeholder developer. The one who will write the code.
  • QA — names the boundary cases and the negative scenarios.
  • (Optional) Designer if state coverage is non-trivial.

Time-box

45 minutes. Less and the scenarios are skeletal; more and the room drifts into design discussion (which belongs in Epic kickoff).

Inputs

  • The story (with DoR checked).
  • The Feature Brief excerpt for context.
  • The wireframe with states named.
  • The amigos template (with team-added prompts — e.g., the financial-boundary prompt added after the wallet bug).

Agenda

TimeWhat
0–5 minRead the story and the brief excerpt aloud. The room hears the same starting context.
5–25 minWalk the happy path. Gherkin form: Given / When / Then. One scenario, the canonical case.
25–35 minWalk the edges. Empty input, oversized input, multilingual, boundary values, retry. Per edge: a Gherkin scenario or a deliberate "not in scope, will deferred to story Y."
35–40 minThe negative case — at least one. What happens when the operation fails? What happens when the user lacks permission? What happens when the service is unreachable?
40–45 minSign. All three present agree the scenario set covers the story. Filed alongside the story.

Outputs

  • A Gherkin scenario set — 3+ scenarios, including at least one negative. (Template.)
  • State coverage check — every state in the wireframe has at least one scenario.
  • Explicit deferrals — what's not in this story, with the destination ("covered in story Y" or "in a future Epic").

What good looks like

The Gherkin reads like prose to the PO and like spec to the Developer. The scenario names travel — they become test names, commit messages, bug labels. Three months later, when a bug surfaces, the developer can grep the scenario name and find the original session's reasoning.

The negative case changes the design. "What happens at zero balance?""Oh, we hadn't thought about that. The screen would say $0 even if the actual balance is negative." That conversation, that day, prevents the wallet bug.

Anti-pattern

Amigos becomes rubber-stamping. The Developer was going to build it that way anyway; the PO and QA agree because resisting would delay the cycle; nothing changes. Fix: resistance handled well produces a smaller, more honest story — not a delayed cycle. If amigos never changes anything, it has decayed into ceremony.

A second anti-pattern: two people doing amigos. Three is the rule, because each angle catches a different chain level. Two-amigos has one angle dark; the bugs that surface six weeks later live in the dark angle.

See also

200apps · How We Work · NWIRE