slicing user stories

Post on 13-Apr-2017

105 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

David Michel25 October 2016

Slicing User Stories

As a game player, I want to be able to

move my rocket back and forthSo that I can avoid

asteroids

@DavMichel76

Requirements in Scrum?

As a game player, I want to be able tomove my rocket back and forthSo that I can avoid asteroids

Product Backlog Item

User story

Granularity

As a game player, I want to be able to

move my rocket back and forthSo that I can avoid

asteroids?

Backlog Refinement Process

?How to break down large user stories

Let’s NOT break things down in “waterfall”

phases…As a game player, I want to be able tomove my rocket back and forthSo that I can avoid asteroids

ImplementTest

Deploy+ +

http://agileforall.com/resources/how-to-split-a-user-story

Let’s explore some of the tools & techniques

Slicing by workflow

As customer I want to purchase the goods in my shopping basket so that I can receive my products at home

As customer I want to review and confirm my order, so I can correct mistakes before I pay

As customer I want to pay for my order with paypal, so I don’t have to look for my credit card As customer I want to receive

a confirmation e-mail with my order, so I have proof of my purchase

Slicing by operation

As shop owner I want to manage products in my shop, so I can update price and product information if it is changedAs shop owner I want to add new products, so customers can purchase them

As shop owner I want to update existing products, so I can adjust for changes in pricing or product information

As shop owner I want to delete products, so I can remove products that I no longer stock

As site owner I want to be able to request a new password when my login fails, so that I can try to log in again

Slicing by unhappy

As customer I want to log in with my account so that I can access my pages

As site owner I want to block users with 3 failed log in attempts in a row, so I can protect the site against hackers

As user I want to log in with my account, so that I can access secure pages

Slicing by “0>1>many”

As a chef, I want to view a customer’s order so I can proceed with the cookingAs a chef, I want to view a customer’s order with no

items so I can proceed with the cooking

As a chef, I want to view a customer’s order with one item so I can proceed with

the cooking As a chef, I want to view a customer’s order with

multiple items so I can proceed with the cooking

There are many, many more techniques…

• Splitting User Stories Presentation http://www.slideshare.net/arsenalist/splitting-userstories• Splitting User Stories Cheat sheet https://twitter.com/chrisverwijs/status/335109871802384385• Breaking Down Larger Stories http://agileinaflash.blogspot.co.uk/2009/02/breaking-down-larger-stories.html• User Story Hamburger technique https://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/• Features to User Stories http://idiacomputing.com/pub/UserStories.pdf• Patterns for spitting user stories http://agileforall.com/patterns-for-splitting-user-stories/• Twenty Ways to Split Stories http://xp123.com/articles/twenty-ways-to-split-stories/

This was easy, right?

Where the magic

happens

Your comfort

zone

User Interface

Web Server

Database

Thin vertical slices

Not horizontally

As a game player, I want to be able tomove my rocket back and forthSo that I can avoid asteroids

DatabaseWeb server

GUI+ +

User Interface

Web Server

Database

Thin vertical slices

Thin vertical slices

User Interface

Web Server

Database

Thinning

Not splitting

Simple to complex

Slicing by fidelity

http://availagility.co.uk/2009/12/22/fidelity-the-lost-dimension-of-the-iron-triangle/

Incremental

Iterative

Iterative vs Incremental

As a gardener,

I want to use a

So that I can plant this

or

or

or

As a I want to So that .

Expectedoutcome

ActionPersona

How do we know this is the best action to take? Maybe there’s a better way.

Too many assumptions

http://alanklement.blogspot.co.uk/2013/09/replacing-user-story-with-job-story.html

• Impossible to define any kind of acceptance criteria• Rarely expressed in a way that would make them appear valuable from

the perspective of the stakeholders

Slicing by “learn vs. earn”

Spikes

“As a developer, I want to understand how the new external API works”

https://leanpub.com/50quickideas

Instead of slicing technical deliverables and then looking for useful chunks of value…

Slicing by value

…Try to start from the opposite direction: slice value and look for useful technical chunks

https://leanpub.com/50quickideas

Slicing by “0>1>many”

As a chef, I want to view a customer’s order so I can proceed with the cookingAs a chef, I want to view a customer’s order with no

items so I can proceed with the cooking

As a chef, I want to view a customer’s order with one item so I can proceed with

the cooking As a chef, I want to view a customer’s order with

multiple items so I can proceed with the cooking

This break down seems particularly artificial. The technical breakdown makes sense to developers but doesn’t bring value to the user!

Instead of slicing technical deliverables and then looking for useful chunks of value…

Slicing by value

…Try to start from the opposite direction: slice value and look for useful technical chunks

https://leanpub.com/50quickideas

Backlog Refinement Process

Danger of breaking down things we already know a lot about… leaving the large, not yet understood items and at the bottom of the backlog

Danger of breaking down things we already know a lot about… leaving the large, not yet understood items and at the bottom of the backlog

Spiketo learn Earn by 1st delivering

low-fidelity solution

Then iterate towards more refined

How do you slice your stories?

top related