Agile Requirements Decomposition

36
AGILE REQUIREMENTS DECOMPOSITION Epic to User Story

description

Requirements decomposition presentation that focuses on story mapping.

Transcript of Agile Requirements Decomposition

Page 1: Agile Requirements Decomposition

AGILE REQUIREMENTS

DECOMPOSITION

Epic to User Story

Page 2: Agile Requirements Decomposition

What Are We Doing Tonight? Decomposing a vision into stories

Vision -> Epics/Features -> Stories The use of story mapping to prioritize

and plan a release Work through an example together Have fun

Page 3: Agile Requirements Decomposition

Do you use a Vision today? Do you find it valuable? How do you use it?

Page 4: Agile Requirements Decomposition

Vision

Describes the problem being solved for a release

Describe a product solution Provides a list of features delivered in

the release Creates shared understanding of

purpose

Page 5: Agile Requirements Decomposition

Vision: Problem Statement

The problem of Having to run to the rental store

Affects People who want to easily watch movies

The impact of which is Wasted time, effort, and cost to travel to a store to pick from a limited selection

A successful solution would Allow a user to select movies they want to see and have them shipped to their home with a postage paid return envelope

Page 6: Agile Requirements Decomposition

Vision: Product PositionFor People

Who Want to watch movies at home

The ShipFlix system Is a web-based membership system

That Allows consumers to queue up movies to watch and to be delivered to their home

Unlike Local DVD rental stores

Our product Will automatically ship DVDs to a person’s home allowing them to keep 2 disks out at any time providing pre-paid envelopes so the customer can easily return watched DVDs.

Page 7: Agile Requirements Decomposition

Epics

Large initiatives delivering new products, solutions, or services to customers

Comprised of a large collection of features which may span releases

Represents a theme and are “fuzzy” requirements – at this point

Page 8: Agile Requirements Decomposition

Features

Capabilities that the product owner is interested in

Are delivered within releases Provides value to users Realized by some number of user

stories

Page 9: Agile Requirements Decomposition

Features: ShipFlixUsers can create an

account with a valid CC

Users can cancel their

account

Ten DVDs can be added to

viewing queue

Two DVDs can be out at any

one time

# DVDs out can be increased

with higher fee

Movies can be streamed to

Windows computers

Streaming will be supported in IE and Firefox

….

Page 10: Agile Requirements Decomposition

What is a story?

Once upon a time there was a misunderstood wolf that…

Page 11: Agile Requirements Decomposition

User Story

Represents a user’s need Planning item Causes a conversation to occur

Make people laugh

As a comedian, I want to make sure my jokes cause laugher, so that I can continue to be paid and make a living.

Page 12: Agile Requirements Decomposition

User Stories

A user story describes functionality that will be of value to a user

Represents smallest increment of value Contained within a sprint or less

Page 13: Agile Requirements Decomposition

The 3 C’s of a User Story

Card• Written on note cards• Can be annotated with estimates,

value, notes, etc.

Conversation• Details of the story come out through

conversations with the customer

Confirm• Acceptance tests are defined to

confirm the story is complete

Page 14: Agile Requirements Decomposition

Story written as:

Starts with a title Description: As a <role>, I want to

<goal>, so that <benefit> Acceptance criteria to define when we’re

done

Drive between the lines

As a auto driver, I want to stay between the lines, so that I don’t cause an accident or incite unfriendly responses.

Drive between the lines

Acceptance Criteria• Car remains between the lane

lines• Only receive friendly hand

gestures from other drivers

Page 15: Agile Requirements Decomposition

INVEST Model for StoriesIndependent

There should be no dependencies between stories

NegotiableDescribes functionality to be negotiated between the customer and development

Valuable Valuable to the user or purchaser

EstimatableHave enough detail to estimate without being too detailed

Small They should be small, one sprint or less

Testable Worded in a way that they can be tested

Page 16: Agile Requirements Decomposition

Stories: ShipFlix

As a user, I want to keep 2 DVDs at any time, so I have viewing choices at home

As a user, I want pre-paid envelopes for returning DVDs, so I don’t have extra costs.

As a shipping clerk, I want to see how many disks are out, so I don’t send too many to a customer.

As a warehouse receiver, I want to scan returned disks, so I can quickly credit the customer’s account

Page 17: Agile Requirements Decomposition

Benefits of Story Mapping

Provides visibility of the workflow across the system

Points out relationships between stories Helps to spotlight missing stories Provides a prioritization mechanism Release planning is improved by

focusing on valuable slices

Page 18: Agile Requirements Decomposition

Story Mapping

Feature 3Feature 1 Feature 4Feature 2

Usage Sequence

Arrange features or activities in the order they are done.

Page 19: Agile Requirements Decomposition

Story Mapping

Feature 3Feature 1 Feature 4Feature 2

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

Usage Sequence

Identify stories that support features or activities

Page 20: Agile Requirements Decomposition

Prioritize stories

Feature 3Feature 1 Feature 4Feature 2

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

Usage Sequence

Less

Im

port

ant

Mor

e im

port

ant

Arrange stories so most necessary are at the top

Page 21: Agile Requirements Decomposition

Create horizontal slice

Feature 3Feature 1 Feature 4Feature 2

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

Usage Sequence

Less

Im

port

ant

Mor

e im

port

ant

Pick necessary stories that are required for a first release

Page 22: Agile Requirements Decomposition

A Skeleton Release

Feature 3Feature 1 Feature 4Feature 2

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

Usage Sequence

Less

Im

port

ant

Mor

e im

port

ant

Prioritization considers business workflow and value of stories within the context of the whole system

Page 23: Agile Requirements Decomposition

Example Problem

Page 24: Agile Requirements Decomposition

Vision: Problem Statement

The problem of An inability to make electronic person to person payments

Affects People that would like to easily send money to another person

The impact of which is Increased effort required to provide payment using checks or cash

A successful solution would Allow a person to electronically transfer money to another person in a safe and quick manner.

Page 25: Agile Requirements Decomposition

Vision: Product PositionFor People

Who Want an easy way to transfer funds to others

The P2P Payment System

Is a web-based software system

That allows consumers to transfer money to other registered people using funding sources of their choosing

Unlike Existing solutions that require paper checks or cash

Our product Will provide a solution that is easy to sign up for and supports bank account and credit card funding

Page 26: Agile Requirements Decomposition

FeaturesSend money to

another user

Sign up for a P2P account

Request money from another

user

Configure funding account

Administer P2P system

Manage money transfer disputes

Page 27: Agile Requirements Decomposition

Exercise – Features

Goal: Based on the problem statement and product position, define a set of features

Break into teams Choose someone in your team to present

your features You have 10 minutes to define features

Page 28: Agile Requirements Decomposition

Review Features

Each team will describe the features Place your “features” on the wall Other teams should listen for duplicates

and remove them from their set of features

Order features horizontally by usage

Page 29: Agile Requirements Decomposition

Exercise - Stories

Each team will be given one or two features Create a set of stories for those features For each story think about:

The kind of user who uses itHow often it is used (often, sometimes, rarely)How valuable is it (high, medium, low)

You have 15 minutes for this exercise

Page 30: Agile Requirements Decomposition

Features arranged by order

Send money to another user

Sign up for a P2P account

Request money from another

user

Configure funding account

Order of activities

Page 31: Agile Requirements Decomposition

Identify stories by feature

Send money to another user

Sign up for a P2P account

Request money from another

user

Configure funding account

Register for P2P

Sign into P2P

Sign into P2P

Configure bank account

Confirm bank account

Configure credit card account

Sign into P2P

Send money to P2P user

Sign into P2P

Send money request to P2P

user

Order of activities

Less

Im

port

ant

Mor

e im

port

ant

Page 32: Agile Requirements Decomposition

Create horizontal slice

Send money to another user

Sign up for a P2P account

Request money from another

user

Configure funding account

Register for P2P

Sign into P2P

Sign into P2P

Configure bank account

Confirm bank account

Configure credit card account

Sign into P2P

Send money to P2P user

Sign into P2P

Send money request to P2P

user

Order of activities

Less

Im

port

ant

Mor

e im

port

ant

Identifies a first release

Page 33: Agile Requirements Decomposition

For Each Release:

Give it a name or statement that describes the purpose

Describe the benefits and goals for the business

Describe the benefits or value the users get

Release 1: Two DVDs out to customers

Business Value: Begin creating a user base to offer more profitable capabilities

User Value: Ability to have two DVDs out for viewing at home without the hassle of storefront rentals.

Page 34: Agile Requirements Decomposition

Exercise – Story Mapping

Goal: Create a slice of the system for an initial release

Arrange stories under each feature Order stories vertically by importance Identify missing stories and fill in Determine what stories must exist in an

initial release – creating a slice

Page 35: Agile Requirements Decomposition

Story Mapping Wrap Up

Sets an overall context for the backlog Targets business and user goals for

delivery Prioritization capability for release

roadmaps*Release N: the necessities (skeleton)Release N+1: more capabilities and

flexibilityRelease N+x: comfort, performance, luxury

* As described by Jeff Patton

Page 36: Agile Requirements Decomposition

Rick Austin

Email: [email protected] Twitter: rickaustin Blog: http://blog.capabilitydevelopment.net