41
THE ART OF SLICING & DICING USER STORIES @RachelCDavies

Agile Adria User Stories workshop

Embed Size (px)

DESCRIPTION

Most agile software development team grapple with user stories as a technique for understanding what needs to be developed iteratively.
Come to this workshop to hear some techniques for uncovering useful user stories and how to slice them in a way to deliver value in small increments.
We’ll give you a cheatsheet for story splitting to take away with you

Citation preview

Page 1: Agile Adria User Stories workshop

THE ART OF SLICING & DICING USER STORIES

@RachelCDavies

Page 2: Agile Adria User Stories workshop

A WORKSHOP IS LEARNING THROUGH YOU DOING SOME WORK ..

Page 3: Agile Adria User Stories workshop

RACHEL DAVIES Agile Coach @Unruly Media, London

Started as software developer in 1988… …Consulting, designing, engineering, leading, coaching, training…. Co-author of first book on “Agile Coaching” in 2009.

Page 4: Agile Adria User Stories workshop

ABOUT UNRULY MEDIA Unrulymedia.com

Page 5: Agile Adria User Stories workshop

ABOUT YOU

Page 6: Agile Adria User Stories workshop

WORKSHOP AIMS

! What is a “user story”

! What is a “persona”

! Why is a persona valuable

! Try story splitting

! Not covering estimation or prioritization or implementing stories

Page 7: Agile Adria User Stories workshop

What is a User Story?

A user story is a short description of a system feature that is:

“…understandable to customers and developers, testable, valuable to the customer and small enough so that the programmers can build half a dozen in an iteration.”

Kent Beck, 2001

Page 8: Agile Adria User Stories workshop

3C’S

"  Conversation between customer & developers

"  Card notes of story & tests on index cards

"  Confirmation tests that show story is complete

•  Ron Jeffries, Xprogramming.com

Page 9: Agile Adria User Stories workshop

Find out more .. Talk to users &

stakeholders! In person or hangout/chat

START WITH A CONVERSATION

Page 10: Agile Adria User Stories workshop
Page 11: Agile Adria User Stories workshop

QUESTIONS HELP FIND CONTEXT

Ask questions to uncover the user stories.. •  Who will use it? •  What problem are they trying to solve? •  What’s their goal? •  Why is this valuable to them? Understand this before diving into solution

details

Page 12: Agile Adria User Stories workshop

USER STORY FORMAT

Page 13: Agile Adria User Stories workshop

EXAMPLE USER STORY

Page 14: Agile Adria User Stories workshop

EPICS?

Page 15: Agile Adria User Stories workshop

Old saying “A bird in the hand, worth two in the bush” Look for ways to deliver small amount of value as early as possible!

Page 16: Agile Adria User Stories workshop

BENEFITS OF SPLITTING

Small stories are:

•  Better understood

•  Get delivered more quickly

•  .. ?

Page 17: Agile Adria User Stories workshop

Iteration, RELEASE WHEN READY

Page 18: Agile Adria User Stories workshop

Consumable Vertical Slices

Page 19: Agile Adria User Stories workshop

DTSTTCPW Do the simplest thing that can

possibly work!

Page 20: Agile Adria User Stories workshop

Epic User Stories

T

Acceptance Tests

T

T

T

T

Sometimes creating acceptance tests uncovers new stories

SMALLEST STORY IS A TEST

Page 21: Agile Adria User Stories workshop

HOW TO SPLIT

•  What does a user see?

•  What information is essential?

•  What can a user do?

•  What behaviours does the system have?

•  What safety needs to be considered?

•  Failure cases •  What platforms is this supported on?

Page 22: Agile Adria User Stories workshop

Business TECHNICAL

Page 23: Agile Adria User Stories workshop

Needs Options

Business Development

Value

SHARED RESPONSIBILITY

Page 24: Agile Adria User Stories workshop
Page 25: Agile Adria User Stories workshop

NURTURING EMPATHY

Through workshops, interviews and gathering research

Mining personas

Page 26: Agile Adria User Stories workshop

Comments/Notes

Page 27: Agile Adria User Stories workshop

PUT YOURSELF IN THEIR SHOES

Page 28: Agile Adria User Stories workshop

CREATE AN EMPATHY MAP FOR ONE PERSONA

Page 29: Agile Adria User Stories workshop

Nurture empathy with Visible personas

Page 30: Agile Adria User Stories workshop

DIALS There are dials that we can move up and down to iteratively improve the story through iterative delivery.

Page 31: Agile Adria User Stories workshop

SAFETY How much do we need to protect the user?

Page 32: Agile Adria User Stories workshop

How helpful does system need to be?

Page 33: Agile Adria User Stories workshop

SLICK? How pretty does the system need to be?

Page 34: Agile Adria User Stories workshop

REALITY How much of the system needs to be there?

Page 35: Agile Adria User Stories workshop

PRACTICAL WORK

Page 36: Agile Adria User Stories workshop
Page 37: Agile Adria User Stories workshop

GROUPWORK

! Get into groups of 2-4 people

! Grab some index cards

!  Select one personas

! Use an empathy map to get into their shoes

! Write user stories relevant to this persona

! What dials can you apply to the stories you write? "  Safety? Helpfulness? Slickness? ..?

Goal: as many stories as possible!

Page 38: Agile Adria User Stories workshop

HEADLINE “EPIC” STORIES

! Happy couple: Invite guests to contribute photos

! Guests: Upload photos

! Happy couple: Select photo set to share

! Guests: Add information about photos

! Guests: View photos

Page 39: Agile Adria User Stories workshop

CREATE AN EMPATHY MAP FOR ONE PERSONA

Page 40: Agile Adria User Stories workshop

THANK YOU!

www.slideshare.net/RachelDavies

Page 41: Agile Adria User Stories workshop

LINKS •  Story Maps Jeff Patton 

http://www.agileproductdesign.com/blog/the_new_backlog.html •  Bill Wake http://xp123.com/articles/twenty-ways-to-split-stories/  •  Rachel Davies 

http://agilecoach.typepad.com/agile-coaching/2010/09/ideas-for-slicing-user-stories.html

•  Richard Lawrence http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/

•  Lasse Koskela http://radio.javaranch.com/lasse/2008/06/13/1213375107328.html •  James Grenning http://www.renaissancesoftware.net/blog/archives/48 •  George Dinwiddie http://idiacomputing.com/pub/UserStories.pdf •  Joe Rainsberger 

http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features •  Thomas http://agile-management.com/wordpress/splitting-user-stories/ •  Mark Levison 

http://agilepainrelief.com/notesfromatooluser/2010/09/story-slicing-how-small-is-enough.html and http://agilepainrelief.com/notesfromatooluser/2010/12/more-notes-on-story-splitting.html