user stories
TRANSCRIPT
Story writingPresented by: Tanvir Afzal
What we will achieve?• What is story and the criteria's.• Common mistake of stories. • Examples and examples. • Hands on story writing.
We will enjoy and have fun together
What is story?User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system.
User Stories Template
User stories are often written using the following template:
As a <Role>, I want <Task> so that I <Goal>
User Stories• Who are we building it for, who the user is?
— As a <type of user>
• What are we building, what is the intention? — I want <some goal or objective >
• Why are we building it, what value it bring for the user.? — So that <benefit, value>
What Is Epic?• When a story is too large, it is called an epic.
• An Epic can not be completed in a week time, or any work which will take a full sprint to complete. By observation 5-10 user stories comprise of one Epic in agile methodology.
• For release planning, epics should be broken down into smaller chunks.
s
User Story Example
As a customer, I want to be able to create an account so
that I can see the purchases I made in the last year to help
me budget for next year.
Why Write User Stories?
Simply listing a set of tasks for your team, while sometimes effective, can be confusing.
This can stem from a number of causes:
•Vague context
•Unclear expectations
•Being overly technical
Characteristics Of A User Story• A story should be small enough to be coded and tested within
an iteration.
• We should focus on what the user is doing or getting out of the story.
• The goal is that when the user story is done, the user can do something of value to them.
COS (Condition Of Satisfaction)• COS provide the Definition of Done for the story.
• As details about the story evolve, capture the critical ones as acceptance criteria.
• List as many acceptance criteria as possible in order to clarify the intent of the story.
• Once an iteration has begun, testers can formalize acceptance criteria into acceptance tests.
• By using bullet points, you can keep each criteria item brief and clear.
INVEST
INVEST• (I)ndepdendent• (N)egotiable• (V)aluable• (E)stimable• (S)mall• (T)estable
Tips to write good user stories
1 Stories for user
As its name suggests, a user story describes how a customer or user employs the product; It should be written from the user’s
perspective.
1. Stories For User (cont.)
Example: "As a user I want to be able to manage ads, so that I can remove expired and erroneous ads.“
What’s wrong with it ?
What Is Wrong Here?
Now What is wrong here?
"As an commercial advertiser I want to have filtering option.”
No Acceptance Criteria or Conditions of Satisfaction• Not having COS can cause the whole chain of mistakes starting
with wrong definition of development tasks or wrong estimation.
• Story can failed the tests or Test Cases will cover different criteria due to lack of understanding.
• Asking questions such as ‘What if … ?’, ‘Where …?’, ‘When …?’, ‘How …?’
• Use examples and simple drawings to remove assumptions
2. Stories For Developer
‘As a commercial user I want the system to allow me run multiple searches at the same time, so that I can do my job faster.’
• Re-factor search handling mechanism to allow multiple threads for single use• Update java version to 64-bit one.
Acceptance criteria need to define some measurable and testable definition of improvement like:
‘Single user can run 5 searches at the same time.’
‘Search returns results in less than 4 seconds.’
COS Example As a conference attendee, I want to be able to register online,
so I can register quickly and cut down on paperwork.
• A user cannot submit a form without completing all the mandatory fields.
• Information from the form is stored in the registrations database.
• Protection against spam is working.
• Payment can be made via credit card.
• An acknowledgment email is sent to the user after submitting the form.
Form a group of 3 people
Please collect • Take Sticky notes • Pencil & eraser for each team
We are creating a Search Engine
Write Epics for
Epic
Lets verify the Epic
Please collect
•Take Cards
Write Stories for
Stories?• Make DB tables to store search User data (IP and
keyword)
• Search keywords (Type the keyword and get result)
• Result Listing.
• Performance. (will find within 1 sec)
Lets verify the Stories
Write COS for stories
Lets verify COS
Why we need smaller stories?• Small stories provide focus and a short horizon for the team.
• Smaller stories enable more frequent handoffs and allow testers to work on smaller chunks of code.
• Small stories give you the flexibility to reconfigure and adapt to new discoveries or changes.
• Small stories provide more feedback opportunities at all levels of the system and more opportunities for personal satisfaction.
• Large stories increase the risk that your team will deliver nothing at the end of the iteration.
Reference:• http://www.yodiz.com/blog/writing-user-stories-examples-and-templates-in-agile-methodologies/
• http://www.agilemodeling.com/artifacts/userStory.htm
• https://medium.com/@rachid/3-common-user-story-mistakes-2cb2d14b5061#.ob95zxhi0
• https://www.scrumalliance.org/community/articles/2011/august/5-common-mistakes-we-make-writing-user-stories
• http://www.yodiz.com/blog/writing-user-stories-examples-and-templates-in-agile-methodologies/
• http://www.boost.co.nz/blog/2010/09/acceptance-criteria/
• http://www.yodiz.com/blog/what-is-epic-in-agile-methodology-definition-and-template-of-epic/
Any Questions?
Thanks for attending