Agile Requirements Decomposition
-
Upload
rick-austin -
Category
Technology
-
view
4.932 -
download
1
description
Transcript of Agile Requirements Decomposition
AGILE REQUIREMENTS
DECOMPOSITION
Epic to User Story
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
Do you use a Vision today? Do you find it valuable? How do you use it?
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
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
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.
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
Features
Capabilities that the product owner is interested in
Are delivered within releases Provides value to users Realized by some number of user
stories
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
….
What is a story?
Once upon a time there was a misunderstood wolf that…
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.
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
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
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
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
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
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
Story Mapping
Feature 3Feature 1 Feature 4Feature 2
Usage Sequence
Arrange features or activities in the order they are done.
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
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
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
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
Example Problem
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.
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
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
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
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
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
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
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
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
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.
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
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
Rick Austin
Email: [email protected] Twitter: rickaustin Blog: http://blog.capabilitydevelopment.net