user stories training
TRANSCRIPT
User StoriesA constructive narrative…
The Problem
The client wants it to be an elephant… By tomorrow!
The Problem
Resultant: Business Assumes A Lot
Resultant: Unknowns Get Manipulated
Trades quality Partial implementation of feature Takes decision alone which should have business
involvement.
WELL STRUCTURED USER STORIES
Solve The (Mis)communication
Those who build the software
Those who want the software
BETWEEN
What Is The User Story?
A concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software.
3 C’s Of The Story
• Card
• Conversation
• Confirmation
Mostly Supported by: A Picture, that is worth a thousand words…
C#1: Story Card
• A written description of the user story for planning purposes and as a reminder.
• A physical entity of reference.
• No Jargons.
• Written in direct speech.
C#2: Conversation
• A section for capturing further information about the user story.
• Details behind the story.
C#3: Confirmation
• A section to convey what tests will be carried out to confirm the user story is complete and working as expected.
• Basically Acceptance test criteria.
User Story Template (One Of The Many)
As a [user role] I want to [goal] so I can [reason]
For example: As a customer, I want to withdraw cash from an ATM, So that I don't have to wait in line at the bank.
Few Examples
• A user can search for jobs by attributes like location, salary range, job title, company name, and the date the job was posted
• A user can view information about each job that is matched by a search
• A user can view detailed information about a company that has posted a job
How Detailed Should A User Story Be?
• Detailed enough for the team to start work from, and further details to be established and clarified at the time of development.
Free of dependencies on other stories and self-contained. Stories can be completed in any order.
Stories that are negotiable can always change with up to date information before you begin work on it.
Stakeholder, customers etc gets some kind of value from that.
Clearly understood and have enough details to estimate how long does it take.
Able to be done in one iteration. Large stories are difficult to plan and estimate.
Contains key results or acceptance criteria. How will you demo? Show me! What has changed in the world, now that the story is done?
User Story In Detail
USER STORY EXAMPLE: FRONT OF THE CARD
As s School User, I want to be able to offer my parents a payment plan where not all installments are equal, especially 2 pay that are 60/40.
CARD
CONVERSATION
PICTURE
User Story In Detail
USER STORY EXAMPLE: BACK OF THE CARD
Scenario 1 – School Sets Up PlansGiven that School User is logged into the admin panel on /mdForm/studentForm, when they add a new field: • Under the Amount section, there will be a section for
Installments: • The title will be “Installments”• There will be a toggle button: • It should look like the other toggles in the modal• The default value should be Equal. • When equal is selected, the table will not display;• When equal is selected, the installment amounts
will be an even distribution of the total amount, as per current functionality.
CONFIRMATION
Few More Examples
Can You Implement These Stories?
As a user, I want to cancel my order
• Does the user get a full or partial refund?
• Is the refund to user’s credit card or is it site credit?
• How far ahead must the order be cancelled?
• Is that the same for all orders?
• For all customers? Different requirements by market?
• Is a confirmation provided to the user?
• On-screen? Email? Letter?
Step1: Details As Condition Of Satisfaction
Step2: Breakdown In Smaller User Stories
The Pyramid In The Story
• A top level objective or visionTheme
• A group of related stories that describes a particular higher level functional
Epic
• The story with INVEST(ment)
User Story
• Specific work sub-tasks of the story.
Tasks
User Stories
Hands On - Part 1
• 20 mins Exercise.
• Write epics/user stories for a requirement (Time limit: 10 mins).
• Switch with person next to you and ask him to analyze the given user stories.
• Update the stories for each other in next 10 mins.
Requirement: Going to office.
Technical Vs Business User Stories
• Technical User Story is focused on non-functional requirementwhere as a business user story is focused on end user requirement which has some business value
Technical User Stories
• A Technical User Story is one focused on non-functional support of a system.
• Technical story focuses more towards technical debt and refactoring.
• Focus on performing technical analysis, design, prototyping and architectural work.
• Focused towards underlying support for base functional behavior.
• Acceptance criteria or tests give you hints about technical stories.
Types of Technical User Stories
Technical User
Stories
Product Infrastructure
Team Infrastructure
Bug Fixing
Refactoring
Spikes
Examples To Ponder…
• As a developer, I want to refactor the FooBar module so that it has less duplication
• As a developer, I want to configure Jenkins so that we have continuous integration
• As a product owner, I want to have the stories estimated so that we can make a good plan
• As a tester, I want the test cases defined so I can test the system
What do you think of them???
Technical User Story == Technical Task
• Don’t get confused with the word ‘Story’.
• It does not necessarily follow the format of user story.
• Can be written in plain English.
• Should just have enough details.
Write Effective User Story
• User Comes First
• Use Roles to Discover the Right Stories
• Create Stories Collaboratively
• Keep your Stories Simple and Concise
• Start with Epics
• Refine the Stories until They are Ready
• Add Acceptance Criteria
• Don’t Solely Rely on User Stories
Pros And Cons Of User Stories
Pros:
• Short and Easy to modify as and when requirements changes.
• Allow projects to be broken into small increments.
• Easier to estimate the development effort.
• Completed User stories can go for development.
• It drives the creation of Acceptance tests.
Cons:
• Initial learning curve.
• They require close customer contact.
• Rely more on the expertise and inputs from the team. It’s a pros, but becomes a cons if the team is not self organizing.
Now Lets Practice…
Example1: "As a user I want to be able to manage ads, so that I can remove expired and erroneous ads.”
Roles in a story are as important
as Big B in Bollywood!!!
Example 2: "As a Product Owner I want the system to have possibility of deleting ads, so that users have possibility of deleting ads.“
Example 3: "As a developer I want to replace the folder widget, so that I have better structured folder widget."
Project Roles = Product roles
Except for few Exceptions…
• Example 4: "As an commercial advertiser I want to have filtering option.”
What does he want to achieve???
Hands On - Part 2
• Time estimate: 1 hour (Execution: 30 mins, Discussion: 30 mins)
• Create user stories for the 2 Requirements.
• Prologue: I have an existing application, which can be used by many doctors. This is the online platform where the doctors can connect to their patients and also keep the data for their patients. The patients can also come and interact and see his/her data on the same.
• Requirement 1: Send a personal message to Patients.
• Requirement 2: Patient Profile (To be done later)
Thank You!