AI Skill Report Card

Writing Estimable User Stories

A85·Apr 15, 2026·Source: Web
15 / 15

Before (Vague): As a user, I want better search.

After (Estimable): As a returning customer, I want to filter search results by price range, so that I can find products within my budget without browsing everything.

Acceptance Criteria:

  • Given I'm on the search results page
  • When I select a price range filter ($0-$50, $50-$100, etc.)
  • Then only products in that range are displayed
  • And the result count updates to reflect filtered items
Recommendation
Condense the INVEST table - it's valuable but could be more concise without losing the essential information
14 / 15

Progress:

  • Identify specific user persona (not "user" or "admin")
  • Define single, clear goal
  • Explain business value with "so that" clause
  • Write testable acceptance criteria
  • Validate with INVEST checklist
  • Test team estimation (should converge within 2-3 points)

Core Format

As a [specific user type],
I want [single, clear goal],
so that [business value].

Acceptance Criteria:
- Given [context/precondition]
- When [action/trigger]
- Then [expected outcome]

INVEST Validation

CriterionRed FlagFix
IndependentDepends on unfinished workRemove dependencies or make them explicit
NegotiableSpecifies technical solutionFocus on what, not how
ValuableOnly developers careFind the user benefit
EstimableWide planning poker spreadsClarify scope, split if needed
SmallMultiple weeks of workBreak into smaller stories
Testable"Good UX" or subjective measuresAdd specific, measurable criteria
Recommendation
Move some of the detailed best practices into a single consolidated section to reduce repetition between sections
18 / 20

Example 1: E-commerce As a returning customer, I want to complete my order using my saved payment method, so that I don't have to re-enter my card details on every purchase.

Acceptance Criteria:

  • Given I have at least one saved payment method
  • When I reach checkout
  • Then I see my saved option pre-selected with last 4 digits
  • Given I select saved payment and click "Complete Order"
  • Then my order processes without requiring card entry

Example 2: SaaS Dashboard As a team lead, I want to export sprint velocity data as CSV, so that I can include it in my monthly stakeholder reports.

Acceptance Criteria:

  • Given I'm viewing the velocity dashboard
  • When I click "Export CSV"
  • Then a file downloads named "velocity-[YYYY-MM-DD].csv"
  • And contains: sprint name, dates, story points completed/committed

Example 3: Technical Debt As a mobile app user, I experience 5-7 second load times on the product catalog, because image assets aren't optimized, so implementing lazy loading will reduce load time to under 2 seconds.

Success Criteria:

  • Product catalog loads in under 2 seconds on 4G connection (p95)
  • Image size reduced by 60% (average 2MB → 800KB)
  • Lighthouse performance score improves from 45 to 85+
Recommendation
Consider adding a one-line template or cheat sheet that teams can reference quickly during story writing sessions

User Persona Specificity

  • ✅ "returning customer", "team lead", "billing administrator"
  • ❌ "user", "person", "stakeholder"

Vertical Slicing

Slice through all technical layers to deliver user value:

  • ❌ "Build user authentication API"
  • ✅ "As a new user, I want to sign up with email and password, so that I can access personalized features"

Testable Acceptance Criteria

Use specific, measurable outcomes:

  • ✅ "Page loads in under 3 seconds" (measurable)
  • ✅ "Price range: $0-$50, $50-$100, $100-$250, $250+" (specific values)
  • ✅ "Red error message appears below the field" (observable)
  • ❌ "Page loads quickly" (subjective)
  • ❌ "User sees appropriate feedback" (undefined)

Epic Breakdown Pattern

For large features, break by user journey:

Epic: Complete checkout experience Stories:

  1. Cart review (3 points)
  2. Shipping address entry (5 points)
  3. Shipping method selection (2 points)
  4. Payment information (5 points)
  5. Order confirmation (3 points)

Missing Business Value

❌ As a user, I want to update my profile picture. ✅ As a freelancer, I want to update my profile picture, so that potential clients see my current professional photo and trust my profile.

Technical Stories (No User)

❌ Build API endpoints for notification system ✅ As a mobile app user, I want to receive push notifications when my order ships, so that I know when to expect delivery.

Too Vague to Estimate

❌ As a user, I want better performance. ✅ As a dashboard user, I want the sales report to load in under 3 seconds, so that I can quickly check daily metrics.

Epic Disguised as Story

❌ As a customer, I want a complete checkout experience. ✅ Split into: cart review, shipping address, payment method (separate stories)

Estimation Red Flags

  • 1-2 points spread: Healthy disagreement, quick discussion
  • 3-5 points spread: Moderate confusion, needs clarification
  • 5-13 points spread: Major misalignment, story needs refinement

When team says "It depends on...": Story needs refinement before estimation.

Success metric: Team reads a story and starts implementing within 15 minutes, confident about scope and acceptance criteria.

0
Grade AAI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
15/15
Workflow
14/15
Examples
18/20
Completeness
20/20
Format
15/15
Conciseness
13/15