user stories training

38
User Stories A constructive narrative…

Upload: clarion-technologies

Post on 18-Jan-2017

113 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: User Stories Training

User StoriesA constructive narrative…

Page 2: User Stories Training

The Problem

Page 3: User Stories Training

The client wants it to be an elephant… By tomorrow!

The Problem

Page 4: User Stories Training

Resultant: Business Assumes A Lot

Page 5: User Stories Training

Resultant: Unknowns Get Manipulated

Trades quality Partial implementation of feature Takes decision alone which should have business

involvement.

Page 6: User Stories Training

WELL STRUCTURED USER STORIES

Page 7: User Stories Training

Solve The (Mis)communication

Those who build the software

Those who want the software

BETWEEN

Page 8: User Stories Training

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.

Page 9: User Stories Training

3 C’s Of The Story

• Card

• Conversation

• Confirmation

Mostly Supported by: A Picture, that is worth a thousand words…

Page 10: User Stories Training

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.

Page 11: User Stories Training

C#2: Conversation

• A section for capturing further information about the user story.

• Details behind the story.

Page 12: User Stories Training

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.

Page 13: User Stories Training

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.

Page 14: User Stories Training

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

Page 15: User Stories Training

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.

Page 16: User Stories Training

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?

Page 17: User Stories Training

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

Page 18: User Stories Training

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

Page 19: User Stories Training

Few More Examples

Page 20: User Stories Training

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?

Page 21: User Stories Training

Step1: Details As Condition Of Satisfaction

Page 22: User Stories Training

Step2: Breakdown In Smaller User Stories

Page 23: User Stories Training

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

Page 24: User Stories Training

User Stories

Page 25: User Stories Training

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.

Page 26: User Stories Training

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

Page 27: User Stories Training

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.

Page 28: User Stories Training

Types of Technical User Stories

Technical User

Stories

Product Infrastructure

Team Infrastructure

Bug Fixing

Refactoring

Spikes

Page 29: User Stories Training

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???

Page 30: User Stories Training

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.

Page 31: User Stories Training

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

Page 32: User Stories Training

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.

Page 33: User Stories Training

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!!!

Page 34: User Stories Training

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…

Page 35: User Stories Training

• Example 4: "As an commercial advertiser I want to have filtering option.”

What does he want to achieve???

Page 36: User Stories Training

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)

Page 37: User Stories Training

Mail: [email protected]

Chatter: Agile@Clarion