user story slicing - easy way to split user stories

67
User story slicing Splitting User Stories made easy Scrum Gathering Berlin, 2014

Upload: arto-eskelinen

Post on 22-Nov-2014

475 views

Category:

Engineering


3 download

DESCRIPTION

This is a presentation from Scrum Gathering 2014 in Berlin. It describes a technique called "User Story Slicing" to make smaller, valuable slices out of a bigger story or epic.

TRANSCRIPT

Page 1: User Story Slicing - easy way to split user stories

User story slicingSplitting User Stories made easy

Scrum Gathering Berlin, 2014

Page 2: User Story Slicing - easy way to split user stories

Arto EskelinenCertified Scrum Trainer,

Coach, Consultantat

Reaktor, Finland Twitter:@artoes

[email protected]

Page 3: User Story Slicing - easy way to split user stories

User Story

As a <type of user> I can <function> so that <I achieve my goal>

Page 4: User Story Slicing - easy way to split user stories

User Story

As a <type of user> I can <function> so that <I achieve my goal>

User’s need or goal outside the system

Page 5: User Story Slicing - easy way to split user stories

User Story

As a <type of user> I can <function> so that <I achieve my goal>

how system fulfils the need

User’s need or goal outside the system

Page 6: User Story Slicing - easy way to split user stories

Scaling Stories

Investment Theme

Epic

Feature

Implementation Story

Value Proposition!Expected Impact

User Goal User need “Job to be done”

How the “system” solves the problem!What is the user interaction?

Slice of feature that can be done in one iteration

LEVEL FOCUS

1..N

1..N

1..N

1

1

1

Page 7: User Story Slicing - easy way to split user stories

Scaling Stories

Investment Theme

Epic

Feature

Implementation Story

Value Proposition!Expected Impact

User Goal User need “Job to be done”

How the “system” solves the problem!What is the user interaction?

Slice of feature that can be done in one iteration

LEVEL FOCUS

1..N

1..N

1..N

1

1

1

Problem Domain

Solution Domain

Page 8: User Story Slicing - easy way to split user stories

Scaling Stories

Investment Theme

Epic

Feature

Implementation Story

Value Proposition!Expected Impact

User Goal User need “Job to be done”

How the “system” solves the problem!What is the user interaction?

Slice of feature that can be done in one iteration

LEVEL FOCUS

1..N

1..N

1..N

1

1

1

Problem Domain

Solution Domain

Page 9: User Story Slicing - easy way to split user stories

Why split?• To get something finished in a sprint

• This gives you:

• Better transparency when you know where you are

• Faster feedback

• Faster learning

• Faster delivery of value

Page 10: User Story Slicing - easy way to split user stories

• End-to-End

• customer centric

The principles of Slicing

Page 11: User Story Slicing - easy way to split user stories

• End-to-End

• customer centric

The principles of Slicing

Page 12: User Story Slicing - easy way to split user stories

Exercise 1

• Find yourself a pair

• Together, write a user story

Page 13: User Story Slicing - easy way to split user stories

Example Stories

• As a tax payer I can do my fiscal declaration in the internet so that I can update it easily

• As a billing clerk I want to know the network transactions so that I can generate a bill

• As a gas station keeper I want to know how much gasoline there is in the tank so I can order more when it’s getting empty

Page 14: User Story Slicing - easy way to split user stories

As a Traveller I can buy a trip

so that I get elsewhere

Example

Page 15: User Story Slicing - easy way to split user stories

Step 1- What happens here?

1.Describe the workflow

As a Traveller I can buy a trip

so that I get elsewhere

Page 16: User Story Slicing - easy way to split user stories

Sear

ch As a Traveller I can buy a trip

so that I get elsewhere

Page 17: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t As a Traveller I can buy a trip

so that I get elsewhere

Page 18: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay As a Traveller

I can buy a trip so that I get elsewhere

Page 19: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er As a Traveller I can buy a trip

so that I get elsewhere

Page 20: User Story Slicing - easy way to split user stories

As a Traveller I can buy a trip

so that I get elsewhereSear

ch

Selec

t

Pay

Deliv

er

For your user story, describe the workflow

Page 21: User Story Slicing - easy way to split user stories

Step 2 - Create options

• For each step, think about possible levels of quality of service (QoS)

• Try to find the simplest possible first,

• Then add more sophisticated options

Page 22: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

As a Traveller I can buy a trip

so that I get elsewhere

Page 23: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

As a Traveller I can buy a trip

so that I get elsewhere

Page 24: User Story Slicing - easy way to split user stories

SearchSimple

Fancy

QoS

Page 25: User Story Slicing - easy way to split user stories

SearchSimple

Fancy

QoS

One Item

Page 26: User Story Slicing - easy way to split user stories

SearchSimple

Fancy

QoS

One Item

List of Items

Page 27: User Story Slicing - easy way to split user stories

SearchSimple

Fancy

QoS

One Item

List of Items

Text Search

Page 28: User Story Slicing - easy way to split user stories

SearchSimple

Fancy

QoS

One Item

List of Items

Text Search

Based on user profile

Page 29: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

As a Traveller I can buy a trip

so that I get elsewhere

Page 30: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

As a Traveller I can buy a trip

so that I get elsewhere

Page 31: User Story Slicing - easy way to split user stories

SelectSimple

Fancy

QoS

One Item (e.g. Bus)

Page 32: User Story Slicing - easy way to split user stories

SelectSimple

Fancy

QoS

One Item (e.g. Bus)

Several items of the same type (Bus)

Page 33: User Story Slicing - easy way to split user stories

SelectSimple

Fancy

QoS

One Item (e.g. Bus)

Several items of the same type (Bus)

Several Items, two types (Bus+hotels)

Page 34: User Story Slicing - easy way to split user stories

SelectSimple

Fancy

QoS

One Item (e.g. Bus)

Several items of the same type (Bus)

Several Items, two types (Bus+hotels)

Reservations to opera dinner included

Page 35: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

As a Traveller I can buy a trip

so that I get elsewhere

Page 36: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

As a Traveller I can buy a trip

so that I get elsewhere

Page 37: User Story Slicing - easy way to split user stories

PaySimple

Fancy

QoS

Page 38: User Story Slicing - easy way to split user stories

PaySimple

Fancy

QoS

Cash

Page 39: User Story Slicing - easy way to split user stories

PaySimple

Fancy

QoS

Cash

Bill

Page 40: User Story Slicing - easy way to split user stories

PaySimple

Fancy

QoS

Cash

Bill

Credit card

Page 41: User Story Slicing - easy way to split user stories

PaySimple

Fancy

QoS

Cash

Bill

Credit card

Quick loan with payback plan

Page 42: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

As a Traveller I can buy a trip

so that I get elsewhere

Page 43: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

As a Traveller I can buy a trip

so that I get elsewhere

Page 44: User Story Slicing - easy way to split user stories

DeliverySimple

Fancy

QoS

Page 45: User Story Slicing - easy way to split user stories

DeliverySimple

Fancy

QoS

No tickets, (your name is in the list)

Page 46: User Story Slicing - easy way to split user stories

DeliverySimple

Fancy

QoS

No tickets, (your name is in the list)

Print it yourself

Page 47: User Story Slicing - easy way to split user stories

DeliverySimple

Fancy

QoS

No tickets, (your name is in the list)

Print it yourself

email

Page 48: User Story Slicing - easy way to split user stories

DeliverySimple

Fancy

QoS

No tickets, (your name is in the list)

Print it yourself

email

Page 49: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket

email ticket

As a Traveller I can buy a trip

so that I get elsewhere

Page 50: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket

email ticket

As a Traveller I can buy a trip

so that I get elsewhere

For your user story, create the steps from

simple to fancy

Page 51: User Story Slicing - easy way to split user stories

Step 3 -Time to SliceStart “slicing” stories

• try to create one vertical, end-to-end slice first

• Then, define new stories that add functionality by small steps

!

Page 52: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

Page 53: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

Page 54: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

Page 55: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office.

Page 56: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office.

As a Traveller I can choose one trip

from a list of options, and pay and get my ticket in

the office. !

Page 57: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office. As a Traveller

I can choose one trip from a list of options, and pay and get my ticket in

the office. As a Traveller

I can choose one trip from a list of options, pay it using Bill, and get my

ticket in the office.

Page 58: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office. As a Traveller

I can choose one trip from a list of options, and pay and get my ticket in

the office. As a Traveller

I can choose one trip from a list of options, pay it using Bill, and get my

ticket in the office.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by mail.

Page 59: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office. As a Traveller

I can choose one trip from a list of options, and pay and get my ticket in

the office. As a Traveller

I can choose one trip from a list of options, pay it using Bill, and get my

ticket in the office.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by mail.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by email.

Page 60: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office. As a Traveller

I can choose one trip from a list of options, and pay and get my ticket in

the office. As a Traveller

I can choose one trip from a list of options, pay it using Bill, and get my

ticket in the office.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by mail.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by email.

As a Traveller I can search trips that match to given words,

choose one , pay it using Bill, and get my ticket by

email. As a Traveller I can search trips that match to given words, choose many , pay it using Bill, and get my

ticket by email.

Page 61: User Story Slicing - easy way to split user stories

Sear

ch

Selec

t

Pay

Deliv

er

Simple

Fancy

QoS

One Item

List

Text Search

User optimize

d

One Item

Several Items, same

Several Items,

different types

Reservations as options

Cash

Bill

Visa

Quick Loan with

payback plan

send ticket by trad. mail

Print ticket in office

email ticket

As a Traveller I can buy one predefined trip, and pay and get my

ticket in the office. As a Traveller

I can choose one trip from a list of options, and pay and get my ticket in

the office. As a Traveller

I can choose one trip from a list of options, pay it using Bill, and get my

ticket in the office.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by mail.

As a Traveller I can choose one trip

from a list of options, pay it using Bill, and get my

ticket by email.

As a Traveller I can search trips that match to given words,

choose one , pay it using Bill, and get my ticket by

email. As a Traveller I can search trips that match to given words, choose many , pay it using Bill, and get my

ticket by email.

Create new “slices” of your user story.

Try to get the simple end-to-end first.

Page 62: User Story Slicing - easy way to split user stories

The whole process1.Describe the steps of the workflow

2.For each step, think about possible levels of quality of service (QoS)

1. Try to find the simplest possible first,

2.Then add more sophisticated options

3.Start “slicing” stories

1.try to create one vertical, end-to-end slice first

2.Then, define new stories that add functionality by small steps

Page 63: User Story Slicing - easy way to split user stories

Things to remember

• Aim to end-to-end slices

• The simplest possible solution is often more simple than you think

• Don’t slice the whole story at once

Page 64: User Story Slicing - easy way to split user stories

Once slice when you are ready to eat

Page 65: User Story Slicing - easy way to split user stories

User stories are fractals

http://www.free-jigsaws.com/48_piece_jigsaw_puzzles/coil%20fractal.html

Page 66: User Story Slicing - easy way to split user stories

Questions?

Page 67: User Story Slicing - easy way to split user stories

Please give us your real time session feedback - !

Click on the session – Arto Eskelinen Slicing User Stories

Follow the link to provide session feedback.

Rate the session based on your personal experience

Thank you!