Stories for Grown-ups
Inspired by Mike Cohn and Kelly Waters – thank you
Fixed written requirements
‣ 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
Communications challenge
Collaboration
A continuum
User stories: an improvement
TimelineEpics &Stories
Stories &Tasks
Stories &Tasks
ImplementedStories
Getting to User Stories
Epics
‣ Compound epics
‣ Complex epics
‣ Placeholder story
‣ Way down the backlog
Now we can have user stories!
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.
‣ 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:
When
‣ Some are done at an initial planning stage
‣ Some are done later
‣ Continuously emerge/change and disappear
‣ Worked on throughout the project
Stories are for sizing
Stories are for prioritising
Stories are monitored
Stories are monitored
Stories are monitored
Stories are monitored
Stories are for the team and product owner
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.
“As a music lover
I want to submit payment by credit card
so that I can purchase the album ”
Card: The Description
Card
Card
A section for capturing further information about the user story and details of conversations
The Conversation
A section to convey what tests will be carried out to confirm the user story is complete
and working as expected
The Confirmation
6 attributes of a good user story
‣ Independent
‣ Negotiable
‣ Valuable to users or purchasers
‣ Estimatable
‣ Small
‣ Testable
Independent
Negotiable
Valuable
Estimatable
Small
Testable
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
What next?
ChallengesTasksSpikes
Feedback
Challenges
Iteration 0
Non-functional requirements
‣ 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?
Spikes