SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
“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

Más contenido relacionado

La actualidad más candente

Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patternsFadi Stephan
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
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
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories Arto Eskelinen
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 

La actualidad más candente (20)

Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Vertical slicing patterns
Vertical slicing patternsVertical slicing patterns
Vertical slicing patterns
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
User Stories
User StoriesUser Stories
User Stories
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
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
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
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
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 

Similar a Ten Concrete Techniques to Split User Stories

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
 
INVEST in good user stories
INVEST in good user storiesINVEST in good user stories
INVEST in good user storiesSushant Tarway
 

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

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
 
INVEST in good user stories
INVEST in good user storiesINVEST in good user stories
INVEST in good user stories
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
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...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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/