Top Banner
Stories for Grown-ups Inspired by Mike Cohn and Kelly Waters – thank you
43

User Stories: Stories for Grown-Ups

May 06, 2015

Download

Technology

Sandy Mamoli

Douglas Talbot & Sandy Mamoli

One of the most fundamental problems facing a project is how you decide on, document, and manage your requirements.

Obviously Agile software development promotes handling this very differently than a Waterfall approach. One mechanism used by Agile projects to track requirements is the "User Story" - but what are they, how are they created, who uses them, when and how, within the development cycle?
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: User Stories: Stories for Grown-Ups

Stories for Grown-ups

Inspired by Mike Cohn and Kelly Waters – thank you

Page 2: User Stories: Stories for Grown-Ups

Fixed written requirements

Page 3: User Stories: Stories for Grown-Ups

‣ Individuals and interactions over processes and tools

‣ Working software over comprehensive documentation

‣ Customer collaboration over contract negotiation

‣ Responding to change over following a plan

Agile Values

Page 4: User Stories: Stories for Grown-Ups

Communications challenge

Page 5: User Stories: Stories for Grown-Ups

Collaboration

Page 6: User Stories: Stories for Grown-Ups

A continuum

Page 7: User Stories: Stories for Grown-Ups

User stories: an improvement

Page 8: User Stories: Stories for Grown-Ups

TimelineEpics &Stories

Stories &Tasks

Stories &Tasks

ImplementedStories

Page 9: User Stories: Stories for Grown-Ups

Getting to User Stories

Page 10: User Stories: Stories for Grown-Ups

Epics

‣ Compound epics

‣ Complex epics

‣ Placeholder story

‣ Way down the backlog

Page 11: User Stories: Stories for Grown-Ups

Now we can have user stories!

Page 12: User Stories: Stories for Grown-Ups

What is a user story?

A concise, written description of a piece of functionality that will be valuable to a

user (or owner) of the software.

Page 13: User Stories: Stories for Grown-Ups

‣ Discovered at planning stages

‣ Discovered during the project

‣ Continuously emerge/change and disappear

‣ For sizing the project and sprint

‣ For prioritising what to do next

‣ Monitored each sprint

‣ For the development team and owner

Stories are:

Page 14: User Stories: Stories for Grown-Ups

When

‣ Some are done at an initial planning stage

‣ Some are done later

‣ Continuously emerge/change and disappear

‣ Worked on throughout the project

Page 15: User Stories: Stories for Grown-Ups

Stories are for sizing

Page 16: User Stories: Stories for Grown-Ups

Stories are for prioritising

Page 17: User Stories: Stories for Grown-Ups

Stories are monitored

Page 18: User Stories: Stories for Grown-Ups

Stories are monitored

Page 19: User Stories: Stories for Grown-Ups

Stories are monitored

Page 20: User Stories: Stories for Grown-Ups

Stories are monitored

Page 21: User Stories: Stories for Grown-Ups

Stories are for the team and product owner

Page 22: User Stories: Stories for Grown-Ups

Stories have 3 parts

‣ Card: A description, Priority and Estimate

‣ Conversation: A section for capturing further information about the user story and details of conversations

‣ Confirmation: A section to convey what tests will be carried out to confirm the user story is complete and working as expected

Source: XP Magazine 8/30/01, Ron Jeffries.

Page 23: User Stories: Stories for Grown-Ups

“As a music lover

I want to submit payment by credit card

so that I can purchase the album ”

Card: The Description

Page 24: User Stories: Stories for Grown-Ups

Card

Page 25: User Stories: Stories for Grown-Ups

Card

Page 26: User Stories: Stories for Grown-Ups

A section for capturing further information about the user story and details of conversations

The Conversation

Page 27: User Stories: Stories for Grown-Ups

A section to convey what tests will be carried out to confirm the user story is complete

and working as expected

The Confirmation

Page 28: User Stories: Stories for Grown-Ups

6 attributes of a good user story

Page 29: User Stories: Stories for Grown-Ups

‣ Independent

‣ Negotiable

‣ Valuable to users or purchasers

‣ Estimatable

‣ Small

‣ Testable

Page 30: User Stories: Stories for Grown-Ups

Independent

Page 31: User Stories: Stories for Grown-Ups

Negotiable

Page 32: User Stories: Stories for Grown-Ups

Valuable

Page 33: User Stories: Stories for Grown-Ups

Estimatable

Page 34: User Stories: Stories for Grown-Ups

Small

Page 35: User Stories: Stories for Grown-Ups

Testable

Page 36: User Stories: Stories for Grown-Ups

A word of warning

‣ Don’t use stories in a sequential fixed process

‣ Don’t make a contract out of stories

‣ Don’t write stories in isolation

Page 37: User Stories: Stories for Grown-Ups

What next?

ChallengesTasksSpikes

Feedback

Page 38: User Stories: Stories for Grown-Ups

Still alive? Any questions?Still alive? Any questions?

[email protected]@sprog.co.nz

Page 39: User Stories: Stories for Grown-Ups

Challenges

Page 40: User Stories: Stories for Grown-Ups

Iteration 0

Page 41: User Stories: Stories for Grown-Ups

Non-functional requirements

Page 42: User Stories: Stories for Grown-Ups

‣ The system will connect to the database through a connection pool

‣ We need to use Akamai caching

‣ The system shall be written in Java

‣ The system needs to be able to store 700 million records

‣ We need to set up a VISTA development box

Customer value?

Page 43: User Stories: Stories for Grown-Ups

Spikes