be ready, be done: the art of slicing stories

Post on 11-Apr-2017

88 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Be Ready, Be Done: The Art of User Stories

raj.indugula@lithespeed.com

RajIndugula

Your experience with slicing stories…

I’ve done it before

I understand the concepts, but haven’t practiced much

It’s new to me

2

•  ThinkinginStories•  Spli;ngStories

•  Q&A

3

Thinking in Stories 1

Asa…Iwantto…Sothat…

DesiredFunc,on(What?)

Whatdotheywantthe

systemtodo?

What’s in a Story? Outlinesagivenusersegment’sneedandourvalueproposiHon

UserRole(Who?)

WhowillusethisfuncHon?

EndResult(Why?)

Whatlargergoaloftheuserdoesthissupport?

It’smerelyathinkingtool!

5

MikeCohn'stemplate

The 3 C’s of a User Story

RonJeffries

6

What makes a good story?

INVEST

Independent

NegoHable

Valuable

EsHmable

Small

Testable

BillWake

7

Splitting Stories 2

The Big Picture

EasiertodefineupfrontHow?

Why?

Discussionreminder

AdaptedfromALMSummit3-TechTalk

Goal/Outcome

BigChunks

SmallerChunks

9

Slicing Vertically

10

Toobig Don’tslicehorizontally

VerHcalsliceenablesfeedback,validaHon,prioriHzaHon

Strategies for S

plitting S

tories

11

Useful when… Initial story describes a workflow or sequence of steps Key Questions Can you take a thin slice through the workflow first? Can you do the beginning and end of workflow first?

As a learner, I want to register for a class

and pay for it using a credit card so that I am better informed

about Agile

As a learner

I

can view

courses

As a custom

er

I can select

the

course I want

to signup for

As a learner

I

can review my

registration

As a learner

I

can submit my

registration

WORKFLOW STEPS

12IllustraHonderivedfromKentMcDonald

Useful when… Initial story encompasses multiple operations (e.g. “manage” or “configure” something) Key Questions Can you split the operations into separate stories? Are all these operations necessary just yet?

As a training provider, I want to manage my

course offerings, so that learners can view them

…I can

make

upload my

course

catalog

…I can

add a

course

…I can edit

a course

…I can

delete a

course

OPERATIONS

13

Useful when… Initial story impacts multiple roles and the impact is different for each role Key Questions Can you identify the various roles impacted? Are all roles relevant right now?

ROLE

As a training

coordinator,

I want to

register a

learner for a

class

As a learner, I want to register for a course so

that…

14

As a learner,

I want to

register for

a class

Useful when… Initial story does something to different pieces of data Key Questions Can you split the story to process one kind of data first and enhance with the other kinds later?

DATA BOUNDARIES

…view

course

name and

description

…view

course

agenda

view course instructor

qualifications

As a learner, I want to view

course information, so

that...

15

Useful when… Initial story has a simple core functionality that provides most of the value Key Questions Could you split the story to do that simple core first and enhance it with additional stories later?

SIMPLE FIRST, THEN ENHANCE

As a learner, I want to see my past

courses, so that…

…see all my

past

courses

…see

courses

completed

on a given

topic …see courses

completed in the past 2

months 16

Useful when… There is significant effort in doing the first story even after applying obvious split Key Questions Does it matter which one we do first? Can we group the other stories, given the difficult first story is done?

MAJOR EFFORT

…pay with

one credit

card type …pay with all

credit card

types (given

credit card

processing

functionalit

y

is in place)

As a learner, I want to pay for my class with Visa, American

Express, or MasterCard, so

that…

17

Useful when… Initial story is about interacting with multiple instances of something Key Questions Does working with nothing or one thing make it easier to get started? Do we really need to deal with multiple instances right now?

As an online shopper, I want to delete items from the shopping cart,

so that…

…delete

one item

at a time

…delete

collection

of items

from my

cart

ZERO, ONE, MANY

18

Tease out the business rules, and examples that clarify a user story

Rule Rule Rule

Story

Example

Example

Example

QuesHon

AssumpHon

ExampleMapping:MafWynne

19

RULES & EXAMPLES

AcceptanceCriteria

AcceptanceScenarios

Useful when… None of the patterns seem feasible and team is still baffled about splitting the story Key Questions What are the key uncertainties?

SPIKES

Spike:

Investigate

translation

capability

As a learner, I want to see the course offerings in the language of my choice so

that…

20

Zone of Control & Sphere of Influence

Deliverable(IWant…)CONTROL INFLUENCE

CONTR

OL

INFLUEN

CE

UserN

eed(SoTh

at…)

Goodstories

Fake,Misleadingstories

NotAcHonable

UnrealisHc

22GojkoAdzic

23

Of course you can have your cake and eat it too…

AslongasitisaSLICE ataHme!

24

References Books •  Fifty Quick Ideas to improve your User Stories, Gojko Adzic •  User Story Mapping, Jeff Patton •  User Stories Applied, Mike Kohn Articles •  http://agileforall.com/wp-content/uploads/2009/10/Story-Splitting-Cheat-Sheet.pdf •  http://www.slideshare.net/arsenalist/splitting-userstories •  http://idiacomputing.com/pub/UserStories.pdf •  http://www.slideshare.net/kentjmcdonald/21-story-splitting-patterns-49940134 •  http://blog.jbrains.ca/permalink/how-youll-probably-learn-to-split-features •  https://cucumber.io/blog/2015/12/08/example-mapping-introduction •  http://blog.agilistic.nl/8-useful-strategies-for-splitting-large-user-stories-and-a-cheatsheet/ Ask me for more!

25

Thanks!

Raj Indugula

raj.indugula@lithespeed.com

Agile Coach, Trainer, Developer 20 years in industry; 13 years of Agile

Passionate about learning, can’t do without checklists, craves whiteboards!

ಧನ#$ದಗ' धन्यवाद

top related