SlideShare une entreprise Scribd logo
1  sur  18
How to Break the Requirements
       into User Stories
        - By ShriKant Vashishtha
  http://sampreshan.svashishtha.com
Why do we do this…

• To have small and independent functional pieces which
  deliver business value so that we can deliver iteratively.

• Makes it more manageable and easier to predict.

• It’s easier to identify and eliminate waste (anything that
  does not provide immediate value to the customer.)

• It lowers project risk by increasing accuracy of estimates
  and thus predictability
Why do we do this…

• Completing small stories gives a better indicator of
  true progress

• It creates better rhythm in the iteration

• It gives the opportunity for the Product Owner to
  manage the priority of story functionality within a
  bigger story
Characteristics of Ideal small functional piece
                  INVEST Principles
•    I – Independent
      –   (Stories are easiest to work with if they are independent. That is, we'd like them to not overlap in concept,
          and we'd like to be able to schedule and implement them in any order)

•    N – Negotiable
      –   (It is not an explicit contract for features; rather, details will be co-created by the customer and programmer
          during development. A good story captures the essence, not the details.)

•    V – Valuable
      –   (We don't care about value to just anybody; it needs to be valuable to the customer. When we split a story,
          we're serving up only part of that cake. We want to give the customer the essence of the whole cake, and
          the best way is to slice vertically through the layers.)

•    E – Estimable
      –   (We don't need an exact estimate, but just enough to help the customer rank and schedule the story's
          implementation. )

•    S – Small
      –   (Good stories tend to be small. Stories typically represent at most a few person-days worth of work. Above
          this size, and it seems to be too hard to know what's in the story's scope. Smaller stories tend to get more
          accurate estimates.)

•    T – Testable
      –   (If a customer doesn't know how to test something, this may indicate that the story isn't clear enough, or
          that it doesn't reflect something valuable to them, or that the customer just needs help in testing. )
Who is involved…

• The core team which includes
  – Business Analysts
  – Product Owner
  – Iteration Manager
How to actually do it?
Pattern 1: Workflow Steps

“As a content manager, I can publish a news story to the
corporate website.”

      can include the following independent stories

•   I can publish a news story directly to the corporate website.
•   I can publish a news story with editor review.
•   I can publish a news story with legal review.
•   I can view a news story on a staging site.
•   I can publish a news story from the staging site to
    production.
Pattern 3: Major Effort

“As a user, I can pay for my flight with VISA, MasterCard,
Diners Club, or American Express.”


  can include the following valuable and small
                      stories

• …I can pay with one credit card type (of VISA, MC, DC, AMEX).
• …I can pay with all four credit card types (VISA, MC, DC, AMEX)
  (given one card type already implemented).
Pattern 4 : Break out with a Spike

“As a user, I can pay by credit card.”



     can include the following estimable stories

• Investigate credit card processing. (time boxed)
• Implement credit card processing.
Pattern 5: Business Rule Variation

“As a user, I can search for flights with flexible
dates..”

  can include the following testable "business
                      rules”

• as “n days between x and y.”
• as “a weekend in December.”
• as “± n days of x and y.”
Pattern 6: Operations (e.g. CRUD)

“As a user, I can manage my account.”

  can include the following independent user
                     stories

• …I can sign up for an account.
• …I can edit my account settings.
• …I can cancel my account.
Pattern 7: Defer fancy operations

“As a user, I can search for flights between two
destinations.”

 can include the following valuable user-stories

• …using simple date input.
• …with a fancy calendar UI.
Pattern 8: Acceptance Criteria


• Often it is possible to limit the user story to
  the happy day scenario only

• And deal with exceptions, error cases or
  other special cases as different story.
Avoid Cause and Effect Trap
Ask why a lot
Fully featured vs fully functional
References…

• http://neilkillick.com/2012/03/22/why-should-
  we-make-user-stories-as-small-as-possible/
• http://rslawrence.wpengine.com/wp-
  content/uploads/2012/01/Story-Splitting-
  Flowchart.pdf
• http://www.richardlawrence.info/2009/10/28/pa
  tterns-for-splitting-user-stories/
• http://blog.xebia.com/2010/04/01/fixing-the-
  cause-effect-trap-in-user-stories/

Contenu connexe

Tendances

Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
kahgeh75
 

Tendances (20)

Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User Stories
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization Techniques
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
User Story
User StoryUser Story
User Story
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
User Stories
User StoriesUser Stories
User Stories
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Cheat Sheet: 8 ways to split your user stories
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user stories
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 

Similaire à How to Break the Requirements into User Stories

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
Russell Pannone
 

Similaire à How to Break the Requirements into User Stories (20)

Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
Story Time - Writing Effective User Stories
Story Time - Writing Effective User StoriesStory Time - Writing Effective User Stories
Story Time - Writing Effective User Stories
 
Defining tasks for User Stories
Defining tasks for User StoriesDefining tasks for User Stories
Defining tasks for User Stories
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
How to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileHow to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using Agile
 
NoEstimates@iNatuix
NoEstimates@iNatuixNoEstimates@iNatuix
NoEstimates@iNatuix
 
User stories
User storiesUser stories
User stories
 
Effective User Stories.pdf
Effective User Stories.pdfEffective User Stories.pdf
Effective User Stories.pdf
 
User Stories
User StoriesUser Stories
User Stories
 
Telling “Your Story” Using Cognos Analytics Webinar
Telling “Your Story” Using  Cognos Analytics WebinarTelling “Your Story” Using  Cognos Analytics Webinar
Telling “Your Story” Using Cognos Analytics Webinar
 
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
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
 
Right amount of details to the user story
Right amount of details to the user storyRight amount of details to the user story
Right amount of details to the user story
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Successful Business Sponsorship of Agile IT Projects
Successful Business Sponsorship of Agile IT ProjectsSuccessful Business Sponsorship of Agile IT Projects
Successful Business Sponsorship of Agile IT Projects
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
All about User story
All about User storyAll about User story
All about User story
 

Plus de ShriKant Vashishtha

Agile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaAgile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant Vashishtha
ShriKant Vashishtha
 
Working With Augmented Distributed Agile Team In Legacy Application
Working With Augmented Distributed Agile Team In Legacy ApplicationWorking With Augmented Distributed Agile Team In Legacy Application
Working With Augmented Distributed Agile Team In Legacy Application
ShriKant Vashishtha
 
Agile FAQs by ShriKant Vashishtha
Agile FAQs by ShriKant VashishthaAgile FAQs by ShriKant Vashishtha
Agile FAQs by ShriKant Vashishtha
ShriKant Vashishtha
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
ShriKant Vashishtha
 
TheOtherPages Pagination Framework by Shrikant Vashishtha
TheOtherPages Pagination Framework by Shrikant VashishthaTheOtherPages Pagination Framework by Shrikant Vashishtha
TheOtherPages Pagination Framework by Shrikant Vashishtha
ShriKant Vashishtha
 
Caching fundamentals by Shrikant Vashishtha
Caching fundamentals by Shrikant VashishthaCaching fundamentals by Shrikant Vashishtha
Caching fundamentals by Shrikant Vashishtha
ShriKant Vashishtha
 
Pair Programming Explained By Shrikant Vashishtha
Pair Programming Explained  By Shrikant VashishthaPair Programming Explained  By Shrikant Vashishtha
Pair Programming Explained By Shrikant Vashishtha
ShriKant Vashishtha
 
Management and Self Learning Lessons from Indian Mythology
Management and Self Learning Lessons from Indian MythologyManagement and Self Learning Lessons from Indian Mythology
Management and Self Learning Lessons from Indian Mythology
ShriKant Vashishtha
 

Plus de ShriKant Vashishtha (14)

Evolution of Agile world with Lean Startup Concepts
 Evolution of Agile world with Lean Startup Concepts Evolution of Agile world with Lean Startup Concepts
Evolution of Agile world with Lean Startup Concepts
 
Distributed Agile Patterns
Distributed Agile PatternsDistributed Agile Patterns
Distributed Agile Patterns
 
What is Agile Testing
What is Agile TestingWhat is Agile Testing
What is Agile Testing
 
Pair Programming and XP Values
Pair Programming and XP ValuesPair Programming and XP Values
Pair Programming and XP Values
 
How to build a fun team
How to build a fun teamHow to build a fun team
How to build a fun team
 
Agile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaAgile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant Vashishtha
 
Working With Augmented Distributed Agile Team In Legacy Application
Working With Augmented Distributed Agile Team In Legacy ApplicationWorking With Augmented Distributed Agile Team In Legacy Application
Working With Augmented Distributed Agile Team In Legacy Application
 
Agile FAQs by ShriKant Vashishtha
Agile FAQs by ShriKant VashishthaAgile FAQs by ShriKant Vashishtha
Agile FAQs by ShriKant Vashishtha
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
 
TheOtherPages Pagination Framework by Shrikant Vashishtha
TheOtherPages Pagination Framework by Shrikant VashishthaTheOtherPages Pagination Framework by Shrikant Vashishtha
TheOtherPages Pagination Framework by Shrikant Vashishtha
 
Caching fundamentals by Shrikant Vashishtha
Caching fundamentals by Shrikant VashishthaCaching fundamentals by Shrikant Vashishtha
Caching fundamentals by Shrikant Vashishtha
 
Pair Programming Explained By Shrikant Vashishtha
Pair Programming Explained  By Shrikant VashishthaPair Programming Explained  By Shrikant Vashishtha
Pair Programming Explained By Shrikant Vashishtha
 
Management and Self Learning Lessons from Indian Mythology
Management and Self Learning Lessons from Indian MythologyManagement and Self Learning Lessons from Indian Mythology
Management and Self Learning Lessons from Indian Mythology
 
Memory Management In C++
Memory Management In C++Memory Management In C++
Memory Management In C++
 

Dernier

VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...
CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...
CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...
priyasharma62062
 
VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...
VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...
VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
dipikadinghjn ( Why You Choose Us? ) Escorts
 

Dernier (20)

VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
 
Top Rated Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...
Top Rated  Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...Top Rated  Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...
Top Rated Pune Call Girls Viman Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Sex...
 
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
 
Stock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfStock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdf
 
Vasai-Virar High Profile Model Call Girls📞9833754194-Nalasopara Satisfy Call ...
Vasai-Virar High Profile Model Call Girls📞9833754194-Nalasopara Satisfy Call ...Vasai-Virar High Profile Model Call Girls📞9833754194-Nalasopara Satisfy Call ...
Vasai-Virar High Profile Model Call Girls📞9833754194-Nalasopara Satisfy Call ...
 
Kopar Khairane Russian Call Girls Number-9833754194-Navi Mumbai Fantastic Unl...
Kopar Khairane Russian Call Girls Number-9833754194-Navi Mumbai Fantastic Unl...Kopar Khairane Russian Call Girls Number-9833754194-Navi Mumbai Fantastic Unl...
Kopar Khairane Russian Call Girls Number-9833754194-Navi Mumbai Fantastic Unl...
 
W.D. Gann Theory Complete Information.pdf
W.D. Gann Theory Complete Information.pdfW.D. Gann Theory Complete Information.pdf
W.D. Gann Theory Complete Information.pdf
 
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
 
Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...
Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...
Mira Road Memorable Call Grls Number-9833754194-Bhayandar Speciallty Call Gir...
 
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
 
7 tips trading Deriv Accumulator Options
7 tips trading Deriv Accumulator Options7 tips trading Deriv Accumulator Options
7 tips trading Deriv Accumulator Options
 
CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...
CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...
CBD Belapur Expensive Housewife Call Girls Number-📞📞9833754194 No 1 Vipp HIgh...
 
Business Principles, Tools, and Techniques in Participating in Various Types...
Business Principles, Tools, and Techniques  in Participating in Various Types...Business Principles, Tools, and Techniques  in Participating in Various Types...
Business Principles, Tools, and Techniques in Participating in Various Types...
 
Top Rated Pune Call Girls Dighi ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Dighi ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Dighi ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Dighi ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7
(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7
(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7
 
falcon-invoice-discounting-unlocking-prime-investment-opportunities
falcon-invoice-discounting-unlocking-prime-investment-opportunitiesfalcon-invoice-discounting-unlocking-prime-investment-opportunities
falcon-invoice-discounting-unlocking-prime-investment-opportunities
 
VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...
VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...
VIP Call Girl in Mumbai Central 💧 9920725232 ( Call Me ) Get A New Crush Ever...
 
Call Girls Service Pune ₹7.5k Pick Up & Drop With Cash Payment 9352852248 Cal...
Call Girls Service Pune ₹7.5k Pick Up & Drop With Cash Payment 9352852248 Cal...Call Girls Service Pune ₹7.5k Pick Up & Drop With Cash Payment 9352852248 Cal...
Call Girls Service Pune ₹7.5k Pick Up & Drop With Cash Payment 9352852248 Cal...
 
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
 
Navi Mumbai Cooperetive Housewife Call Girls-9833754194-Natural Panvel Enjoye...
Navi Mumbai Cooperetive Housewife Call Girls-9833754194-Natural Panvel Enjoye...Navi Mumbai Cooperetive Housewife Call Girls-9833754194-Natural Panvel Enjoye...
Navi Mumbai Cooperetive Housewife Call Girls-9833754194-Natural Panvel Enjoye...
 

How to Break the Requirements into User Stories

  • 1. How to Break the Requirements into User Stories - By ShriKant Vashishtha http://sampreshan.svashishtha.com
  • 2. Why do we do this… • To have small and independent functional pieces which deliver business value so that we can deliver iteratively. • Makes it more manageable and easier to predict. • It’s easier to identify and eliminate waste (anything that does not provide immediate value to the customer.) • It lowers project risk by increasing accuracy of estimates and thus predictability
  • 3. Why do we do this… • Completing small stories gives a better indicator of true progress • It creates better rhythm in the iteration • It gives the opportunity for the Product Owner to manage the priority of story functionality within a bigger story
  • 4. Characteristics of Ideal small functional piece INVEST Principles • I – Independent – (Stories are easiest to work with if they are independent. That is, we'd like them to not overlap in concept, and we'd like to be able to schedule and implement them in any order) • N – Negotiable – (It is not an explicit contract for features; rather, details will be co-created by the customer and programmer during development. A good story captures the essence, not the details.) • V – Valuable – (We don't care about value to just anybody; it needs to be valuable to the customer. When we split a story, we're serving up only part of that cake. We want to give the customer the essence of the whole cake, and the best way is to slice vertically through the layers.) • E – Estimable – (We don't need an exact estimate, but just enough to help the customer rank and schedule the story's implementation. ) • S – Small – (Good stories tend to be small. Stories typically represent at most a few person-days worth of work. Above this size, and it seems to be too hard to know what's in the story's scope. Smaller stories tend to get more accurate estimates.) • T – Testable – (If a customer doesn't know how to test something, this may indicate that the story isn't clear enough, or that it doesn't reflect something valuable to them, or that the customer just needs help in testing. )
  • 5. Who is involved… • The core team which includes – Business Analysts – Product Owner – Iteration Manager
  • 7. Pattern 1: Workflow Steps “As a content manager, I can publish a news story to the corporate website.” can include the following independent stories • I can publish a news story directly to the corporate website. • I can publish a news story with editor review. • I can publish a news story with legal review. • I can view a news story on a staging site. • I can publish a news story from the staging site to production.
  • 8. Pattern 3: Major Effort “As a user, I can pay for my flight with VISA, MasterCard, Diners Club, or American Express.” can include the following valuable and small stories • …I can pay with one credit card type (of VISA, MC, DC, AMEX). • …I can pay with all four credit card types (VISA, MC, DC, AMEX) (given one card type already implemented).
  • 9. Pattern 4 : Break out with a Spike “As a user, I can pay by credit card.” can include the following estimable stories • Investigate credit card processing. (time boxed) • Implement credit card processing.
  • 10. Pattern 5: Business Rule Variation “As a user, I can search for flights with flexible dates..” can include the following testable "business rules” • as “n days between x and y.” • as “a weekend in December.” • as “± n days of x and y.”
  • 11. Pattern 6: Operations (e.g. CRUD) “As a user, I can manage my account.” can include the following independent user stories • …I can sign up for an account. • …I can edit my account settings. • …I can cancel my account.
  • 12. Pattern 7: Defer fancy operations “As a user, I can search for flights between two destinations.” can include the following valuable user-stories • …using simple date input. • …with a fancy calendar UI.
  • 13. Pattern 8: Acceptance Criteria • Often it is possible to limit the user story to the happy day scenario only • And deal with exceptions, error cases or other special cases as different story.
  • 14.
  • 15. Avoid Cause and Effect Trap
  • 16. Ask why a lot
  • 17. Fully featured vs fully functional
  • 18. References… • http://neilkillick.com/2012/03/22/why-should- we-make-user-stories-as-small-as-possible/ • http://rslawrence.wpengine.com/wp- content/uploads/2012/01/Story-Splitting- Flowchart.pdf • http://www.richardlawrence.info/2009/10/28/pa tterns-for-splitting-user-stories/ • http://blog.xebia.com/2010/04/01/fixing-the- cause-effect-trap-in-user-stories/

Notes de l'éditeur

  1. Sometimes a story can be split into several parts where most of the effort will go towards implementing the first one.
  2. Sometimes a story can be split into several parts where most of the effort will go towards implementing the first one.
  3. CRUD – create, retrieve, update and delete
  4. CRUD – create, retrieve, update and delete
  5. Add example of the user story
  6. User story has following format:As a <stakeholder role> I want <functional piece> so that <business value> A lot of times, in this whole user-story statement everything becomes very clear except the definition of business value itself. Here’ an example:As a <user> I want <a button in the order screen> so that <I can go to the next screen>As translating the “so that” into business value becomes difficult, the user story gets into “The Cause-Effect Trap”. From the outset it looks logical, but the essence of why actually we started breaking down requirements into user-story is gone.
  7. http://www.mindtools.com/pages/article/newTMC_5W.htmhttp://en.wikipedia.org/wiki/5_Whys
  8. As you can see painting is fully functional and fully featured only at the end of all increments are done. Before that it’s neither of the two.Overall goal is not just being fully featured but being fully functional as soon as we can. In the iterative fashion that goal is achieved comfortably.So while creating user-stories from functional specs, it’s important to understand the bare minimal functionality which could be completed in the small span of time and still is usable by the customer. “It’s important to be fully functional but not necessarily fully featured”