Writing User Stories : Agile Way of Capturing Requirements

42
Saket Bansal PMP, PMI-ACP, CSM , ITIL-F www.izenbridge.com 1 User Stories & Agile Analysis

description

User Stories , Good Reading material for people preparing for PMI-ACP or Interested in knowing details of User Stories.

Transcript of Writing User Stories : Agile Way of Capturing Requirements

Page 1: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 1

Saket BansalPMP, PMI-ACP, CSM , ITIL-F

User Stories & Agile Analysis

Page 2: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 2

Agenda

User Stories

Epics and Themes

A Good User Stories

Writing User Stories

Responsibilities

Page 3: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 3

A user story describes functionality that will be valuable to either a user or purchaser of a system or software.

What Is A User Story?

Page 4: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 4

Is • An agreements between customers and team members

to discuss detail requirements during an iteration • Emphasize verbal rather than written communication.• Right size for planning

Is not• A Requirement document, requirement need to be

captured by discussion , if discussion is not possible then should be augmented by documentation

User Story

Page 5: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 5

Card: • Stories are traditionally written on note cards• Card may be annotated with Notes , Estimates etc,

Conversation : • Details behind the story come out during conversations

with product owner/customer.Confirmation • Acceptance tests confirms a story was coded correctly

Three Cs

Page 6: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 6

User Story

As a (role) I want

(something) so that

(benefit).

As a Who wants this piece of functionality I want What the user wants So that Why the user wants it

Page 7: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 7

Samples : Test Preparation Site

As a Student I want to take practice test so that I know my readiness for exam.

As a Exam Administrator I should be able to publish new Exam so that test takers can take it.

As a Student I want to see how I am doing in practice test so that I can plan my future study.

As a Administrator I should be able to manage question bank so that I can retire easy questions.

Page 8: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 8

Where Are The Details?

As a Student I want to take practice test so that I know my readiness for exam.

•Does system allows user to select number of questions•Does system allows user to take test in multiple sessions•Does system provides facility to time the exam, is if configurable ? •Do we need to save the test history?

Page 9: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 9

Details As Condition Of Satisfaction

As a Student I want to take practice test so that I know my readiness for exam.

•Verify that test taker can select questions in multiple of 10 with max limit of 100•Verify that registers user can do the test in multiple sessions.•Verify that User can see how he has performed in test at later date.

Page 10: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 10

Details Added In Smaller Sub Stories

As a Student I want to take practice test so that I know my readiness for exam

As a Test taker I can select the number of questions so that i get that many questions in test

As a Test taker I should be able to hold the test so the I can resume it at later stage

As a Test taker I want to save my test results so that I can review them at later date

Page 11: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 11

Agenda

User Stories

Epics and Themes

A Good User Stories

Writing User Stories

Responsibilities

Page 12: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 12

Epic and Theme

Epic , Is a large User Story, They are too big to implement in a single iteration and therefore they need to be disaggregated into smaller user stories at some point

Theme : Theme is a set of related user stories that may be combined together and treated as a single entity for either estimating or release planning.

Page 13: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 13

In some cases epic may equal a theme. However we write an epic as a placeholder for big features we want to add someday , while themes serve the purpose of grouping together a set of related stories

Epics come from top-down planning while themes are created bottom.

There is no hierarchy relation between Theme and Epic Epics are usually bigger than theme , but in some cases

theme may have more than one epic in it.

Epic And Theme

Page 14: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 14

Example : Epic

As a Job Seeker I should be able to search for a job so that I can find suitable match

As a Job Seeker I should be able to search for jobs by keywords and location so that I can find the suitable match

As a Job Seeker i should be able to view information about each job that is matched by a search so that I can get details of listed Job

Page 15: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 15

As a PMO Head, I would like to review

performance of ongoing projects so that I can

take corrective actions

As a PMO Head, I would like to review project performance against

time so that I can take corrective actions

As a Head PMO, I would like to see list of projects which are behind schedule so

that I can take corrective actions

As a Head PMO, I would like to see list if upcoming milestones

in any running projects so that I ensure

resources on time.

As a Head PMO, I would like to see list of projects which has

missed last 3 milestone dates so

that I can identify the risky projects.

As a PMO Head, I would like to review Project performance against budget so that I can

take corrective actions

Epic Hierarchy : Project Management

Application

Epic

EpicUser Story

Page 16: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 16

A Job Seeker can post a resume

Technical Division

A Job Seeker can fill out a resume form.

Information on a resume form is written to the database.

Slice the cakeA Job Seeker can submit a resume that includes only basic information such as name, address, education

history

A Job Seeker can submit a resume that includes all information an employer may want to see.

Slice The Cake

Epic

Page 17: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 17

Type Of Epics

Epic

Compound Story An epic that comprises multiple shorter stories

Complex StoryInherently large and

cannot easily be disaggregated

Page 18: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 18

Splitting Epics : Compound Story

Epic : Compound

Story

Splitting across data boundaries

Split along the boundaries of the data supported by the story.

Splitting on Operational Boundaries

Based on the operations that are

performed within the story.

Removing Cross Cutting Concern

Creating two versions of the story: one with

and one without support for the cross-

cutting concern.

Don’t meet performance constraints

Separate the functional and nonfunctional

aspects

Split Stories of Mixed Priority

Split into smaller stories if the smaller stories have different

priorities

Page 19: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 19

Splitting Epics : Complex Story

Epic : Complex Story

Investigation

Research and determine the

feasibility (TimeBoxed Spike)

DevelopmentAdd that

functionality to the product. (User Story)

Page 20: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 20

Agenda

User Stories

Epics and Themes

A Good User Stories

Writing User Stories

Responsibilities

Page 21: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 21

Independent• Avoid Introducing dependencies between stories

Negotiable• Stories are negotiable. they are not written contracts or

requirements Valuable to users or customers• Story must be valued by the users / Purchaser

Estimatable• Developers should be able to estimate it.

Small• Stories should be rightly sized , Too large or too small cannot be

used in planning. Testable• Stories must be written so as to be testable. Successfully passing its

tests proves that a story has been successfully developed.

A Good Story Is: (INVEST)

Page 22: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 22

Is a Closed stories Has User Role Written for One user Does not focus too much on UI Has acceptance tests

A Good Story

Page 23: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 23

Agenda

User Stories

Epics and Themes

A Good User Stories

Writing User Stories

Responsibilities

Page 24: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 24

Identify Initial asset of User Roles

• Set of User Roles

Identify User Personas for important User Roles , also identify Extreme Characters• User Personas

• Extreme Characters

Identify actions / interactions User Persona or role can have with system

• Epic Stories

Writing User Stories

Page 25: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 25

A user role is a collection of defining attributes that characterize a group of users and their interactions with the system. Its an aggregate individual users Role Modeling Steps• Brainstorm set of user roles relevant for our system• Organize and consolidate roles• Refine the roles

User Roles

Page 26: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 26

Ajay• Deals in Sr. Positions• Specialized in Law Firms recruitment

Sally • Deals in Project Management • Specialized in IT Projects Managers

Sunita• Deals in Entry level Recruitment• Specialized in call Center Recruitment

User Role : Recruiter

Page 27: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 27

Name Picture Education & Experience Likes / Dislikes Demographic Information Not to map to the real user

User Personas

For some of the important user roles we should create a persona . A persona is an imaginary representation of a user role.

Page 28: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 28

Users with exaggerated personalities may lead to new stories

Extreme Character

Page 29: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 29

Includes developers , users , product customers, product owner , anyone who can contribute Should be conducted prior to release planningUse CardsDiscussion remain at a high level

Story Writing Workshop

Page 30: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 30

Agenda

User Stories

Epics and Themes

A Good User Stories

Writing User Stories

Responsibilities

Page 31: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 31

Writing User Stories

Page 32: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 32

Identify appropriate user roles. Participate in the process of identifying user roles and

personas. Write Stories. When writing stories ensure that each story can be

associated with at least one user role or persona. If you need help in writing the stories, you are responsible

for scheduling and running story-writing workshops.

Customer / PO

Page 33: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 33

Participate in the process of identifying user roles and personas.

Participate in Writing Stories.

Developer Responsibilities

Page 34: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 34

Writing Acceptance Test

Page 35: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 35

Writing the acceptance tests. Write tests as many which adds value and clarification to

the story. Executing the acceptance tests.

Customer / PO

Page 36: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 36

Responsible for automating the execution of acceptance tests if required

You are responsible for thinking about additional acceptance tests

You are responsible for unit testing your code so that acceptance tests do not need to be specified for all the minutiae of a story

Developer

Page 37: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 37

Agenda

User Stories

Epics and Themes

A Good User Stories

Writing User Stories

Responsibilities

Page 38: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 38

Refernences

User Stories Applied for Agile software Development-Mike Cohn

Page 39: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 39

Check with us for more informative and interesting presentations…

Page 40: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 40

Provide Agile & Scrum training Provide face to face and online training of PMI-ACP (Agile

Certified Practitioner) certification program Help Organizations in adapting agile Helps organizations in setting up project governing office. Get training calendar at www.iZenBridge.com

What We Do?

Page 41: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 41

Saket [email protected]: 9910802561Web: www.iZenBridge.comLinkedIn: www.linkedin.com/in/saketbansal

Reach Us

Page 42: Writing User Stories : Agile Way of Capturing Requirements

www.izenbridge.com 42

Did you get your answers? Drop us a note!