user stories - agile requirements - iiba pittsburgh · pdf fileuser stories - agile...

36
Revision 1.0 User Stories - Agile Requirements PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Upload: vuongmien

Post on 06-Mar-2018

217 views

Category:

Documents


2 download

TRANSCRIPT

Revision 1.0

User Stories -

Agile Requirements

• 634 Alpha Drive, Pittsburgh, PA 15238 • 888-762-3683 • www.pmcentersusa.coPM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Purpose

Examine the nature of User Stories in the

context of Agile

Why does Agile need a different way to do

requirements?

How are User Stories created?

How are User Stories estimated and

prioritized?

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

1. Agile Requirements

2. What are User Stories?

3. The Three C’s

4. Story Sizing

5. Story Prioritization

6. Story Estimation

Topics

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

1. Agile Requirements

• Agile differs from Waterfall in several

ways:

Work is done in small pieces

Work is done only as needed, just in time

Documentation is minimized and done as

needed, if needed

Formality is reduced

• These differences impact the way

requirements are done on Agile projects

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Requirements on an Agile Project

• Waterfall: requirements fully defined early in

project and change management used

• Agile: requirements evolve during the

project

‘Lightweight’ approach of writing brief descriptions

of what pieces and parts are needed by the product

List of these descriptions make up the Product

Backlog – and this is prioritized by the Product

Owner so highest value work is done first

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Low Overhead Requirements

• The Product Backlog needs to be flexible – too

much work too early may be wasted

• Only the requirements needed for each sprint

are written and analyzed in detail

• Formal Requirements documentation does not

meet these needs

• What works are User Stories Simple to write

Easily changed as needed

A good fit for Agile!

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

A User Story is a requirement written from an end

user’s perspective. It usually follows this format:

As a <user>

I want to <do something>

so that <I get value>

2. What are User Stories?

It is NOT required to use this method for Agile or

even Scrum - User Stories simply help us think in

terms of our end users and provide a mechanism

that supports change

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

User Story Examples

• As a Facebook user, I want to update my profile so

that potential friends may find me.

• As a telecommuting employee, I’d like to be able to go

seamlessly from my cell phone to my office phone all

the while staying on the conference call so that I don’t

have to leave and then re-enter the conference.

• As a reports admin, I wish to add reports to a batch so

that I can save time every month.

• As a seller, I want to display an option for a buyer to

buy my product now so that I get paid right away.

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

User Stories are INVESTments

• Independent - any story could be the next one done

• Negotiable - a story is a promise for communication,

not a contract!

• Valuable - Don’t create technical stories. The story

must be valuable to your customer.

• Estimable - If you can’t estimate the story, it might be

too big.

• Small (or sized appropriately) - It should be small

enough to fit in the sprint, but not too small!

• Testable - If it is not verifiable, you can never tell if you

are done.

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Example Story View

of Architecture Layers

For each story, the basic idea is to take vertical cuts in the

architecture rather than working horizontally

UI

Layer 1

Layer 2

DB

How we used

to break up

work

How Agile

says to do

stories

This creates many

dependencies and delays

business value

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

3. The Three C's

As ___________________

I want to _______________

So that ________________

Acceptance criteria:

•__________________

•__________________

•__________________

Card

Conversation

Confirmation

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

The Three C’s in Action

Card: As a user I want to be able to pay with a credit card

Conversation:

• TEAM: What credit cards are valid?

• PO: Diners, MasterCard, VISA & AMEX, but not Discover.

• TEAM: What should I do if the card check comes back

invalid (card reported lost or stolen, expired, doesn’t exist?

• PO: Give them a nice message explaining why it is not

valid, and let them try to enter another card.

Confirmation:

Test that Discover is not accepted

Test that expired cards are not accepted

Confirm that rejected cards are not accepted

(and so on…)

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Story Writing

• Start with Requirements Elicitation in the same old

way – Business Analysts talking with the Customer

• Writing takes the form of User

Stories instead of formal

requirements documentation

• Ideally the business should

write the stories, but in practice

it is the BA’s led by the Product Owner

• Start with large Epic stories and decompose from

there

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Story Writing Reality

• In a perfect world, all the stories would be

complete and prioritized before the first sprint

• In reality, the Product Owner does well to simply

keep ahead of the team, ensuring that enough

prioritized stories exist for each sprint

• Story Time: short meeting in middle of a Sprint

where team works with the Product Owner to

further decompose the highest priority User Stories

in the Product Backlog for upcoming Sprints

• Final refinement of the stories will be done as part

of each sprint’s planning

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Other Considerations

Non-functional requirements: Performance, accuracy,

portability, reusability, maintainability, interoperability,

usability, security, etc.... “Product Backlog Items”

Area Sample Constraint

Maintainability

Automated unit tests must exist for all components

Automated unit tests must be run in their entirety at least once

every 24 hours

Interoperability

The system shall be written in Java.

All configuration data shall be stored in XML files.

Data shall be stored in MySQL.

CapacityThe database will be capable of storing 20 million members on

specified hardware while still meeting performance objectives

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

4. Story Sizing

• Stories need to be split into

digestible pieces, not too big

or too small

• Too-large stories are called

Epics, and they need to be split up

• This division is the same thing that needs to be

done outside Agile, so the same thinking can be

used – the work must be estimable

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Some Ways to Split Stories

• Spike - Implementation

• Manual - Automated

• Buy - Build

• Batch - Online

• Single User - Multi

User

• API only - User

Interface

• CRUD

• Generic UI - Custom UIAdapted from Bill Wake www.xp123.com

• Static - Dynamic

• Ignore errors -

Handle errors

• Small vs. large scale

• Few vs. many

features

• Main vs. many

alternate flows

• Follow the workflow

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Story Writing Planning

Product VisionYearly by the product owner

Product RoadmapBi-yearly by the product owner

Release PlanningQuarterly by the product owner and team

Iteration PlanningBi-weekly by the team

Daily PlanningDaily by the team and individuals

Image adapted from Mike Cohn,

www.mountaingoatsoftware.com

Initial Stories –

high level

Product Owner

refines Stories

Team refines

Stories for design

Grooming – 1 or

2 Sprints ahead

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

5. Story Prioritization

• The Product Owner is responsible for

prioritization

• The goal is to properly order the User Stories

so that the team can design each sprint

• Many factors drive prioritization:

Cost/Benefit analysis

Regulatory climate

Dependencies on/from other work

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Determining Value

• Financial value - how much money will the

organization make or save by having the new

feature?

• Cost - cost of developing and perhaps supporting

the new feature

• Impact - amount and significance of learning

needed and new knowledge created by

developing the features

• Risk - amount of risk removed or incurred by

developing the new feature (includes difficulty of

work)

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Prioritization Techniques

• High/Medium/Low as a first-pass

• “Buy a Feature” – timeboxing or budgeting

• MoSCoW

• Run/Grow/Transform

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Pareto Analysis

• Also known as the 80 / 20 rule

• It states that, for many events, about 80% of the

effects come from 20% of the causes

• In Agile, this is often used to say that 80% of the

business value in a project comes from 20% of

the features

• Think about the principle of

“maximizing the work not done”

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

MMF and MVP

• Minimum Marketable Feature (MMF)

The smallest set of functionality that must be

realized in order for the customer to perceive

value - we use this concept in decomposing

stories

• Minimum Viable Product (MVP)

Just the minimal amount of features that let a

product be deployed

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Kano Analysis

• Basic

• Performance

• Excitement

How do YOU measure

business value?

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

6. Story Estimation

www.agileevolution.com

• This is one of the hardest things to do properly in

project work, and Agile is no exception

• Most of the known estimation

techniques can be used with

Agile – there are some unique ones

• The stories must be sized properly

– if you are having problems

estimating, revisit the sizing

• Agile often does two estimates: Relative and Time

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

“Ready State” Product Backlog

• The product owner must always ensure that the product

backlog is in a ready-state by staying one step ahead of

the team

• Good estimation helps the team gauge how much

prioritized product backlog it can plan

• Not everything needs to be in the Ready State, but

everyone must be aware that the Stories not in there are

automatically prioritized downwards – they will not be

worked on this sprint!

Product Backlog Formula For Success:

Prioritization + Estimation + Small (at top) = “Ready State”

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Relative Sizing vs. Time

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Story Point Scale

{0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100}

small medium large

“easy”

“simple”

“known”

“difficult”

“complex”

“unknown”

A twist on this is affinity estimating (grouping stories).

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

More Considerations

• Definition of Done – when will this really

be complete? Who decides?

• Dependencies – what other work

depends on this?

• Complexity of work – how difficult is this

going to be to do?

• Existing framework – how hard will this

be to fit into what already exists?

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Acceptance Criteria

Write acceptance criteria for

this story

___________________

___________________

___________________

___________________

___________________

___________________

___________________

As a job seeker,

I can post my

resume to the

website

Is there a difference in the estimate if acceptance criteria

is “support 1000 users” vs. “support 10 million users”?

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Lifecycle Elements

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Planning Poker

• Each estimator selects a set of cards

• Product owner or customer reads item to be estimated

• Item is discussed

• Each estimator privately selects a card representing his or

her estimate - card is not shown to other estimators

• Once each estimator has privately selected a card, all cards

are revealed at the same time

• If everyone played the same card, that’s the estimate

• If estimates are not the same, the group discusses the

estimate, focusing especially on any outlying values

• Repeat until estimates converge

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Affinity Estimating

Another popular technique for relative estimates is based on

grouping as an approach to relative size

• Draw a range on a whiteboard from small to large (some

teams may choose to use story point labels from 1 to 40)

• Have team members silently place

stories in that range

• Allow people to move stories and

discuss briefly the reasons or ask

the PO for clarifications

• Look for natural size groupings of

stories and line them up

• Use a technique like planning poker to estimate the size of

each group instead of each individual item

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Move Relative Estimates to Time Ones

• Projects need actual hour/day estimates, not

just relative ones!

• You must move your estimates to Time at

some point towards the end

• Use all the estimation techniques that work

anywhere, even outside Agile:

PERT or Three-point

Analogous estimating

Bottom-up estimating

Parametric estimating

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

1. Agile Requirements

2. What are User Stories?

3. The Three C’s

4. Story Sizing

5. Story Prioritization

6. Story Estimation

Review

PM Centers USA, LLC, 2015 #888.762.3683 [email protected] www.PMCentersUSA.com

Questions?