Developer reviewing acceptance criteria
Developer Tools

How to Write Acceptance Criteria That Engineers Love

James G
James G

Founder

October 5, 20258 min read

What is Acceptance Criteria?

Acceptance criteria (AC) define when a user story is "done." They:

  • Specify expected behavior
  • Create testable requirements
  • Align stakeholders and developers

The GIVEN-WHEN-THEN Format

The most common format:

GIVEN [context/precondition]

WHEN [action/trigger]

THEN [expected outcome]

Example

GIVEN I am a logged-in user

WHEN I click the "Export" button

THEN a CSV file downloads with my data

AND the file name includes today's date

Rules for Good Acceptance Criteria

Rule 1: Be Specific

Bad: "The page loads quickly" Good: "The page loads in under 2 seconds on 3G connection"

Rule 2: Be Testable

Can QA verify this? If not, it's not a good criterion.

Bad: "The design looks professional" Good: "The button uses primary color #EA580C with 8px border-radius"

Rule 3: Cover Edge Cases

Don't just test the happy path:

GIVEN I submit the form with an invalid email

WHEN the validation runs

THEN an error message "Please enter a valid email" appears

AND the email field is highlighted in red

Rule 4: Include Error States

GIVEN the API is unavailable

WHEN I try to save my changes

THEN a retry option appears

AND my changes are saved locally

Common AC Mistakes

Mistake 1: Too Vague

Bad: "User can log in" Good:
GIVEN I am on the login page

WHEN I enter valid credentials and click "Log In"

THEN I am redirected to the dashboard

AND my session is active for 24 hours

GIVEN I enter an incorrect password

WHEN I click "Log In"

THEN I see "Invalid email or password"

AND I am not logged in

Mistake 2: Too Technical

AC should be readable by non-technical stakeholders. Avoid implementation details.

Mistake 3: Missing Non-Functional Requirements

Include performance, accessibility, security where relevant:

AND the action completes within 500ms

AND the button is keyboard accessible

AND the data is encrypted in transit

Using AI for Acceptance Criteria

AI can help generate initial AC from user stories:

  • Identify edge cases you might miss
  • Suggest non-functional requirements
  • Maintain consistent format

reBacklog generates user stories with suggested acceptance criteria based on competitive analysis. Try it free →
This article was generated by SeoMate - AI-powered SEO content generation.

Ready to Transform
Your Product Planning?

Stop guessing what features to build. Use AI-powered analysis to generate business-aligned backlogs from real market data.