SlideShare a Scribd company logo
User Stories Applied:
For Agile Software Development
               –
     Ch 2. Writing Stories

      Chen Jing Fung @iii
           2011/6/7
Six attributes for a good story
•   Independent
•   Negotiable
•   Valuable to user or customers
•   Estimatable
•   Small
•   Testable
Method - Independent
• Dependencies problem
  – Prioritization + planning problems => make estimation
    (hard)
• Independent
  – Combing the stories into a single large story
     • Ex: how companies can pay for job openings…
            A company can pay for a job posting with a Visa Card
           A company can pay for a job posting with a MasterCard
      A company can pay for a job posting with an American Express card

       => A company can pay for a job posting with a credit card

  – Alternative split by different dimension
      A customer can pay with one type of credit card (3 days),
      A customer can pay with two additional types of credit cards(2 days)
Method - Negotiable
• Key: reminders to have a space to talk
• Worries case – too much detail

    A company can pay for a job posting with a credit card

     Note: Accept Visa, MasterCard & American Express.
     Consider Discover card. On purchases over $100, ask for card ID num. from
     back of card. The system can tell what type of card it is from the first 2 digits
     of the card numbers. Collect the expiration month and date of the card
         The system can store a card number for future use.
                                                                     Split to another
•   Solution:                                                               story
     – A phrase or two that act as reminders to hold the conversation
     – Notes about issues to be resolved during the conversation
             A company can pay for a job posting with a credit card

             Note: Will we accept Discover cards?
             Note for UI: Don’t have a field for card type
                    (it can be derived from first two digits on the cards)
Method – Valuable to Purchasers or Users (1)

• Key: user vs. purchaser are distinction
  – User just use the software
  – Purchaser cares all configuration info.(user
    capabilities) from a central location (but users
    don’t care)
     • Software quality index. Ex: pass an ISO 9001 audit
       or CMMI L3 certification => imply test cases from
       the story is important!!)
       Test with Visa, MasterCard and American Express (pass).
       Test with Diner’s Club (fail).
       Test with good, bad and missing card ID numbers.
       Test with expired cards.
       Test with over $100 and under $100
Method – Valuable to Purchasers or Users (2)

• Avoid
  – All connection to the database are through a
    connection pool. => too chaos !!
  – All error handling and logging is done through a set of
    common classes. => think more to describe out of
    control situations 
• Solution
  – Up to 50 users to use the application with a 5-user
    database license.
  – All errors are presented to the user and logged in a
    consistent manner.
     • Remove the use of a connection pool & a set of error
       handling classes
  – Developers trained customer or users to write a story
Method - Estimatable
• Non-estimatable reasons
  – Developers lack domain knowledge => need to ask
    customers frequently until understanding the overview
    story
     • Ex: Give new users a diabetic screening
  – Developers lack technical knowledge => call a spike
     • No one on the team had done
     • Extreme Programmers learn enough the spike(1. gather
       info.), then they can estimate the task(2. to do the real
       work).
     • Spike is always a maximum amount of time (called a timebox)
  – The story is too big => split into small
Method – small (splitting Stories) (1)
    • Compound story => split to small one
     Developers mean:
•   that a resume can include education,            Too small
    prior jobs, salary history, publications,    • enter a date for each community
    presentations, community service, and           service entry on a resume.
    an objective                                 • edit the date for each community
•   that users can mark resumes as                  service entry on a resume.
    inactive                                     • enter a date range for each prior job
•   that users can have multiple resumes            on a resume.
•   that users can edit resumes                  • edit the date range for each prior job
•   that users can delete resumes                   on a resume.
                  Split individually                                    Re-compose
            •   A user can add and edit education information.
            •   A user can add and edit job history information.
            •   A user can add and edit salary history information.
            •   A user can add and edit publications.
            •   A user can add and edit presentations.
            •   A user can add and edit community service.
            •   A user can add and edit an objective.
Method – small (splitting Stories) (2)
• Complex story (unestimatable story) => split into 2
  stories
  focus on developing new or extending algorithms
   – Story I: One investigative
     research and determine the feasibility of extending
     expectation maximization
      • Difficulty on estimating how long to research
      • Consider putting the Spike in a different iteration
   – Story II: Developing the new feature
     => add that functionality to the product

• Combining stories into large one
   – Maybe a half-day to several days of work
   – Put several story cards to a cover card
Method - Testable
• Testable story => successfully developed
   – Pass its tests means a story can be successfully
     developed
• Untestable stories => nonfunctional
  requirements
• Examples:
     A user must find the software easy to use
 Solution:
   1. involve having a human factors
   2. put to an iteration to investigate them, and then really run it

     A user must never have to wait long for any screen to appear

  Solution:                           Quantification => can verify it
    New screens appear with in 2 seconds in 95% of all cases
Summary
• Ideally, stories are independent from one another
• Stories could be negotiated btw user & developers
   – Avoid too much detail => no space to talk
   – 1 or 2 phases are good
• Customers write the stories are well
   – stories value is from user
• Write appropriate length of stories
   – Too big, (compound & complex stories) split into smaller
     stories
   – Too small, combine several stories into one bigger story
• Stories need to be testable
   – Write test case for the story

More Related Content

Similar to Agile writing stories (20)

PPTX
Defining tasks for User Stories
Martin Lapointe, M.T.I.
 
PPT
agility_principles.ppt
AteeqaKokab1
 
PPTX
Agile User Stories
kahgeh75
 
PPTX
Project scope preparation
Dimitar Bakardzhiev
 
PPT
Agile Development | Agile Process Models
Ahsan Rahim
 
DOC
cv- PRITI WARUDKAR
Priti Warudkar
 
PPT
ABC of Agile (Scrum & Extreme Programming)
Amardeep Vishwakarma
 
PDF
UXLX2012 User Research Hacks
nForm User Experience
 
PDF
User stories writing - Codemotion 2013
Stefano Leli
 
PDF
User Stories Writing - Codemotion 2013
Fabio Armani
 
PPTX
SemTech2011 - Employee-of-the-Month' Badge Unlocked
INSEMTIVES project
 
PDF
iOSDC 2018 Presentation - Casual Talk
kimi Ng
 
PPTX
Agile Techniques
Pratip Mallik
 
PPTX
Introduction to Agile Requirements, Estimation
Abhilash Chandran
 
PPTX
How to Write Great User Stories Today.pptx
AlanJamisonMBASPC
 
PDF
Dev Day
Aruna Dissanayake
 
PPTX
Product Backlog Mapping
Paul Nil
 
PPTX
The Art of Project Estimation
Return on Intelligence
 
PPTX
Using an Agile Inception to Kick Off a Project
Victor Bonacci
 
Defining tasks for User Stories
Martin Lapointe, M.T.I.
 
agility_principles.ppt
AteeqaKokab1
 
Agile User Stories
kahgeh75
 
Project scope preparation
Dimitar Bakardzhiev
 
Agile Development | Agile Process Models
Ahsan Rahim
 
cv- PRITI WARUDKAR
Priti Warudkar
 
ABC of Agile (Scrum & Extreme Programming)
Amardeep Vishwakarma
 
UXLX2012 User Research Hacks
nForm User Experience
 
User stories writing - Codemotion 2013
Stefano Leli
 
User Stories Writing - Codemotion 2013
Fabio Armani
 
SemTech2011 - Employee-of-the-Month' Badge Unlocked
INSEMTIVES project
 
iOSDC 2018 Presentation - Casual Talk
kimi Ng
 
Agile Techniques
Pratip Mallik
 
Introduction to Agile Requirements, Estimation
Abhilash Chandran
 
How to Write Great User Stories Today.pptx
AlanJamisonMBASPC
 
Product Backlog Mapping
Paul Nil
 
The Art of Project Estimation
Return on Intelligence
 
Using an Agile Inception to Kick Off a Project
Victor Bonacci
 

More from fungfung Chen (20)

PDF
Tech biz patent
fungfung Chen
 
PDF
Smart TV content converged service & social media
fungfung Chen
 
PDF
Tips for fulfilling patent application
fungfung Chen
 
PDF
Defending your Rights
fungfung Chen
 
PDF
Polishing search skills
fungfung Chen
 
PDF
Inquiry Based Approach - Patent Search
fungfung Chen
 
PDF
Overseas protection & patent search
fungfung Chen
 
PDF
Patentability classification search
fungfung Chen
 
PDF
Novelty to Nonobviousness
fungfung Chen
 
PDF
Patentability requirement on novelty
fungfung Chen
 
PDF
2012 Smart TV - Evolution & Approaches
fungfung Chen
 
PDF
Patentability Requirements
fungfung Chen
 
PDF
Working model to patentability
fungfung Chen
 
PDF
Evaluate your invention
fungfung Chen
 
PDF
how to invention & practice it
fungfung Chen
 
PDF
Digital converge - DTV service design
fungfung Chen
 
PDF
Hybrid digital broadcasting methods
fungfung Chen
 
PDF
Summary the challenges of Social TV
fungfung Chen
 
PDF
CG OpenGL Shadows + Light + Texture -course 10
fungfung Chen
 
PDF
CG OpenGL surface detection+illumination+rendering models-course 9
fungfung Chen
 
Tech biz patent
fungfung Chen
 
Smart TV content converged service & social media
fungfung Chen
 
Tips for fulfilling patent application
fungfung Chen
 
Defending your Rights
fungfung Chen
 
Polishing search skills
fungfung Chen
 
Inquiry Based Approach - Patent Search
fungfung Chen
 
Overseas protection & patent search
fungfung Chen
 
Patentability classification search
fungfung Chen
 
Novelty to Nonobviousness
fungfung Chen
 
Patentability requirement on novelty
fungfung Chen
 
2012 Smart TV - Evolution & Approaches
fungfung Chen
 
Patentability Requirements
fungfung Chen
 
Working model to patentability
fungfung Chen
 
Evaluate your invention
fungfung Chen
 
how to invention & practice it
fungfung Chen
 
Digital converge - DTV service design
fungfung Chen
 
Hybrid digital broadcasting methods
fungfung Chen
 
Summary the challenges of Social TV
fungfung Chen
 
CG OpenGL Shadows + Light + Texture -course 10
fungfung Chen
 
CG OpenGL surface detection+illumination+rendering models-course 9
fungfung Chen
 
Ad

Recently uploaded (20)

PDF
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
DOCX
Navigating Environmental Excellence ISO 140012015 Implementation in Pretoria....
Norocke Consulting
 
DOCX
Andrew C. Belton, MBA Resume - July 2025
Andrew C. Belton
 
PPTX
Chapter 3 Distributive Negotiation: Claiming Value
badranomar1990
 
PDF
Agentic AI: The Autonomous Upgrade Your AI Stack Didn’t Know It Needed
Amnic
 
PPTX
Piper 2025 Financial Year Shareholder Presentation
Piper Industries
 
PDF
New Royals Distribution Plan Presentation
ksherwin
 
PDF
How BrainManager.io Boosts Productivity.
brainmanagerious
 
PDF
12 Oil and Gas Companies in India Driving the Energy Sector.pdf
Essar Group
 
PDF
From Fossil to Future Green Energy Companies Leading India’s Energy Transitio...
Essar Group
 
PDF
The Rise of Penfolds Wine_ From Australian Vineyards to Global Fame.pdf
Enterprise world
 
PPTX
The Ultimate Guide to Customer Journey Mapping
RUPAL AGARWAL
 
PDF
Alan Stalcup - Principal Of GVA Real Estate Investments
Alan Stalcup
 
PPTX
Andrew C. Belton, MBA Experience Portfolio July 2025
Andrew C. Belton
 
DOCX
Apply for a Canada Permanent Resident Visa in Delhi with Expert Guidance.docx
WVP International
 
PDF
Retinal Disorder Treatment Market 2030: The Impact of Advanced Diagnostics an...
Kumar Satyam
 
PDF
SMLE slides.pdf pediatric medical history
hananmahjoob18
 
PPTX
PUBLIC RELATIONS N6 slides (4).pptx poin
chernae08
 
PPTX
Brain Based Enterprises - Harmonising Man, Woman and Machine
Peter Cook
 
PDF
Unlocking Productivity: Practical AI Skills for Professionals
LOKAL
 
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
Navigating Environmental Excellence ISO 140012015 Implementation in Pretoria....
Norocke Consulting
 
Andrew C. Belton, MBA Resume - July 2025
Andrew C. Belton
 
Chapter 3 Distributive Negotiation: Claiming Value
badranomar1990
 
Agentic AI: The Autonomous Upgrade Your AI Stack Didn’t Know It Needed
Amnic
 
Piper 2025 Financial Year Shareholder Presentation
Piper Industries
 
New Royals Distribution Plan Presentation
ksherwin
 
How BrainManager.io Boosts Productivity.
brainmanagerious
 
12 Oil and Gas Companies in India Driving the Energy Sector.pdf
Essar Group
 
From Fossil to Future Green Energy Companies Leading India’s Energy Transitio...
Essar Group
 
The Rise of Penfolds Wine_ From Australian Vineyards to Global Fame.pdf
Enterprise world
 
The Ultimate Guide to Customer Journey Mapping
RUPAL AGARWAL
 
Alan Stalcup - Principal Of GVA Real Estate Investments
Alan Stalcup
 
Andrew C. Belton, MBA Experience Portfolio July 2025
Andrew C. Belton
 
Apply for a Canada Permanent Resident Visa in Delhi with Expert Guidance.docx
WVP International
 
Retinal Disorder Treatment Market 2030: The Impact of Advanced Diagnostics an...
Kumar Satyam
 
SMLE slides.pdf pediatric medical history
hananmahjoob18
 
PUBLIC RELATIONS N6 slides (4).pptx poin
chernae08
 
Brain Based Enterprises - Harmonising Man, Woman and Machine
Peter Cook
 
Unlocking Productivity: Practical AI Skills for Professionals
LOKAL
 
Ad

Agile writing stories

  • 1. User Stories Applied: For Agile Software Development – Ch 2. Writing Stories Chen Jing Fung @iii 2011/6/7
  • 2. Six attributes for a good story • Independent • Negotiable • Valuable to user or customers • Estimatable • Small • Testable
  • 3. Method - Independent • Dependencies problem – Prioritization + planning problems => make estimation (hard) • Independent – Combing the stories into a single large story • Ex: how companies can pay for job openings… A company can pay for a job posting with a Visa Card A company can pay for a job posting with a MasterCard A company can pay for a job posting with an American Express card => A company can pay for a job posting with a credit card – Alternative split by different dimension A customer can pay with one type of credit card (3 days), A customer can pay with two additional types of credit cards(2 days)
  • 4. Method - Negotiable • Key: reminders to have a space to talk • Worries case – too much detail A company can pay for a job posting with a credit card Note: Accept Visa, MasterCard & American Express. Consider Discover card. On purchases over $100, ask for card ID num. from back of card. The system can tell what type of card it is from the first 2 digits of the card numbers. Collect the expiration month and date of the card The system can store a card number for future use. Split to another • Solution: story – A phrase or two that act as reminders to hold the conversation – Notes about issues to be resolved during the conversation A company can pay for a job posting with a credit card Note: Will we accept Discover cards? Note for UI: Don’t have a field for card type (it can be derived from first two digits on the cards)
  • 5. Method – Valuable to Purchasers or Users (1) • Key: user vs. purchaser are distinction – User just use the software – Purchaser cares all configuration info.(user capabilities) from a central location (but users don’t care) • Software quality index. Ex: pass an ISO 9001 audit or CMMI L3 certification => imply test cases from the story is important!!) Test with Visa, MasterCard and American Express (pass). Test with Diner’s Club (fail). Test with good, bad and missing card ID numbers. Test with expired cards. Test with over $100 and under $100
  • 6. Method – Valuable to Purchasers or Users (2) • Avoid – All connection to the database are through a connection pool. => too chaos !! – All error handling and logging is done through a set of common classes. => think more to describe out of control situations  • Solution – Up to 50 users to use the application with a 5-user database license. – All errors are presented to the user and logged in a consistent manner. • Remove the use of a connection pool & a set of error handling classes – Developers trained customer or users to write a story
  • 7. Method - Estimatable • Non-estimatable reasons – Developers lack domain knowledge => need to ask customers frequently until understanding the overview story • Ex: Give new users a diabetic screening – Developers lack technical knowledge => call a spike • No one on the team had done • Extreme Programmers learn enough the spike(1. gather info.), then they can estimate the task(2. to do the real work). • Spike is always a maximum amount of time (called a timebox) – The story is too big => split into small
  • 8. Method – small (splitting Stories) (1) • Compound story => split to small one Developers mean: • that a resume can include education, Too small prior jobs, salary history, publications, • enter a date for each community presentations, community service, and service entry on a resume. an objective • edit the date for each community • that users can mark resumes as service entry on a resume. inactive • enter a date range for each prior job • that users can have multiple resumes on a resume. • that users can edit resumes • edit the date range for each prior job • that users can delete resumes on a resume. Split individually Re-compose • A user can add and edit education information. • A user can add and edit job history information. • A user can add and edit salary history information. • A user can add and edit publications. • A user can add and edit presentations. • A user can add and edit community service. • A user can add and edit an objective.
  • 9. Method – small (splitting Stories) (2) • Complex story (unestimatable story) => split into 2 stories focus on developing new or extending algorithms – Story I: One investigative research and determine the feasibility of extending expectation maximization • Difficulty on estimating how long to research • Consider putting the Spike in a different iteration – Story II: Developing the new feature => add that functionality to the product • Combining stories into large one – Maybe a half-day to several days of work – Put several story cards to a cover card
  • 10. Method - Testable • Testable story => successfully developed – Pass its tests means a story can be successfully developed • Untestable stories => nonfunctional requirements • Examples: A user must find the software easy to use Solution: 1. involve having a human factors 2. put to an iteration to investigate them, and then really run it A user must never have to wait long for any screen to appear Solution: Quantification => can verify it New screens appear with in 2 seconds in 95% of all cases
  • 11. Summary • Ideally, stories are independent from one another • Stories could be negotiated btw user & developers – Avoid too much detail => no space to talk – 1 or 2 phases are good • Customers write the stories are well – stories value is from user • Write appropriate length of stories – Too big, (compound & complex stories) split into smaller stories – Too small, combine several stories into one bigger story • Stories need to be testable – Write test case for the story

Editor's Notes

  • #5: Discover Card is another credit card company & its rival MasterCard and VISA. Discover Card has no annual fee and offered a higher credit limit than small cards (just service in USB & China- 上海 ) (http://en.wikipedia.org/wiki/Discover_Card)
  • #6: User: use the software; purchaser: buy the software