SlideShare a Scribd company logo
1 of 50
1
Picture: http://www.flickr.com/photos/psd/2423294079/sizes/l/in/photostream/




                                                                               2
Acknowledgments:
Mike Cohn’s User stories applied and Agile Estimation and Planning.
Jeff Patton’s work on User Role Modeling.




                                                                      3
4
Mike Cohn: simple, clear, short description of customer valued functionality
                3 parts: written description used for planning, conversation to flesh
out details, tests to determine completeness.

Ron Jefferies: 3Cs - Card, conversation, confirmation.

Rachel Davies: user story represents customer requirements rather than documents
them.




                                                                                        5
Template: As a type of user, I can achieve some goal so that I can gain some value.

Add a title, some notes, assumptions, constraints, priority, estimate.




                                                                                      6
Examples




           7
On the back, we add acceptance criteria.

Use this template for acceptance tests: Given [context] And [some context] When
[event] Then [outcome] And [another outcome].

Or simpler version of verify or test.




                                                                                  8
Examples




           9
Too much info. Running out of room?




                                      10
Tom Poppendieck advises us to use smaller card.

User story covers the who, what and why? It does not cover how? That is where the
conversation comes in.




                                                                                    11
The main purpose of a story is to act as a reminder and encourage conversation to
flush out details the closer we are to implementing a story.
Business, PM, Developer, Tester

Picture :http://www.flickr.com/photos/improveit/1470706210/in/photostream




                                                                                    12
13
14
IEEE 830: The system shall…
1000 requirements in Excel, become 30 functional specs, each about 50 pages.
Hand it over to the developers and testers (1500 pages).
Process is tedious, error prone, time consuming, boring, hard to see the big picture,
hard to prioritize, not goal focused (task oriented).

Use cases do a better job at putting things in context, but are still too detailed to
adapt to changing customer need.
They are bigger, larger in scope, there is the main scenario and then the extensions,
pre/post conditions.
They act more as an agreement between customer and developer rather than a
forum for conversation.




                                                                                        15
User stories directly support the Agile manifesto:

User stories support focusing on working software over comprehensive
documentation.

Conversation supports individuals and interactions and customer collaboration.

Brevity and high level of user story supports responding to change.




                                                                                 16
Emphasize verbal rather than written communication.

Encourage conversation, face to face discussions as opposed to document handoffs.




                                                                                    17
Encourage deferring details until you have better understanding about what you
really need.
Avoids unnecessary detailed planning which might change by the time we reach
development time.




                                                                                 18
Provide right size for planning.
High level, focus on value and can be prioritized.




                                                     19
Comprehensible by customers and developers.

Picture: http://www.flickr.com/photos/90001203@N00/172506278/




                                                                20
Works for iterative development.
Start at high level and flush out details with each iteration and repeat.




                                                                            21
22
1. Use human user. Write story from user’s perspective and understand his goal and
   value for the story.

2. Avoid using generic as a user or as a customer. Think of role as group of users that
    share common characteristics and based on those characteristics their
    interactions with system will be different. Think penny pinching college student,
    busy corporate lawyer, or juggling mother of 3. Try to profile roles and figure out
    how often will they use the system, how much domain knowledge do they have,
    are they technically savvy, what is their goal? Pain points?
3. Use extreme users. Extreme users are not really target audience, but simply
    bringing them up can produce different context and lead to interesting discussion.
    For example, think of the Pope. Or think of a hacker.
As a hacker, I can access customer’s payment information to pay for my vacation.

Picture: http://www.flickr.com/photos/12426416@N00/163959411




                                                                                          23
More examples




                24
More examples




                25
26
Bill Wake - Invest acronym: Independent, negotiable, valuable, estimatable, small,
and testable.

Picture: http://www.flickr.com/photos/42179515@N06/3937449949




                                                                                     27
Independent: try to make sure that stories are not interdependent as this might lead
to prioritization and planning problems.

Independent is different from logical order of developing things. By independent, we
mean story features. For example, in earlier credit card example, we wanted to
support amex, mc and visa. If there are 2 stories, one for mc and another for visa,
then estimates will depend on which one gets done 1st because implementing the 2nd
will be relatively straight forward.

Options are to combine the stories, or split in a different way (discussed later).

If for some reason dependency cannot be removed, then provide 2 estimates on each
story, one for each order combination.




                                                                                       28
Negotiable:
Brief and not a detailed contract.
Encourage conversation and negotiation between customer and developers.

Picture: http://www.flickr.com/photos/23065375@N05/2235525962




                                                                          29
Valuable:
Provide value to the customer or the user.
Start with goal stories and break it out from there.

Standish Group: 64% of features are never or rarely used in reality.

Ensure value is written. If customer cannot think of value, then they might see work
as unnecessary and eliminate it.

If value is clearly specified, team might find different ways to achieve same goal with
same value but with less effort.

Because story is delivering piece of functionality, customer can figure out how much
functionality costs and then decide if they still need it.

Not all value is monetary, mitigating risk is value.
As a [type of user] I want [some functionality] to avoid [some operational risk,
process weakness, ...]




                                                                                          30
Estimatable:
Developers need to estimate story.
Story needs to be written so developers can understand it and have idea of how to
implement it.
Reasons we can’t estimate are lack of domain knowledge, lack of technical
knowledge, or too big.

Picture: http://www.flickr.com/photos/21458229@N00/4553607341




                                                                                    31
Small: Not too big, not too small, but just right (1 story half the iteration length).

Provide focus and short horizon for the team. Its easier to get lost in the details with
larger story.

Easier to adapt and give flexibility to reconfigure and adapt to changes.

Large stories increase risk that team will deliver nothing at end of iteration.

Large stories can create blockages and bottlenecks. One person who is tied up in
large story may also be only person who can complete key piece of another story.

Picture: http://www.flickr.com/photos/24257141@N05/4747161154




                                                                                           32
Testable:
Need to verify that story is complete.

Make sure there is acceptance criteria.

Non-testable stories usually occur with non-functional requirements: Ease of use,
fast, bug free.

Try to re-write so that some metric can be measured and test can be written (ideally
automated). Example: Test that system responds in 1 second or less at least 95% of
the time.

Picture: http://www.flickr.com/photos/20897132@N00/208837407




                                                                                       33
34
35
Dependency
Story dependent on another story makes it hard to give correct estimate.
Split so one story handles dependency and other handle specifics.

Picture: http://www.flickr.com/photos/15923063@N00/4972049904




                                                                           36
Size – Too big

a. Cannot give accurate estimate: Story needs to be more manageable and enable
   more accurate estimate.
b. Cannot fit into iteration: If for example iteration is 1 week long and story is longer
   than week then it needs to be split to fit into iteration.
c. Cannot fit into what’s remaining of iteration: Team has already committed to 38
   story points and there is still room for 2 point story but remaining stories are 3
   story points or more.

Picture: http://www.flickr.com/photos/87857621@N00/191311751




                                                                                            37
Risk:
If complex and risky, split to create spike story which is experimental in nature with
main goal to gain technical knowledge.

Picture: http://www.flickr.com/photos/95457978@N00/495352477




                                                                                         38
Story contains multiple sub stories that are large enough to stand out on their own.




                                                                                       39
Combine many small items onto one larger story.
Example: Bug reports can be combined into one “Fix Bugs” story.




                                                                  40
41
Slice Vertically: Stories should represent some level of end to end functionality. This
reduces overall risk and delivers value to customer.

Do simplest thing that could possibly work.

Important to not split stories into tasks like design, code front end, code middle tier,
code back end.
Better to deliver cohesive subset of all layers of feature than delivering all of one layer
as standalone.
Having entire backend ready without corresponding GUI is not very useful.
Having feature that allows user to add entity through GUI and have it persisted is
functionality that can be useful and provides some value.




                                                                                              42
Data Boundaries:
Separate local requirements from international requirement.
Handling one type of credit card from another.
Start with USD then add foreign currency.

Picture: http://www.flickr.com/photos/7762644@N04/2533281806




                                                               43
Operational boundaries:
CRUD boundaries.
Separating into search which returns search result count and then search display
which displays actual results.
Happy path 1st , exceptions next.

Picture: http://www.flickr.com/photos/7729940@N06/3076476665




                                                                                   44
Cross Cutting Concern:
Features that effect multiple aspects of the application like security, logging, error
handling can each be separated out of main functionality features.
Screen with different menu options based on the login user’s credentials.
Security specific feature can be split from main functionality of screen.

Picture: http://www.flickr.com/photos/53611153@N00/303892944




                                                                                         45
Performance constraints:
Split functional requirement from non functional requirements.
Example: Feature can be enabled without caching and then another story can handle
caching specifics.

Picture: http://www.flickr.com/photos/32165728@N00/183211819




                                                                                    46
Priority:
Multiple priorities within a story.
Login story might have different priorities for authentication than for handling error
conditions like locking out user after multiple logins.

Necessity: Minimum needed to get working software.
Flexibility: What are some alternative ways of doing it, what additional data we want
to capture.
Safety: Better validation rule to avoid ugly error messages.
Comfort, luxury, and performance: More usable, sexier to look at (animation), hot
keys.

1.Opening game: Skeleton spans system and contains necessary features

2. Mid game: Add capability, flexibility and safety

3. End game: Finish with usability, performance, sex appeal and reserve time for
unforeseen additions and adaptations

Picture: http://www.flickr.com/photos/15639842@N00/4182148160




                                                                                         47
48
Contact me




             49
50

More Related Content

Viewers also liked

Especialidade de Orientação
Especialidade de Orientação   Especialidade de Orientação
Especialidade de Orientação Feras Feras
 
Présentation du projet MPA MSD 120
Présentation du projet MPA MSD 120Présentation du projet MPA MSD 120
Présentation du projet MPA MSD 120profroques
 
The Soldareras Of The Mexican Revolution
The Soldareras Of The Mexican RevolutionThe Soldareras Of The Mexican Revolution
The Soldareras Of The Mexican Revolutionbfino
 
De los pezones rotos a la mastitis. Cómo prevenir y tratar las afecciones má...
De los pezones rotos a la mastitis.  Cómo prevenir y tratar las afecciones má...De los pezones rotos a la mastitis.  Cómo prevenir y tratar las afecciones má...
De los pezones rotos a la mastitis. Cómo prevenir y tratar las afecciones má...SOSTelemedicina UCV
 
Presentación del equipo en las sedes
Presentación del equipo en las sedesPresentación del equipo en las sedes
Presentación del equipo en las sedesKarol Reina Rodriguez
 
Caderno de atividades Excursionista
Caderno de atividades ExcursionistaCaderno de atividades Excursionista
Caderno de atividades ExcursionistaFeras Feras
 
Proceso de devolucion CAMPOALTO
Proceso de devolucion CAMPOALTOProceso de devolucion CAMPOALTO
Proceso de devolucion CAMPOALTOCampoalto
 
Why / How to become the Linux certified
Why / How to become the Linux certifiedWhy / How to become the Linux certified
Why / How to become the Linux certifiedKHNOG
 
Cuidados de Enfermería en el paciente con sonda
Cuidados de Enfermería en el paciente con sondaCuidados de Enfermería en el paciente con sonda
Cuidados de Enfermería en el paciente con sondaRadiofonico
 

Viewers also liked (16)

Especialidade de Orientação
Especialidade de Orientação   Especialidade de Orientação
Especialidade de Orientação
 
Proyecto final 1
Proyecto final 1Proyecto final 1
Proyecto final 1
 
Présentation du projet MPA MSD 120
Présentation du projet MPA MSD 120Présentation du projet MPA MSD 120
Présentation du projet MPA MSD 120
 
The Soldareras Of The Mexican Revolution
The Soldareras Of The Mexican RevolutionThe Soldareras Of The Mexican Revolution
The Soldareras Of The Mexican Revolution
 
Diario de doble entrada 2
Diario de doble entrada 2Diario de doble entrada 2
Diario de doble entrada 2
 
De los pezones rotos a la mastitis. Cómo prevenir y tratar las afecciones má...
De los pezones rotos a la mastitis.  Cómo prevenir y tratar las afecciones má...De los pezones rotos a la mastitis.  Cómo prevenir y tratar las afecciones má...
De los pezones rotos a la mastitis. Cómo prevenir y tratar las afecciones má...
 
Presentación del equipo en las sedes
Presentación del equipo en las sedesPresentación del equipo en las sedes
Presentación del equipo en las sedes
 
Cateterismo
CateterismoCateterismo
Cateterismo
 
Caderno de atividades Excursionista
Caderno de atividades ExcursionistaCaderno de atividades Excursionista
Caderno de atividades Excursionista
 
Andragogia policial
Andragogia policialAndragogia policial
Andragogia policial
 
Proceso de devolucion CAMPOALTO
Proceso de devolucion CAMPOALTOProceso de devolucion CAMPOALTO
Proceso de devolucion CAMPOALTO
 
paraquedistas de 73181 a 74694[1]
paraquedistas de 73181 a 74694[1]paraquedistas de 73181 a 74694[1]
paraquedistas de 73181 a 74694[1]
 
Why / How to become the Linux certified
Why / How to become the Linux certifiedWhy / How to become the Linux certified
Why / How to become the Linux certified
 
Equipo de trabajo
Equipo de trabajoEquipo de trabajo
Equipo de trabajo
 
Tuberculosis
TuberculosisTuberculosis
Tuberculosis
 
Cuidados de Enfermería en el paciente con sonda
Cuidados de Enfermería en el paciente con sondaCuidados de Enfermería en el paciente con sonda
Cuidados de Enfermería en el paciente con sonda
 

Similar to User Story Guide

User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 
How To Know Your Stories Are At The Right Level Of Detail
How To Know Your Stories Are At The Right Level Of DetailHow To Know Your Stories Are At The Right Level Of Detail
How To Know Your Stories Are At The Right Level Of DetailRussell Pannone
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Storieslaurence b
 
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...Technology Expresso Expresso-Consulting
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User StoriesSunil-QA
 
How to break up epics (for Product Managers)
How to break up epics (for Product Managers)How to break up epics (for Product Managers)
How to break up epics (for Product Managers)Amartya Sengupta
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User StoriesSunil-QA
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User StoriesSunil-QA
 
Introduction to Storyboards
Introduction to StoryboardsIntroduction to Storyboards
Introduction to StoryboardsLou Patnode
 

Similar to User Story Guide (20)

User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
How To Know Your Stories Are At The Right Level Of Detail
How To Know Your Stories Are At The Right Level Of DetailHow To Know Your Stories Are At The Right Level Of Detail
How To Know Your Stories Are At The Right Level Of Detail
 
User Stories
User StoriesUser Stories
User Stories
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Stories
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
Building blocks for lean agile requirements (c) technology expresso v12 @Jacq...
 
Building Blocks for Lean Agile Requirements (c) technology expresso v12 9 m...
Building Blocks for Lean Agile Requirements (c) technology expresso v12   9 m...Building Blocks for Lean Agile Requirements (c) technology expresso v12   9 m...
Building Blocks for Lean Agile Requirements (c) technology expresso v12 9 m...
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
Agile Scrum - Crafting user stories
Agile Scrum - Crafting user storiesAgile Scrum - Crafting user stories
Agile Scrum - Crafting user stories
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
How to break up epics (for Product Managers)
How to break up epics (for Product Managers)How to break up epics (for Product Managers)
How to break up epics (for Product Managers)
 
Create User Story
Create User StoryCreate User Story
Create User Story
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User Stories
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User Stories
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Social Project Management v1
Social Project Management  v1Social Project Management  v1
Social Project Management v1
 
Estimating Stories
Estimating StoriesEstimating Stories
Estimating Stories
 
Practical Usability
Practical UsabilityPractical Usability
Practical Usability
 
Introduction to Storyboards
Introduction to StoryboardsIntroduction to Storyboards
Introduction to Storyboards
 

More from Fadi Stephan

The Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdfThe Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdfFadi Stephan
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtFadi Stephan
 
Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Fadi Stephan
 
UX in an agile world
UX in an agile worldUX in an agile world
UX in an agile worldFadi Stephan
 
UX in an Agile World
UX in an Agile WorldUX in an Agile World
UX in an Agile WorldFadi Stephan
 
Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Fadi Stephan
 
Fostering self organizing teams
Fostering self organizing teamsFostering self organizing teams
Fostering self organizing teamsFadi Stephan
 
Lean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetLean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetFadi Stephan
 
A Leaner PMO in The Federal Government
A Leaner PMO in The Federal GovernmentA Leaner PMO in The Federal Government
A Leaner PMO in The Federal GovernmentFadi Stephan
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patternsFadi Stephan
 
Techniques for Keeping Retrospectives Effective and Fun
Techniques for Keeping Retrospectives Effective and FunTechniques for Keeping Retrospectives Effective and Fun
Techniques for Keeping Retrospectives Effective and FunFadi Stephan
 
Managing technical debt notes
Managing technical debt notesManaging technical debt notes
Managing technical debt notesFadi Stephan
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
Effective Daily Standups
Effective Daily StandupsEffective Daily Standups
Effective Daily StandupsFadi Stephan
 
Effective Daily Standups
Effective Daily StandupsEffective Daily Standups
Effective Daily StandupsFadi Stephan
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of StorytellingFadi Stephan
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of StorytellingFadi Stephan
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi Stephan
 

More from Fadi Stephan (20)

The Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdfThe Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdf
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1
 
UX in an agile world
UX in an agile worldUX in an agile world
UX in an agile world
 
UX in an Agile World
UX in an Agile WorldUX in an Agile World
UX in an Agile World
 
Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1
 
Fostering self organizing teams
Fostering self organizing teamsFostering self organizing teams
Fostering self organizing teams
 
Agile contracts
Agile contractsAgile contracts
Agile contracts
 
Lean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetLean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps Mindset
 
A Leaner PMO in The Federal Government
A Leaner PMO in The Federal GovernmentA Leaner PMO in The Federal Government
A Leaner PMO in The Federal Government
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
Agile dashboard
Agile dashboardAgile dashboard
Agile dashboard
 
Techniques for Keeping Retrospectives Effective and Fun
Techniques for Keeping Retrospectives Effective and FunTechniques for Keeping Retrospectives Effective and Fun
Techniques for Keeping Retrospectives Effective and Fun
 
Managing technical debt notes
Managing technical debt notesManaging technical debt notes
Managing technical debt notes
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Effective Daily Standups
Effective Daily StandupsEffective Daily Standups
Effective Daily Standups
 
Effective Daily Standups
Effective Daily StandupsEffective Daily Standups
Effective Daily Standups
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of Storytelling
 
The Art of Storytelling
The Art of StorytellingThe Art of Storytelling
The Art of Storytelling
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 

Recently uploaded

Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...lizamodels9
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...
Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...
Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...lizamodels9
 
/:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc...
/:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc.../:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc...
/:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc...lizamodels9
 
Catalogue ONG NUOC PPR DE NHAT .pdf
Catalogue ONG NUOC PPR DE NHAT      .pdfCatalogue ONG NUOC PPR DE NHAT      .pdf
Catalogue ONG NUOC PPR DE NHAT .pdfOrient Homes
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Dave Litwiller
 
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024christinemoorman
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth MarketingShawn Pang
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechNewman George Leech
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Servicediscovermytutordmt
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...lizamodels9
 
Non Text Magic Studio Magic Design for Presentations L&P.pptx
Non Text Magic Studio Magic Design for Presentations L&P.pptxNon Text Magic Studio Magic Design for Presentations L&P.pptx
Non Text Magic Studio Magic Design for Presentations L&P.pptxAbhayThakur200703
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
GD Birla and his contribution in management
GD Birla and his contribution in managementGD Birla and his contribution in management
GD Birla and his contribution in managementchhavia330
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurSuhani Kapoor
 
rishikeshgirls.in- Rishikesh call girl.pdf
rishikeshgirls.in- Rishikesh call girl.pdfrishikeshgirls.in- Rishikesh call girl.pdf
rishikeshgirls.in- Rishikesh call girl.pdfmuskan1121w
 

Recently uploaded (20)

Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...
Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...
Lowrate Call Girls In Laxmi Nagar Delhi ❤️8860477959 Escorts 100% Genuine Ser...
 
/:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc...
/:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc.../:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc...
/:Call Girls In Jaypee Siddharth - 5 Star Hotel New Delhi ➥9990211544 Top Esc...
 
Catalogue ONG NUOC PPR DE NHAT .pdf
Catalogue ONG NUOC PPR DE NHAT      .pdfCatalogue ONG NUOC PPR DE NHAT      .pdf
Catalogue ONG NUOC PPR DE NHAT .pdf
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman Leech
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
 
Non Text Magic Studio Magic Design for Presentations L&P.pptx
Non Text Magic Studio Magic Design for Presentations L&P.pptxNon Text Magic Studio Magic Design for Presentations L&P.pptx
Non Text Magic Studio Magic Design for Presentations L&P.pptx
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
GD Birla and his contribution in management
GD Birla and his contribution in managementGD Birla and his contribution in management
GD Birla and his contribution in management
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
 
KestrelPro Flyer Japan IT Week 2024 (English)
KestrelPro Flyer Japan IT Week 2024 (English)KestrelPro Flyer Japan IT Week 2024 (English)
KestrelPro Flyer Japan IT Week 2024 (English)
 
rishikeshgirls.in- Rishikesh call girl.pdf
rishikeshgirls.in- Rishikesh call girl.pdfrishikeshgirls.in- Rishikesh call girl.pdf
rishikeshgirls.in- Rishikesh call girl.pdf
 

User Story Guide

  • 1. 1
  • 3. Acknowledgments: Mike Cohn’s User stories applied and Agile Estimation and Planning. Jeff Patton’s work on User Role Modeling. 3
  • 4. 4
  • 5. Mike Cohn: simple, clear, short description of customer valued functionality 3 parts: written description used for planning, conversation to flesh out details, tests to determine completeness. Ron Jefferies: 3Cs - Card, conversation, confirmation. Rachel Davies: user story represents customer requirements rather than documents them. 5
  • 6. Template: As a type of user, I can achieve some goal so that I can gain some value. Add a title, some notes, assumptions, constraints, priority, estimate. 6
  • 8. On the back, we add acceptance criteria. Use this template for acceptance tests: Given [context] And [some context] When [event] Then [outcome] And [another outcome]. Or simpler version of verify or test. 8
  • 10. Too much info. Running out of room? 10
  • 11. Tom Poppendieck advises us to use smaller card. User story covers the who, what and why? It does not cover how? That is where the conversation comes in. 11
  • 12. The main purpose of a story is to act as a reminder and encourage conversation to flush out details the closer we are to implementing a story. Business, PM, Developer, Tester Picture :http://www.flickr.com/photos/improveit/1470706210/in/photostream 12
  • 13. 13
  • 14. 14
  • 15. IEEE 830: The system shall… 1000 requirements in Excel, become 30 functional specs, each about 50 pages. Hand it over to the developers and testers (1500 pages). Process is tedious, error prone, time consuming, boring, hard to see the big picture, hard to prioritize, not goal focused (task oriented). Use cases do a better job at putting things in context, but are still too detailed to adapt to changing customer need. They are bigger, larger in scope, there is the main scenario and then the extensions, pre/post conditions. They act more as an agreement between customer and developer rather than a forum for conversation. 15
  • 16. User stories directly support the Agile manifesto: User stories support focusing on working software over comprehensive documentation. Conversation supports individuals and interactions and customer collaboration. Brevity and high level of user story supports responding to change. 16
  • 17. Emphasize verbal rather than written communication. Encourage conversation, face to face discussions as opposed to document handoffs. 17
  • 18. Encourage deferring details until you have better understanding about what you really need. Avoids unnecessary detailed planning which might change by the time we reach development time. 18
  • 19. Provide right size for planning. High level, focus on value and can be prioritized. 19
  • 20. Comprehensible by customers and developers. Picture: http://www.flickr.com/photos/90001203@N00/172506278/ 20
  • 21. Works for iterative development. Start at high level and flush out details with each iteration and repeat. 21
  • 22. 22
  • 23. 1. Use human user. Write story from user’s perspective and understand his goal and value for the story. 2. Avoid using generic as a user or as a customer. Think of role as group of users that share common characteristics and based on those characteristics their interactions with system will be different. Think penny pinching college student, busy corporate lawyer, or juggling mother of 3. Try to profile roles and figure out how often will they use the system, how much domain knowledge do they have, are they technically savvy, what is their goal? Pain points? 3. Use extreme users. Extreme users are not really target audience, but simply bringing them up can produce different context and lead to interesting discussion. For example, think of the Pope. Or think of a hacker. As a hacker, I can access customer’s payment information to pay for my vacation. Picture: http://www.flickr.com/photos/12426416@N00/163959411 23
  • 26. 26
  • 27. Bill Wake - Invest acronym: Independent, negotiable, valuable, estimatable, small, and testable. Picture: http://www.flickr.com/photos/42179515@N06/3937449949 27
  • 28. Independent: try to make sure that stories are not interdependent as this might lead to prioritization and planning problems. Independent is different from logical order of developing things. By independent, we mean story features. For example, in earlier credit card example, we wanted to support amex, mc and visa. If there are 2 stories, one for mc and another for visa, then estimates will depend on which one gets done 1st because implementing the 2nd will be relatively straight forward. Options are to combine the stories, or split in a different way (discussed later). If for some reason dependency cannot be removed, then provide 2 estimates on each story, one for each order combination. 28
  • 29. Negotiable: Brief and not a detailed contract. Encourage conversation and negotiation between customer and developers. Picture: http://www.flickr.com/photos/23065375@N05/2235525962 29
  • 30. Valuable: Provide value to the customer or the user. Start with goal stories and break it out from there. Standish Group: 64% of features are never or rarely used in reality. Ensure value is written. If customer cannot think of value, then they might see work as unnecessary and eliminate it. If value is clearly specified, team might find different ways to achieve same goal with same value but with less effort. Because story is delivering piece of functionality, customer can figure out how much functionality costs and then decide if they still need it. Not all value is monetary, mitigating risk is value. As a [type of user] I want [some functionality] to avoid [some operational risk, process weakness, ...] 30
  • 31. Estimatable: Developers need to estimate story. Story needs to be written so developers can understand it and have idea of how to implement it. Reasons we can’t estimate are lack of domain knowledge, lack of technical knowledge, or too big. Picture: http://www.flickr.com/photos/21458229@N00/4553607341 31
  • 32. Small: Not too big, not too small, but just right (1 story half the iteration length). Provide focus and short horizon for the team. Its easier to get lost in the details with larger story. Easier to adapt and give flexibility to reconfigure and adapt to changes. Large stories increase risk that team will deliver nothing at end of iteration. Large stories can create blockages and bottlenecks. One person who is tied up in large story may also be only person who can complete key piece of another story. Picture: http://www.flickr.com/photos/24257141@N05/4747161154 32
  • 33. Testable: Need to verify that story is complete. Make sure there is acceptance criteria. Non-testable stories usually occur with non-functional requirements: Ease of use, fast, bug free. Try to re-write so that some metric can be measured and test can be written (ideally automated). Example: Test that system responds in 1 second or less at least 95% of the time. Picture: http://www.flickr.com/photos/20897132@N00/208837407 33
  • 34. 34
  • 35. 35
  • 36. Dependency Story dependent on another story makes it hard to give correct estimate. Split so one story handles dependency and other handle specifics. Picture: http://www.flickr.com/photos/15923063@N00/4972049904 36
  • 37. Size – Too big a. Cannot give accurate estimate: Story needs to be more manageable and enable more accurate estimate. b. Cannot fit into iteration: If for example iteration is 1 week long and story is longer than week then it needs to be split to fit into iteration. c. Cannot fit into what’s remaining of iteration: Team has already committed to 38 story points and there is still room for 2 point story but remaining stories are 3 story points or more. Picture: http://www.flickr.com/photos/87857621@N00/191311751 37
  • 38. Risk: If complex and risky, split to create spike story which is experimental in nature with main goal to gain technical knowledge. Picture: http://www.flickr.com/photos/95457978@N00/495352477 38
  • 39. Story contains multiple sub stories that are large enough to stand out on their own. 39
  • 40. Combine many small items onto one larger story. Example: Bug reports can be combined into one “Fix Bugs” story. 40
  • 41. 41
  • 42. Slice Vertically: Stories should represent some level of end to end functionality. This reduces overall risk and delivers value to customer. Do simplest thing that could possibly work. Important to not split stories into tasks like design, code front end, code middle tier, code back end. Better to deliver cohesive subset of all layers of feature than delivering all of one layer as standalone. Having entire backend ready without corresponding GUI is not very useful. Having feature that allows user to add entity through GUI and have it persisted is functionality that can be useful and provides some value. 42
  • 43. Data Boundaries: Separate local requirements from international requirement. Handling one type of credit card from another. Start with USD then add foreign currency. Picture: http://www.flickr.com/photos/7762644@N04/2533281806 43
  • 44. Operational boundaries: CRUD boundaries. Separating into search which returns search result count and then search display which displays actual results. Happy path 1st , exceptions next. Picture: http://www.flickr.com/photos/7729940@N06/3076476665 44
  • 45. Cross Cutting Concern: Features that effect multiple aspects of the application like security, logging, error handling can each be separated out of main functionality features. Screen with different menu options based on the login user’s credentials. Security specific feature can be split from main functionality of screen. Picture: http://www.flickr.com/photos/53611153@N00/303892944 45
  • 46. Performance constraints: Split functional requirement from non functional requirements. Example: Feature can be enabled without caching and then another story can handle caching specifics. Picture: http://www.flickr.com/photos/32165728@N00/183211819 46
  • 47. Priority: Multiple priorities within a story. Login story might have different priorities for authentication than for handling error conditions like locking out user after multiple logins. Necessity: Minimum needed to get working software. Flexibility: What are some alternative ways of doing it, what additional data we want to capture. Safety: Better validation rule to avoid ugly error messages. Comfort, luxury, and performance: More usable, sexier to look at (animation), hot keys. 1.Opening game: Skeleton spans system and contains necessary features 2. Mid game: Add capability, flexibility and safety 3. End game: Finish with usability, performance, sex appeal and reserve time for unforeseen additions and adaptations Picture: http://www.flickr.com/photos/15639842@N00/4182148160 47
  • 48. 48
  • 50. 50