Agile artifacts & the QA role
In an Agile team, a QA's job is not "test it when the code is ready". The greatest value is created at the start of the sprint, while the story is still being written. That requires knowing the Agile artifacts well.
A user story describes functionality from the user's point of view: "As a customer, I want to renew my policy online so that I don't have to visit a branch."
Acceptance criteria (AC) are the concrete, verifiable conditions that must hold for the story to be "done". For QA, AC are the basis of the test cases: each AC produces at least one. Writing AC is the PO's job, but making them verifiable is QA's job.
AC formats: a simple list or Gherkin (Given / When / Then) — the latter is especially convenient for condition/outcome logic.
| Concept | What it means | The QA's part |
|---|---|---|
| Definition of Ready (DoR) | Conditions for a story to be pulled into a sprint (AC exist, design exists, dependencies clear, estimated) | Confirms the AC are verifiable; raises test data and environment readiness |
| Definition of Done (DoD) | Conditions for a story to count as finished (code reviewed, tests passed, documented, deployed) | Ensures "tested with no open Critical/High bugs" is part of the DoD |
| Backlog refinement | The meeting where upcoming stories are clarified and estimated | **The QA's highest-value meeting**: raises ambiguities, edge cases and error flows here |
| Sprint planning | Deciding what goes into the sprint | Estimates test effort; makes sure everything doesn't pile up on the last day |
| Daily standup | The daily 15-minute sync | Reports blockers **immediately** (no build, broken environment, missing data) |
| Sprint review / demo | Showing the completed work to stakeholders | Makes sure the demo will hold up; flags known limitations in advance |
| Retrospective | Discussing what did and didn't work in the process | Turns quality problems into process actions (e.g. "AC arrive too late") |
What does shift-left mean in practice? It isn't a slogan but a set of concrete behaviours:
- Asking questions about the story in refinement and recording the answers in the ticket
- Getting error and edge cases added to the AC ("what happens if the payment fails?")
- Preparing test cases/checklists before the code is written and sharing them with the developer — who then handles those cases upfront
- Checking together with the developer ("show me this for 5 minutes") — it gets fixed without ever reaching the bug tracker
- Testing each story as it finishes, not waiting for the end of the sprint
The strongest consequence: with shift-left the number of bugs found goes down, because some bugs never come into existence. Measured as a metric this can look confusing — which is why "I found fewer bugs" always needs explaining with context.
In an interview, answering "what is the QA role in Agile?" with "I test at the end of the sprint" marks you as junior. The middle answer gives a timeline: refinement (questions and AC) → planning (effort) → through the sprint (test each story as it lands) → demo → retro (process). The strongest addition: "My success measure isn't how many bugs I find — it's how many reach production."
📚 Sources and documentation
- The Scrum Guideofficialscrumguides.org