session · shaping
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
| Time | What |
|---|---|
| 0–5 min | Read the story and the brief excerpt aloud. The room hears the same starting context. |
| 5–25 min | Walk the happy path. Gherkin form: Given / When / Then. One scenario, the canonical case. |
| 25–35 min | Walk 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 min | The 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 min | Sign. 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
- Canon — What We Build · Amigos & Gherkin · The session
- Template — Gherkin scenario set
- Practice — Holding amigos
- Checklist — Amigos · 45-minute agenda
- Clinic — A story without a state