What are the guidelines for writing up a good User story ?

The guidelines for writing up a good User story can be summed up with the acronym INVEST –

I – Independent – User stories should be able to be described apart from one another

N – Negotiable – All of the features in a product are the product of Negotiation with the business

V – Valuable – All User stories should produce value to the users

E – Estimable –  Each User story should be in a state where the team can assign a size or effort

S – Small – Each User story should be small enough to be completed in a single Sprint

T – Testable – The team should be able to test each User story to create an effective feedback loop 

What is an Acceptance Criteria ?

An acceptance criteria are the conditions that the user story must meet or the details about what the story must do in order for the product owner to accept it as complete. It is used to define the boundaries of a user story and are used to confirm when a story is completed and working as intended.

What is the common format used for writing Acceptance Criteria ?

A commonly used format for writing Acceptance Criteria is the – Given/ When/ Then format which is –

Given < Some Pre-condition >

When < I do some action >

Then < I expect some result >

Example – Scenario: User forgot password

Given: The user navigates to the login page

When: The user selects < forgot password > option

And: Enters a valid email to receive a link for password recovery

Then: The system sends the link to the entered email

Given: The user receives the link via the email

When: The user navigates through the link received in the email

Then: The system enables the user to set a new password