Skip to content

User Story Card Template ​

Use this template to write well-formed user stories that meet the INVEST criteria.


Title ​

[Brief, descriptive title - e.g., "SMS Confirmation After Booking"]


User Story ​

As a [type of user - be specific: "restaurant manager" not just "user"],
I want [goal/capability - what do they want to do?],
So that [benefit/value - why does this matter?].


Acceptance Criteria ​

Use the GIVEN-WHEN-THEN format for clarity:

  • [ ] GIVEN [context or precondition]
    WHEN [action the user takes]
    THEN [expected outcome]

  • [ ] GIVEN [another scenario]
    WHEN [action]
    THEN [outcome]

  • [ ] GIVEN [edge case]
    WHEN [action]
    THEN [how the system handles it]


Example (ReserveEasy) ​

Title ​

Receive SMS Confirmation After Booking

User Story ​

As a diner,
I want to receive an SMS confirmation immediately after booking,
So that I have proof of my reservation and don't worry whether it went through.

Acceptance Criteria ​

  • [ ] GIVEN I have completed a booking and provided my phone number
    WHEN the booking is confirmed
    THEN I receive an SMS within 30 seconds

  • [ ] GIVEN I receive the SMS
    WHEN I read it
    THEN it includes: restaurant name, date, time, party size, confirmation code, and a link to modify

  • [ ] GIVEN the SMS fails to send (e.g., invalid number)
    WHEN delivery fails
    THEN I receive an email confirmation as a fallback within 1 minute


Why is this important?
[Describe the user pain point or business impact]

Example: Instant confirmation reduces customer anxiety and support calls. 85% of users in our survey said "knowing it went through" is the most important part of booking.

Success Metric:
[How will we measure success?]

Example: <5% of users contact support asking "Did my booking go through?"


Story Points (To be filled during estimation) ​

Estimate: [ ] 1 [ ] 2 [ ] 3 [ ] 5 [ ] 8 [ ] 13 [ ] 21

Complexity Reasoning:
[Why this estimate? What makes it complex?]

Example: 5 points - Requires Twilio API integration, SMS template design, and error handling for failed deliveries.


Dependencies ​

[List any other stories that must be completed first]

  • [ ] [Story/Task ID]: Description
  • [ ] Third-party service setup: [e.g., Twilio account activated]

Open Questions ​

[List anything that needs clarification before development]

  1. Should SMS work for international numbers?
  2. What happens if SMS quota is exceeded?
  3. Do we need to store SMS delivery status in the database?

INVEST Checklist ​

Before marking this story as "ready," verify:

  • [ ] Independent - Can be developed without hard dependencies
  • [ ] Negotiable - Details can be discussed (not a rigid contract)
  • [ ] Valuable - Delivers clear value to users or business
  • [ ] Estimable - Team can estimate effort
  • [ ] Ssmall - Fits in one sprint (1-2 weeks)
  • [ ] Testable - Has clear pass/fail acceptance criteria

Notes for Developers (Optional) ​

[Technical details, API endpoints, database changes, etc.]

Example:

  • API Endpoint: POST /api/v1/notifications/sms
  • Twilio Integration: Use official Twilio Node.js SDK
  • Database: Add sms_sent, sms_delivered boolean fields to bookings table

⬅️ Back to Toolkit