SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
“The S in INVEST”
 Confluence page for ThisWeek @:
 https://kb.epam.com/pages/viewpage.action?pageId=107875299
 Anyone can host a session, just book one in the ThisWeek @ Confluence Calendar
 Me: Zarar Siddiqi
 Agile Coach with a developer’s itch
 http://www.linkedin.com/in/zararsiddiqi
 https://github.com/Arsenalist
 zarar_siddiqi@epam.com
User
Story
Card
Acceptance
Criteria
Constraints
Assumptions
Card
As a Customer Service Representative
I want to view the caller’s account
numbers
So that I can pull up an account quickly
Assumptions
• The caller has entered a phone number
• The caller is using a touch-tone phone
Constraints
• Account number retrieval must take
less than half a second after caller is
connected to CSR
• Must display customer name in French
and English
Acceptance Criteria
• Multiple account numbers are
displayed in a numbered list
• Customers search screen is displayed if
no account number is found
• No inherent dependency on another user storyIndependent
• Until iteration, can always be changed and
rewrittenNegotiable
• Must deliver “value” to the end-userValuable
• Must be able to be sized so that it can be
plannedEstimable
• Small enough to be planned inside a sprintSmall
• Must have a way of knowing when the story is
completeTestable
As a website user, I want to add an item to the
shopping cart, so that I can later buy it
As a fantasy football player, I want to draft a
player, so that I can add them to the active
roster
As a Words with Friends user, I want to play a
word, so that I can get points for it
Basic Idea: Examine the workflow of a process, and
create stories for steps in that workflow
 Before
 As a grocery store cashier, I want to checkout a customer,
so that I can complete the sales transaction
 After
 As a grocery store cashier, I want to…
 …calculate the total amount that will be charged to customer
 …specify the method of payment preferred by the customer
 …enter the credit card details
 …print a receipt for the customer
Identify and disaggregate the
workflow
Basic Idea: For complex data or user interfaces, write
stories for related elements
 Before
 As a Student, I want to view my grades for this semester’s
courses, so that I can see how I’m performing.
 After
 As a Student, I want to view
 …my numeric grade for this semester’s courses, so that I can
quantify my performance.
 …my letter grade for this semester’s courses, so that I can
calculate my GPA easily
 …the class average for this semester’s courses, so that I
understand my relative performance.
Create stories specific to data
elements
Basic Idea: If a program must handle processing of
multiple items, write a story which deals with zero input,
size one input, and multiple input.
 Before:
 As a website user, I want to delete items from the
shopping cart, so that I will not be charged for them
 After:
 To remove a single item from my shopping cart, as a
website user, I click on the ‘X’ icon next to each item in
the shopping cart
 To remove multiple items from my shopping cart, as a
website user, I select the checkbox next to each item to
be removed and click the ‘Remove from Cart’ button
A story for each case
Basic Idea: For complex workflows, create a story to
complete the happy path, i.e., the case where
everything goes perfectly, and then create stories which
deal with the deviations from the happy path (i.e., the
exceptions).
 Before
 As a Dispatcher, I want to view information about a train,
so that I can track its movement
 After
 As a Dispatcher, I want to view information about…
 …an on-time train, so that I can track its movement
 …a derailed train, so that I can track its movement
 …a delayed train, so that I can track its movement
 …a cancelled train, so that I can plan alternate routes
A story for the “happy path” where
little goes wrong, and stories for the
rest
Basic Idea: Create a story for the difficult part of the
work where key learnings will happen; then create
stories which complete the work
 Before
 As a Salesforce user, I want to create revenue, profit, and
growth reports, so that I can perform monthly forecasting
 After
 As a Salesforce user, I want…
 …to create a revenue report for February 2013, so that I can
view the revenue generated in February 2013
 …to create revenue, profit, and growth reports for all months,
so that I can perform forecasting for the next month
Do the core, then enhance
Basic Idea: For work which has an interface (user or
system) and a storage component (e.g., database), create
stories for the “pass-through” cases where only the
interface is invoked, but nothing is stored.Then add other
stories which persist information.
 Before
 As an airline customer, I want to view available flights
between two airports, so that I can pick the best option
 After
 To view available flights, as an airline customer, I want to
provide two airport codes
 To view available flights, as an airline customer, I want to
provide the number of passengers travelling
 To view available flights, as an airline customer, I want to
view an Available Flights page (structure only, no flights)
 To view available flights, as an airline customer, I want to
view the Available Flights page populated with real-time
flight information
Stories that invoke the UI but don’t
store data; other stories that store
data
Basic Idea: For cases where parameters are dynamic
(e.g., drop down lists), create a story for the work using
static hard-coded parameters.Then create stories
which make the parameters dynamic based on content.
 Before
 As a Rona website user, I want to search for lawn mowers,
so that I can find one that is suitable for me
 After
 As a Rona website user, I want to search for lawn mowers
 …over $500 or under $500, so that I can view expensive and
cheaper lawn mowers
 …in all available price ranges, so that I can find the right
price/value one for me
Stories that make use of dummy
data; other stories that make data
dynamic
Basic Idea: For work where a program must support
multiple options (e.g., USD, CAD), create a story for
each type of option.
 Before
 As a SportingBet.com customer, I want to view the betting
odds for UEFA Champions League matches, so that I can
place an informed bet
 After
 As a SportingBet.com customer, I want to view the betting
odds for UEFA Champions League matches
 …in American format, so that I can see odds relative to $100
 …in Fractional format, so that I can calculate relative payout
 …in Decimal format, so that I can use multiplication to
calculate payout
Stories for each option
Basic Idea: If the team finds that the acceptance criteria
for a story are growing, make each acceptance criteria
its own story (or group them to create stories)
 Acceptance Criteria using Given/When/Then
 Given the /Product/GetStatuses.json endpoint
 …when a blank or null order ID is passed, then a Service
Exception wrapped in an <error> element is returned
 …when a non-existent order ID is passed, then an Order Not
Found exception, wrapped in an <error> element is returned
 …when a valid order ID is passed, then an empty JSON
message containing the word ‘OK‘ is returned
 Soft acceptance criteria
 A business process diagram showing the workflow for
new users is created, reviewed by John, and stored in
SharePoint
 Written communication has been sent to the Service
Management Team notifying them of the upcoming
change
Split stories based on Acceptance
Criteria
Basic Idea: For cases where the story cannot be
disaggregated due to limited insights about the work,
create an investigative story, i.e., a spike, to analyze or
research the work, and another to develop it.
 Before
 As an Amazon.com customer, I want to view products
related to the product I am currently viewing that may
interest me, so that my shopping experience is enhanced
 After
 Research the optimal algorithm for displaying related
products which considers tandem purchases, similar
buyers, price, purchase history, and availability.
 As an Amazon.com customer, I want to view products
related to the product I am currently viewing that may
interest me, so that my shopping experience is enhanced
Knowing the unknown,then develop
 http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/
 http://www.richardlawrence.info/wp-content/uploads/2012/01/Story-Splitting-
Flowchart.pdf
 http://www.agileforall.com/2009/12/new-to-agile-learn-how-to-split-stories/
 http://www.agilelearninglabs.com/2013/05/user-story-splitting-four/
 http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features
 http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/
 http://www.discovertodeliver.com/
Ten Concrete Techniques to Split User Stories

Mais conteúdo relacionado

Mais procurados

User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
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 storiesPayton Consulting
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patternsFadi Stephan
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainNaresh Jain
 
User story slicing
User story slicing User story slicing
User story slicing Ankit Tandon
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User StoriesCraig Brown
 
Story writing and mapping
Story writing and mappingStory writing and mapping
Story writing and mappingDevJam
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter SaddingtonPeter Saddington
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user storiesDavid Michel
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyMario Lucero
 

Mais procurados (20)

User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
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
 
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
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
User Stories
User StoriesUser Stories
User Stories
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
 
User story slicing
User story slicing User story slicing
User story slicing
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Story writing and mapping
Story writing and mappingStory writing and mapping
Story writing and mapping
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter Saddington
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user stories
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile Methodology
 

Semelhante a Ten Concrete Techniques to Split User Stories

User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
Web site proposal sample for e commerce site
Web site proposal sample for e commerce siteWeb site proposal sample for e commerce site
Web site proposal sample for e commerce siteTanveer Razwan
 
How To Use CherryPie: Creating Offers
How To Use CherryPie: Creating OffersHow To Use CherryPie: Creating Offers
How To Use CherryPie: Creating OffersPassKit
 
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docxCMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docxmary772
 
Clickminded SOP Library
Clickminded SOP LibraryClickminded SOP Library
Clickminded SOP LibraryClickMinded
 
Strong Conclusion Paragraph Examples. 20 Essay Conclusion E
Strong Conclusion Paragraph Examples. 20 Essay Conclusion EStrong Conclusion Paragraph Examples. 20 Essay Conclusion E
Strong Conclusion Paragraph Examples. 20 Essay Conclusion ESarah Gordon
 
I Want / Need Funding
I Want / Need FundingI Want / Need Funding
I Want / Need FundingAnjana Vivek
 
Custom Links Buttons In Salesforce Com
Custom Links Buttons In Salesforce ComCustom Links Buttons In Salesforce Com
Custom Links Buttons In Salesforce Comamber9904
 
Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...
Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...
Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...Dynamic-CRM
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdfPeterTran514407
 
Hyperion step by step guide
Hyperion step by step guideHyperion step by step guide
Hyperion step by step guidechalasani kamesh
 
Top Tips For Google Analytics - Oct 2016
Top Tips For Google Analytics - Oct 2016Top Tips For Google Analytics - Oct 2016
Top Tips For Google Analytics - Oct 2016Anicca Digital Ltd
 
HowToStartWebsiteForYourStore
HowToStartWebsiteForYourStoreHowToStartWebsiteForYourStore
HowToStartWebsiteForYourStoreLyle Villarta
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Storieslaurence b
 

Semelhante a Ten Concrete Techniques to Split User Stories (20)

User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Web site proposal sample for e commerce site
Web site proposal sample for e commerce siteWeb site proposal sample for e commerce site
Web site proposal sample for e commerce site
 
How To Use CherryPie: Creating Offers
How To Use CherryPie: Creating OffersHow To Use CherryPie: Creating Offers
How To Use CherryPie: Creating Offers
 
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docxCMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
CMGT410 v19Project Charter TemplateCMGT410 v19Page 2 of 3P.docx
 
Po workshop handouts
Po workshop handoutsPo workshop handouts
Po workshop handouts
 
Clickminded SOP Library
Clickminded SOP LibraryClickminded SOP Library
Clickminded SOP Library
 
Strong Conclusion Paragraph Examples. 20 Essay Conclusion E
Strong Conclusion Paragraph Examples. 20 Essay Conclusion EStrong Conclusion Paragraph Examples. 20 Essay Conclusion E
Strong Conclusion Paragraph Examples. 20 Essay Conclusion E
 
Story Time - Writing Effective User Stories
Story Time - Writing Effective User StoriesStory Time - Writing Effective User Stories
Story Time - Writing Effective User Stories
 
171846965 projects
171846965 projects171846965 projects
171846965 projects
 
I Want / Need Funding
I Want / Need FundingI Want / Need Funding
I Want / Need Funding
 
Custom Links Buttons In Salesforce Com
Custom Links Buttons In Salesforce ComCustom Links Buttons In Salesforce Com
Custom Links Buttons In Salesforce Com
 
Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...
Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...
Create Custom Entity in CRM to Track Expenses! Okay, well maybe two custom en...
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdf
 
Hyperion step by step guide
Hyperion step by step guideHyperion step by step guide
Hyperion step by step guide
 
Fusion recivables
Fusion recivablesFusion recivables
Fusion recivables
 
Top Tips For Google Analytics - Oct 2016
Top Tips For Google Analytics - Oct 2016Top Tips For Google Analytics - Oct 2016
Top Tips For Google Analytics - Oct 2016
 
HowToStartWebsiteForYourStore
HowToStartWebsiteForYourStoreHowToStartWebsiteForYourStore
HowToStartWebsiteForYourStore
 
Srm issues
Srm issuesSrm issues
Srm issues
 
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
 

Último

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Ten Concrete Techniques to Split User Stories

  • 1. “The S in INVEST”
  • 2.  Confluence page for ThisWeek @:  https://kb.epam.com/pages/viewpage.action?pageId=107875299  Anyone can host a session, just book one in the ThisWeek @ Confluence Calendar  Me: Zarar Siddiqi  Agile Coach with a developer’s itch  http://www.linkedin.com/in/zararsiddiqi  https://github.com/Arsenalist  zarar_siddiqi@epam.com
  • 3. User Story Card Acceptance Criteria Constraints Assumptions Card As a Customer Service Representative I want to view the caller’s account numbers So that I can pull up an account quickly Assumptions • The caller has entered a phone number • The caller is using a touch-tone phone Constraints • Account number retrieval must take less than half a second after caller is connected to CSR • Must display customer name in French and English Acceptance Criteria • Multiple account numbers are displayed in a numbered list • Customers search screen is displayed if no account number is found
  • 4. • No inherent dependency on another user storyIndependent • Until iteration, can always be changed and rewrittenNegotiable • Must deliver “value” to the end-userValuable • Must be able to be sized so that it can be plannedEstimable • Small enough to be planned inside a sprintSmall • Must have a way of knowing when the story is completeTestable
  • 5. As a website user, I want to add an item to the shopping cart, so that I can later buy it As a fantasy football player, I want to draft a player, so that I can add them to the active roster As a Words with Friends user, I want to play a word, so that I can get points for it
  • 6.
  • 7.
  • 8. Basic Idea: Examine the workflow of a process, and create stories for steps in that workflow  Before  As a grocery store cashier, I want to checkout a customer, so that I can complete the sales transaction  After  As a grocery store cashier, I want to…  …calculate the total amount that will be charged to customer  …specify the method of payment preferred by the customer  …enter the credit card details  …print a receipt for the customer Identify and disaggregate the workflow
  • 9. Basic Idea: For complex data or user interfaces, write stories for related elements  Before  As a Student, I want to view my grades for this semester’s courses, so that I can see how I’m performing.  After  As a Student, I want to view  …my numeric grade for this semester’s courses, so that I can quantify my performance.  …my letter grade for this semester’s courses, so that I can calculate my GPA easily  …the class average for this semester’s courses, so that I understand my relative performance. Create stories specific to data elements
  • 10. Basic Idea: If a program must handle processing of multiple items, write a story which deals with zero input, size one input, and multiple input.  Before:  As a website user, I want to delete items from the shopping cart, so that I will not be charged for them  After:  To remove a single item from my shopping cart, as a website user, I click on the ‘X’ icon next to each item in the shopping cart  To remove multiple items from my shopping cart, as a website user, I select the checkbox next to each item to be removed and click the ‘Remove from Cart’ button A story for each case
  • 11. Basic Idea: For complex workflows, create a story to complete the happy path, i.e., the case where everything goes perfectly, and then create stories which deal with the deviations from the happy path (i.e., the exceptions).  Before  As a Dispatcher, I want to view information about a train, so that I can track its movement  After  As a Dispatcher, I want to view information about…  …an on-time train, so that I can track its movement  …a derailed train, so that I can track its movement  …a delayed train, so that I can track its movement  …a cancelled train, so that I can plan alternate routes A story for the “happy path” where little goes wrong, and stories for the rest
  • 12. Basic Idea: Create a story for the difficult part of the work where key learnings will happen; then create stories which complete the work  Before  As a Salesforce user, I want to create revenue, profit, and growth reports, so that I can perform monthly forecasting  After  As a Salesforce user, I want…  …to create a revenue report for February 2013, so that I can view the revenue generated in February 2013  …to create revenue, profit, and growth reports for all months, so that I can perform forecasting for the next month Do the core, then enhance
  • 13. Basic Idea: For work which has an interface (user or system) and a storage component (e.g., database), create stories for the “pass-through” cases where only the interface is invoked, but nothing is stored.Then add other stories which persist information.  Before  As an airline customer, I want to view available flights between two airports, so that I can pick the best option  After  To view available flights, as an airline customer, I want to provide two airport codes  To view available flights, as an airline customer, I want to provide the number of passengers travelling  To view available flights, as an airline customer, I want to view an Available Flights page (structure only, no flights)  To view available flights, as an airline customer, I want to view the Available Flights page populated with real-time flight information Stories that invoke the UI but don’t store data; other stories that store data
  • 14. Basic Idea: For cases where parameters are dynamic (e.g., drop down lists), create a story for the work using static hard-coded parameters.Then create stories which make the parameters dynamic based on content.  Before  As a Rona website user, I want to search for lawn mowers, so that I can find one that is suitable for me  After  As a Rona website user, I want to search for lawn mowers  …over $500 or under $500, so that I can view expensive and cheaper lawn mowers  …in all available price ranges, so that I can find the right price/value one for me Stories that make use of dummy data; other stories that make data dynamic
  • 15. Basic Idea: For work where a program must support multiple options (e.g., USD, CAD), create a story for each type of option.  Before  As a SportingBet.com customer, I want to view the betting odds for UEFA Champions League matches, so that I can place an informed bet  After  As a SportingBet.com customer, I want to view the betting odds for UEFA Champions League matches  …in American format, so that I can see odds relative to $100  …in Fractional format, so that I can calculate relative payout  …in Decimal format, so that I can use multiplication to calculate payout Stories for each option
  • 16. Basic Idea: If the team finds that the acceptance criteria for a story are growing, make each acceptance criteria its own story (or group them to create stories)  Acceptance Criteria using Given/When/Then  Given the /Product/GetStatuses.json endpoint  …when a blank or null order ID is passed, then a Service Exception wrapped in an <error> element is returned  …when a non-existent order ID is passed, then an Order Not Found exception, wrapped in an <error> element is returned  …when a valid order ID is passed, then an empty JSON message containing the word ‘OK‘ is returned  Soft acceptance criteria  A business process diagram showing the workflow for new users is created, reviewed by John, and stored in SharePoint  Written communication has been sent to the Service Management Team notifying them of the upcoming change Split stories based on Acceptance Criteria
  • 17. Basic Idea: For cases where the story cannot be disaggregated due to limited insights about the work, create an investigative story, i.e., a spike, to analyze or research the work, and another to develop it.  Before  As an Amazon.com customer, I want to view products related to the product I am currently viewing that may interest me, so that my shopping experience is enhanced  After  Research the optimal algorithm for displaying related products which considers tandem purchases, similar buyers, price, purchase history, and availability.  As an Amazon.com customer, I want to view products related to the product I am currently viewing that may interest me, so that my shopping experience is enhanced Knowing the unknown,then develop
  • 18.
  • 19.
  • 20.  http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/  http://www.richardlawrence.info/wp-content/uploads/2012/01/Story-Splitting- Flowchart.pdf  http://www.agileforall.com/2009/12/new-to-agile-learn-how-to-split-stories/  http://www.agilelearninglabs.com/2013/05/user-story-splitting-four/  http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features  http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/  http://www.discovertodeliver.com/