QA Engineer Skills 2026QA-2026Three Amigos

Three Amigos

What Is the Three Amigos Pattern?

The three amigos pattern brings three perspectives together before work begins on a story. Each person asks different questions, and together they define exactly what "done" means.

Role Perspective Key Questions
Product Owner Business value and user needs "What problem are we solving? What does success look like?"
Developer Technical implementation "How will we build this? What are the edge cases? What could go wrong technically?"
QA Engineer Testability and risk "How will we verify this works? What are the failure modes? What about boundary conditions?"

How a Three Amigos Session Works

Format

  • Duration: 15-20 minutes per story
  • When: Before development starts (during sprint planning or backlog refinement)
  • Attendees: One developer, one QA engineer, the product owner (or a proxy)
  • Output: Refined acceptance criteria that all three agree are specific and testable

Flow

  1. PO describes the story and acceptance criteria (2-3 minutes)

    • What is the user trying to do?
    • Why is it valuable?
    • What are the acceptance criteria?
  2. Developer asks technical clarification questions (3-5 minutes)

    • How should the API handle concurrent requests?
    • What database changes are needed?
    • Are there performance constraints?
    • What happens during the migration window?
  3. QA asks "what if" questions (5-7 minutes)

    • What if the input is empty?
    • What if the network is slow?
    • What if the user has no permissions?
    • What if this is used on a mobile device?
    • What happens with very large data sets?
    • What about accessibility?
  4. Group refines acceptance criteria (3-5 minutes)

    • Rewrite vague criteria to be specific and testable
    • Add missing criteria that the discussion revealed
    • Agree on what "done" means for this story
  5. QA leaves with enough information to write test cases before development starts


Before and After: Three Amigos in Action

Example 1: Profile Photo Upload

Before three amigos:

"As a user, I want to upload a profile photo."

QA's questions during the session:

  • What file formats are accepted?
  • What is the maximum file size?
  • What is the minimum resolution?
  • Should the system crop to a specific aspect ratio?
  • What happens if the upload fails mid-transfer?
  • Can users upload animated GIFs?
  • What about EXIF data (orientation, location)?
  • Is there a content moderation requirement?
  • What happens to the existing photo if the new upload fails?
  • Can multiple devices upload simultaneously?

After three amigos:

"As a user, I want to upload a profile photo (JPEG, PNG, or WebP, max 5MB, min 100x100px). The system should crop to a square, show a preview before saving, and display a clear error message if the file is too large, wrong format, or too small. Existing photo should be kept if upload fails. EXIF orientation should be respected. Animated GIFs are not supported in v1."

Example 2: Search Feature

Before three amigos:

"As a user, I want to search for products."

Developer's questions:

  • Full-text search or exact match?
  • Do we search product name, description, or both?
  • Do we need pagination?
  • What about search performance with 100K products?

QA's questions:

  • What happens with an empty search?
  • What about special characters or SQL injection?
  • How fast should results appear? Is there a debounce?
  • What if there are no results?
  • Do search terms persist across page navigation?
  • Is search history saved?
  • What about fuzzy matching (typos)?

After three amigos:

"As a user, I want to search products by name or description with full-text search. Results appear within 500ms, paginated at 20 per page. Empty search shows all products. No results shows 'No products found' message with suggested categories. Search input has 300ms debounce. Special characters are escaped (no injection). Fuzzy matching is out of scope for v1."


QA's Unique Contribution

The QA engineer's primary contribution is asking questions nobody else asks. Developers think about how to build it. POs think about what to build. QA thinks about how it could break.

Question Categories for QA

Category Example Questions
Boundary values What happens at 0, 1, max, max+1?
Error handling What happens when the API returns 500? When the network is down?
State transitions What happens if the user navigates away mid-action?
Concurrency What if two users modify the same record simultaneously?
Security What if someone tries to access another user's data?
Performance What happens with 10,000 items? With 100 concurrent users?
Accessibility Can this be used with keyboard only? With a screen reader?
Backward compatibility Does this break existing API consumers?
Data integrity What happens to existing data during migration?
User context What about mobile? Slow network? Offline?

Building a Question Checklist

Over time, build a personal checklist of "what if" questions. After each three amigos session, add any questions that revealed missing requirements. This checklist becomes your most valuable QA tool.


Running Effective Three Amigos Sessions

Tips for Success

  1. Keep it focused: One story per session. If the story is too big, split it first.
  2. Time-box strictly: 15-20 minutes per story. If you need more time, the story is too complex.
  3. Write things down: Update the acceptance criteria in Jira during the session. Do not rely on memory.
  4. It is not a design review: Focus on what the behavior should be, not how to implement it.
  5. Everyone contributes: If the QA engineer is silent, the session has failed.
  6. Follow up: If questions cannot be answered in the session, create action items.

When Three Amigos Is Not Needed

Not every story needs a three amigos session. Skip it for:

  • Bug fixes with clear reproduction steps
  • Minor UI tweaks with no behavioral changes
  • Infrastructure tasks that do not affect user behavior
  • Stories that are extremely well-defined already

Focus three amigos on stories that are:

  • New features with unclear edge cases
  • Changes to existing features (risk of regression)
  • Features involving multiple systems or teams
  • Features with security, payment, or compliance implications

Measuring Three Amigos Effectiveness

Metric Without Three Amigos With Three Amigos
Acceptance criteria changes during sprint 40% of stories < 10% of stories
Bugs from undefined behavior Frequent Rare
Stories sent back to PO for clarification 20% of stories < 5% of stories
Test cases written before dev starts 0% 80%
Sprint planning time Shorter (but issues emerge later) Slightly longer (but fewer surprises)

Hands-On Exercise

  1. Organize a three amigos session for one story in your upcoming sprint
  2. Prepare 10 "what if" questions before the session using the question categories above
  3. Track how many acceptance criteria change during the session
  4. After the session, write test cases immediately from the refined criteria
  5. Compare: did the story have fewer bugs during testing than similar stories without a three amigos session?
  6. Build your personal "what if" question checklist and add to it after each session