SlideShare a Scribd company logo
1 of 31
David Michel
25 October 2016
Slicing User Stories
@DavMichel76
Requirements in Scrum?
Product Backlog Item
User story
Granularity
?
Backlog Refinement Process
How to break
down large
user stories
Let’s NOT break things down
in “waterfall” phases…
Implement
Test
Deploy
+ +
http://agileforall.com/resources/how-to-split-a-user-story
Let’s explore some of
the tools & techniques
Slicing by workflow
As customer I want to review
and confirm my order, so I can
correct mistakes before I pay
As customer I want to pay for
my order with paypal, so I don’t
have to look for my credit card
As customer I want to receive a
confirmation e-mail with my
order, so I have proof of my
purchase
Slicing by operation
As shop owner I want to add
new products, so customers can
purchase them
As shop owner I want to update
existing products, so I can
adjust for changes in pricing or
product information
As shop owner I want to delete
products, so I can remove
products that I no longer stock
As site owner I want to be able
to request a new password when
my login fails, so that I can try
to log in again
Slicing by unhappy
As site owner I want to block
users with 3 failed log in
attempts in a row, so I can
protect the site against
hackers
As user I want to log in with my
account, so that I can access
secure pages
Slicing by “0>1>many”
As a chef, I want to view a
customer’s order with no items
so I can proceed with the
cooking
As a chef, I want to view a
customer’s order with one item
so I can proceed with the
cooking As a chef, I want to view a
customer’s order with multiple
items so I can proceed with the
cooking
There are many, many
more techniques…
• Splitting User Stories Presentation http://www.slideshare.net/arsenalist/splitting-userstories
• Splitting User Stories Cheat sheet https://twitter.com/chrisverwijs/status/335109871802384385
• Breaking Down Larger Stories http://agileinaflash.blogspot.co.uk/2009/02/breaking-down-larger-stories.html
• User Story Hamburger technique https://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/
• Features to User Stories http://idiacomputing.com/pub/UserStories.pdf
• Patterns for spitting user stories http://agileforall.com/patterns-for-splitting-user-stories/
• Twenty Ways to Split Stories http://xp123.com/articles/twenty-ways-to-split-stories/
This was easy, right?
Where the magic
happens
Your comfort
zone
Thin vertical slices
Not horizontally
Database
Web server
GUI
+ +
Thin vertical slices
Thin vertical slices
Thinning
Not
splitting
Simple to complex
Slicing by fidelity
http://availagility.co.uk/2009/12/22/fidelity-the-lost-dimension-of-the-iron-triangle/
Iterative vs Incremental
As a gardener,
I want to use a
So that I can
plant this
or
or
or
As a I want to So that .
Expected
outcome
Action
Persona
How do we know this is the
best action to take? Maybe
there’s a better way.
Too many assumptions
http://alanklement.blogspot.co.uk/2013/09/replacing-user-story-with-job-story.html
• Impossible to define any kind of acceptance criteria
• Rarely expressed in a way that would make them appear valuable from
the perspective of the stakeholders
Slicing by “learn vs. earn”
Spikes
https://leanpub.com/50quickideas
Instead of slicing technical
deliverables and then looking
for useful chunks of value…
Slicing by value
…Try to start from the opposite direction:
slice value and look for useful technical chunks
https://leanpub.com/50quickideas
Slicing by “0>1>many”
As a chef, I want to view a
customer’s order with no items
so I can proceed with the
cooking
As a chef, I want to view a
customer’s order with one item
so I can proceed with the
cooking As a chef, I want to view a
customer’s order with multiple
items so I can proceed with the
cooking
This break down seems
particularly artificial. The
technical breakdown makes
sense to developers but doesn’t
bring value to the user!
Instead of slicing technical
deliverables and then looking
for useful chunks of value…
Slicing by value
…Try to start from the opposite direction:
slice value and look for useful technical chunks
https://leanpub.com/50quickideas
Backlog Refinement Process
Danger of breaking down things we already know
a lot about… leaving the large, not yet understood
items and at the bottom of the backlog
Danger of breaking down things we already know
a lot about… leaving the large, not yet understood
items and at the bottom of the backlog
Spike
to learn
Earn by 1st delivering
low-fidelity solution
Then iterate towards
more refined
How do you slice your stories?

More Related Content

What's hot

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
 
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 ProcessStephen Tucker
 
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
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
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 StoriesNight Wolf
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation Elad Sofer
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesVikash Karuna
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 

What's hot (20)

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 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
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
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 Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
User Stories
User StoriesUser Stories
User Stories
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization Techniques
 
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
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 

Viewers also liked

How to build a Product Backlog with User Stories. The example of Twitter
How to build a Product Backlog with User Stories. The example of TwitterHow to build a Product Backlog with User Stories. The example of Twitter
How to build a Product Backlog with User Stories. The example of Twitterbart vermijlen
 
User Stories Technique and Slicing Patterns
User Stories Technique and Slicing PatternsUser Stories Technique and Slicing Patterns
User Stories Technique and Slicing PatternsDamian Buonamico
 
How Thin is Thin? Effective User Story Slicing
How Thin is Thin? Effective User Story SlicingHow Thin is Thin? Effective User Story Slicing
How Thin is Thin? Effective User Story SlicingDave Rooney
 
How to Reboot your Agile Team - Ottawa 2016
How to Reboot your Agile Team - Ottawa 2016How to Reboot your Agile Team - Ottawa 2016
How to Reboot your Agile Team - Ottawa 2016Maurizio Mancini
 
Agile teams.collaboration.charter
Agile teams.collaboration.charterAgile teams.collaboration.charter
Agile teams.collaboration.charterJohanna Rothman
 
Developing User stories - Beyond the Basics
Developing User stories - Beyond the BasicsDeveloping User stories - Beyond the Basics
Developing User stories - Beyond the BasicsKubair Shirazee
 
Agile Acceptance Criteria How To
Agile Acceptance Criteria How ToAgile Acceptance Criteria How To
Agile Acceptance Criteria How ToPayton Consulting
 
User Stories for your Product Backlog
User Stories for your Product BacklogUser Stories for your Product Backlog
User Stories for your Product Backlogrwirdemann
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesCarlo Kruger
 
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
 
Making Your User Stories "Ready" to Get to "Done"
Making Your User Stories "Ready" to Get to "Done" Making Your User Stories "Ready" to Get to "Done"
Making Your User Stories "Ready" to Get to "Done" EBG Consulting, Inc.
 
Liftoff - how to launch Agile teams and projects
Liftoff - how to launch Agile teams and projectsLiftoff - how to launch Agile teams and projects
Liftoff - how to launch Agile teams and projectsFabio Armani
 
Agile Team Working Agreements
Agile Team Working AgreementsAgile Team Working Agreements
Agile Team Working AgreementsPayton Consulting
 

Viewers also liked (14)

How to build a Product Backlog with User Stories. The example of Twitter
How to build a Product Backlog with User Stories. The example of TwitterHow to build a Product Backlog with User Stories. The example of Twitter
How to build a Product Backlog with User Stories. The example of Twitter
 
User Stories Technique and Slicing Patterns
User Stories Technique and Slicing PatternsUser Stories Technique and Slicing Patterns
User Stories Technique and Slicing Patterns
 
How Thin is Thin? Effective User Story Slicing
How Thin is Thin? Effective User Story SlicingHow Thin is Thin? Effective User Story Slicing
How Thin is Thin? Effective User Story Slicing
 
How to Reboot your Agile Team - Ottawa 2016
How to Reboot your Agile Team - Ottawa 2016How to Reboot your Agile Team - Ottawa 2016
How to Reboot your Agile Team - Ottawa 2016
 
Agile teams.collaboration.charter
Agile teams.collaboration.charterAgile teams.collaboration.charter
Agile teams.collaboration.charter
 
Developing User stories - Beyond the Basics
Developing User stories - Beyond the BasicsDeveloping User stories - Beyond the Basics
Developing User stories - Beyond the Basics
 
Agile Acceptance Criteria How To
Agile Acceptance Criteria How ToAgile Acceptance Criteria How To
Agile Acceptance Criteria How To
 
User Stories for your Product Backlog
User Stories for your Product BacklogUser Stories for your Product Backlog
User Stories for your Product Backlog
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective 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
 
Making Your User Stories "Ready" to Get to "Done"
Making Your User Stories "Ready" to Get to "Done" Making Your User Stories "Ready" to Get to "Done"
Making Your User Stories "Ready" to Get to "Done"
 
Liftoff - how to launch Agile teams and projects
Liftoff - how to launch Agile teams and projectsLiftoff - how to launch Agile teams and projects
Liftoff - how to launch Agile teams and projects
 
Agile Team Working Agreements
Agile Team Working AgreementsAgile Team Working Agreements
Agile Team Working Agreements
 

Similar to Slicing user stories

Enhancing the User Experience
Enhancing the User ExperienceEnhancing the User Experience
Enhancing the User ExperienceMuhammad Sajid
 
26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum teamagilebin
 
Priortization Technique.pptx
Priortization Technique.pptxPriortization Technique.pptx
Priortization Technique.pptxMohit Budhiraja
 
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptxHow to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptxAlanJamisonMBASPC
 
Online shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxOnline shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxshubhanshusahu71
 
Practical Scrum course day 2
Practical Scrum course day 2Practical Scrum course day 2
Practical Scrum course day 2Ilan Kirschenbaum
 
Website optimization for SaaS conversions - muHive
Website optimization for SaaS conversions - muHiveWebsite optimization for SaaS conversions - muHive
Website optimization for SaaS conversions - muHivemuHive Technologies
 
Bootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeBootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeJoel Gascoigne
 
Customer Development Fast Protyping
Customer Development Fast ProtypingCustomer Development Fast Protyping
Customer Development Fast ProtypingSerdar Temiz
 
Modeling Requirements Using Examples
Modeling Requirements Using ExamplesModeling Requirements Using Examples
Modeling Requirements Using ExamplesExcella
 
Improve your website with google website optimizer
Improve your website with google website optimizerImprove your website with google website optimizer
Improve your website with google website optimizerNick Eubanks
 
E-commerce Checkout Design: Principles, Guidelines & Case Studies
E-commerce Checkout Design: Principles, Guidelines & Case StudiesE-commerce Checkout Design: Principles, Guidelines & Case Studies
E-commerce Checkout Design: Principles, Guidelines & Case Studiesuxviet
 
World-Class Onboarding & Validating Hypotheses w/ Intercom & Zalando
World-Class Onboarding & Validating Hypotheses w/ Intercom & ZalandoWorld-Class Onboarding & Validating Hypotheses w/ Intercom & Zalando
World-Class Onboarding & Validating Hypotheses w/ Intercom & ZalandoProduct School
 
Crawling ecommerce sites – Maria Camanes' top tips from Tea-time SEO
Crawling ecommerce sites – Maria Camanes' top tips from Tea-time SEOCrawling ecommerce sites – Maria Camanes' top tips from Tea-time SEO
Crawling ecommerce sites – Maria Camanes' top tips from Tea-time SEOBuiltvisible
 
Dive into sprint planning last
Dive into sprint planning   lastDive into sprint planning   last
Dive into sprint planning lastPriyanka Nomula
 
Fast prototypes and customer development for start ups
Fast prototypes and customer development for start upsFast prototypes and customer development for start ups
Fast prototypes and customer development for start upsSerdar Temiz
 

Similar to Slicing user stories (20)

Enhancing the User Experience
Enhancing the User ExperienceEnhancing the User Experience
Enhancing the User Experience
 
26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team
 
Priortization Technique.pptx
Priortization Technique.pptxPriortization Technique.pptx
Priortization Technique.pptx
 
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptxHow to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx
 
Brand Kindle
Brand KindleBrand Kindle
Brand Kindle
 
Online shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxOnline shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptx
 
Practical Scrum course day 2
Practical Scrum course day 2Practical Scrum course day 2
Practical Scrum course day 2
 
Website optimization for SaaS conversions - muHive
Website optimization for SaaS conversions - muHiveWebsite optimization for SaaS conversions - muHive
Website optimization for SaaS conversions - muHive
 
Bootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeBootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting time
 
Customer Development Fast Protyping
Customer Development Fast ProtypingCustomer Development Fast Protyping
Customer Development Fast Protyping
 
power
powerpower
power
 
E shop App
E shop AppE shop App
E shop App
 
Modeling Requirements Using Examples
Modeling Requirements Using ExamplesModeling Requirements Using Examples
Modeling Requirements Using Examples
 
Get lean tutorial
Get lean tutorialGet lean tutorial
Get lean tutorial
 
Improve your website with google website optimizer
Improve your website with google website optimizerImprove your website with google website optimizer
Improve your website with google website optimizer
 
E-commerce Checkout Design: Principles, Guidelines & Case Studies
E-commerce Checkout Design: Principles, Guidelines & Case StudiesE-commerce Checkout Design: Principles, Guidelines & Case Studies
E-commerce Checkout Design: Principles, Guidelines & Case Studies
 
World-Class Onboarding & Validating Hypotheses w/ Intercom & Zalando
World-Class Onboarding & Validating Hypotheses w/ Intercom & ZalandoWorld-Class Onboarding & Validating Hypotheses w/ Intercom & Zalando
World-Class Onboarding & Validating Hypotheses w/ Intercom & Zalando
 
Crawling ecommerce sites – Maria Camanes' top tips from Tea-time SEO
Crawling ecommerce sites – Maria Camanes' top tips from Tea-time SEOCrawling ecommerce sites – Maria Camanes' top tips from Tea-time SEO
Crawling ecommerce sites – Maria Camanes' top tips from Tea-time SEO
 
Dive into sprint planning last
Dive into sprint planning   lastDive into sprint planning   last
Dive into sprint planning last
 
Fast prototypes and customer development for start ups
Fast prototypes and customer development for start upsFast prototypes and customer development for start ups
Fast prototypes and customer development for start ups
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Slicing user stories

  • 1. David Michel 25 October 2016 Slicing User Stories @DavMichel76
  • 2. Requirements in Scrum? Product Backlog Item User story
  • 5. How to break down large user stories
  • 6. Let’s NOT break things down in “waterfall” phases… Implement Test Deploy + +
  • 8. Let’s explore some of the tools & techniques
  • 9. Slicing by workflow As customer I want to review and confirm my order, so I can correct mistakes before I pay As customer I want to pay for my order with paypal, so I don’t have to look for my credit card As customer I want to receive a confirmation e-mail with my order, so I have proof of my purchase
  • 10. Slicing by operation As shop owner I want to add new products, so customers can purchase them As shop owner I want to update existing products, so I can adjust for changes in pricing or product information As shop owner I want to delete products, so I can remove products that I no longer stock
  • 11. As site owner I want to be able to request a new password when my login fails, so that I can try to log in again Slicing by unhappy As site owner I want to block users with 3 failed log in attempts in a row, so I can protect the site against hackers As user I want to log in with my account, so that I can access secure pages
  • 12. Slicing by “0>1>many” As a chef, I want to view a customer’s order with no items so I can proceed with the cooking As a chef, I want to view a customer’s order with one item so I can proceed with the cooking As a chef, I want to view a customer’s order with multiple items so I can proceed with the cooking
  • 13. There are many, many more techniques… • Splitting User Stories Presentation http://www.slideshare.net/arsenalist/splitting-userstories • Splitting User Stories Cheat sheet https://twitter.com/chrisverwijs/status/335109871802384385 • Breaking Down Larger Stories http://agileinaflash.blogspot.co.uk/2009/02/breaking-down-larger-stories.html • User Story Hamburger technique https://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ • Features to User Stories http://idiacomputing.com/pub/UserStories.pdf • Patterns for spitting user stories http://agileforall.com/patterns-for-splitting-user-stories/ • Twenty Ways to Split Stories http://xp123.com/articles/twenty-ways-to-split-stories/
  • 14. This was easy, right?
  • 21. Simple to complex Slicing by fidelity http://availagility.co.uk/2009/12/22/fidelity-the-lost-dimension-of-the-iron-triangle/
  • 23. As a gardener, I want to use a So that I can plant this or or or
  • 24. As a I want to So that . Expected outcome Action Persona How do we know this is the best action to take? Maybe there’s a better way. Too many assumptions http://alanklement.blogspot.co.uk/2013/09/replacing-user-story-with-job-story.html
  • 25. • Impossible to define any kind of acceptance criteria • Rarely expressed in a way that would make them appear valuable from the perspective of the stakeholders Slicing by “learn vs. earn” Spikes https://leanpub.com/50quickideas
  • 26. Instead of slicing technical deliverables and then looking for useful chunks of value… Slicing by value …Try to start from the opposite direction: slice value and look for useful technical chunks https://leanpub.com/50quickideas
  • 27. Slicing by “0>1>many” As a chef, I want to view a customer’s order with no items so I can proceed with the cooking As a chef, I want to view a customer’s order with one item so I can proceed with the cooking As a chef, I want to view a customer’s order with multiple items so I can proceed with the cooking This break down seems particularly artificial. The technical breakdown makes sense to developers but doesn’t bring value to the user!
  • 28. Instead of slicing technical deliverables and then looking for useful chunks of value… Slicing by value …Try to start from the opposite direction: slice value and look for useful technical chunks https://leanpub.com/50quickideas
  • 29. Backlog Refinement Process Danger of breaking down things we already know a lot about… leaving the large, not yet understood items and at the bottom of the backlog
  • 30. Danger of breaking down things we already know a lot about… leaving the large, not yet understood items and at the bottom of the backlog Spike to learn Earn by 1st delivering low-fidelity solution Then iterate towards more refined
  • 31. How do you slice your stories?

Editor's Notes

  1. Take Scrum, you have a product backlog that contains so-called “product backlog items”… and if you look at the official Scrum guide, that term is the only thing you’ll learn about it. The framework doesn’t actually tell you anything how what that should look like, or how to come up with them, their granularity, etc. It’s up to you! What most Agile practitioners do is borrow the concept of user stories from XP (Extreme Programming), first introduced by Kent Beck, and later popularised by Mike Cohn
  2. So the question is: what’s the right granularity/size ?
  3. Often, there is a refinement process (used to be called grooming) that teams go through so you break down large stories (epics) into smaller ones… which helps with prioritising the sprints.
  4. And of course comes the question of how does one break large stories…
  5. Let’s not break things down in “waterfall” phases… This one is obvious, so I’m not going to dwell on it.
  6. Split by workflow By breaking up a large user story like this, we have improved our understanding of the functionality and our ability to estimate. It will also be easier for a product owner to make decisions about priority. Some workflow steps may not be important right now and can be moved to future sprints. Perhaps the order confirmation mail can be done by hand for the time being, customers can only pay with credit card for now, or customers are temporarily required to enter their personal information for every order. This will certainly limit the functionality of the online shop, but it does allow a Scrum Team to review the completed functionality at the end of the sprint, test it (perhaps by going live) and use the feedback to make necessary changes
  7. Split by operation e.g. CRUD When presented with this strategy, many teams wonder if the smaller items actually deliver business value. After all, what's the point of only creating entities, when you cannot update or delete them afterwards? But perhaps the product owner has such a limited number of products, that editing or deleting can be done through a database manager directly. Sometimes, an operation can be easily implemented in a simplified form. Deleting a product can be done in two ways; you can completely drop the record and all associated records, or you can 'soft delete' a product. In that case, the product is still in the database, but it is marked as 'deleted'. Sometimes one of these approaches is easier to implement, and can be 'good enough' for now.
  8. Functionality often involves a happy flow and one or more unhappy flows. The happy flow describes how functionality behaves when everything goes well. If there a deviations, exceptions or other problems, unhappy flows are invoked. Take this user story for logging in to a secure website: Unhappy flows describe exceptions. By identifying the various flows, we more clearly understand the required functionality. A product owner can also more easily decide what is important right now. Perhaps blocking users after three failures is not important because there are only a handful of users in the first version. Or perhaps a reset of passwords can be done by sending an e-mail to a support employee for the time being. Again, by splitting up functionality we can more accurately ask questions about the business value, and make decisions accordingly.
  9. Split by 0, 1, many Useful for splitting stories that deal with multiple instances of something into stories that deal with no instance, then one instance, then many instances. Handle the empty scenario first.
  10. Thin vertical slicing is a term that is often coined in the Agile community and represents the preferred way to slice work. It means considering small bits of functionality and consider, as part of the task at hand, all the architectural layers of the application. That’s the only way to deliver something that is actually useful to the user. E.g. if you haven’t done the database bit, it’s not complete.
  11. So you don’t want to slice horizontally, that is to say, per architectural layers.
  12. This is what this would look like… You don’t want to do that because, when the user story is completed, well… it’s not useful to the user. Think about the term “user story”. Can the user accomplish the story he has in mind when one of this card is complete…. No! How can a product owner prioritize a backlog if it consists of horizontal slices? Because none of the items deliver business value in themselves, a product owner will be unable to prioritize the work. There is also a good chance that the slices will be fairly technical, which makes it even harder and creates distance and misunderstanding between the product owner and the team;
  13. So, in fact, contrary to my title… we don’t really want to split user stories, we want to be making them thinner and thinner.
  14. One my favourite ways to doing this is this: Fidelity slicing… Means going from simple to complex. Low fidelity does not mean low quality though… you can have low-fidelity solution that is high quality…. We don’t want to go low quality, ever.
  15. When you slice by fidelity and thus iterate, suddenly, you have options, potentially lots of them… which can be more or less complex as well as very simple.
  16. Explore options to change the “I want to” part of the user story, keeping the goal in mind
  17. http://www.lagerweij.com/2013/04/12/spikes-theyre-sharp/
  18. Split by value… a nice segway to your talk?
  19. Remember this slide? The value part here doesn’t quite make sense, does it? Why would a chef want to start cooking an empty order? This is what can happen when we slice by technical chunks… it can be quite hard to find value out of them…
  20. Split by value… a nice segway to your talk?
  21. Caution about refinement process that focuses on breaking down things we know a lot about and leaving the stuff we don’t much about at the bottom of the backlog because they are large. This leaves the unknown to be dealt later… this is a rather risky strategy. They should be dealt with as soon as possible (spikes!.... I don’t seen many teams doing enough spikes… if you don’t spikes at all, that means you know everything, and if you know everything, than why are you doing Agile… I don’t want to use agile just to cope with the possibility of a change… I want to use it as a learning opportunity, to learn about what the end-users really need)