SlideShare a Scribd company logo
1 of 30
User Story Slicing
exercise
Paulo Clavijo Esteban (@pclavijo)
v2.0 - September 2020
Cork Software Crafters, Ireland
Software Engineer at Dell-EMC
Founder Cork Software Crafters
Cork Software Crafters
Paulo Clavijo Esteban @pclavijo
paucls.wordpress.com
github.com/paucls
twitter.com/pclavijo
About me
Features, Stories, Tasks?
Agile work item types
VSTS agile work item types explained, Keith Williams Paulo Clavijo (@pclavijo)
INVEST
INVEST is a simple guide to write meaningful user stories introduced by Bill Wake:
● Independent, demo-able, potentially release-able
● Negotiable
● Valuable
● Estimable
● Small
● Testable
Paulo Clavijo (@pclavijo)
Story
Story = vertical, testable, user-valuable. Cuts across multiple architectural layers.
UI
API
BE
...
Story
Users
Paulo Clavijo (@pclavijo)
Story
example of a vertical User Story:
Acceptance Criteria are conditions of satisfaction. This story is "done" when the detailed
functionalities are completed.
- Verify that I can log into the system
- Verify that the date of my last login will be remembered
- Verify that I cannot navigate back to the landing page without first logging in
- ...
As a ATM end user
I must be able to log into my account
using card and PIN
In order to perform transactions
Paulo Clavijo (@pclavijo)
Story slicing
Story slicing = making thinner stories (but still vertical)
Minutes Hours Days Weeks Months
small big
Paulo Clavijo (@pclavijo)
Why thinner stories?
Why thinner stories?
● Learn faster.
● Less risk (less time “underwater”).
● Deliver value more often.
● Happier users, stakeholders.
● More in-sync with other people & teams.
● Better product earlier.
● Better prioritizations.
● More business options.
● Sense of velocity.
● Easier planning.
● ...
Paulo Clavijo (@pclavijo)
Paulo Clavijo (@pclavijo)
Why thinner stories?
How to slice a user story?
Patterns for slicing stories
● Happy vs. Unhappy Path (e.g. enter credit card info, credit card is expired)
● Business Rule Variations
● Major Effort (e.g. add to shopping cart, add to wishlist, etc.)
● Simple/Complex (e.g. ship to single address)
● Operations (e.g. CRUD)
● Variations in Data
● Variations in Interfaces (e.g. mobile, tablet, PC)
● Defer System Qualities (e.g. performance, logging, etc.)
● Workflow Steps (e.g. steps to checkout at an online store)
● Break Out a Spike
● ... Paulo Clavijo (@pclavijo)
Patterns for slicing stories
Patterns for Splitting User Stories, Richard Lawrence
Practice time
Patterns for slicing stories
As a content manager, I can create
new stories.
… Spanish.
… in German.
… in English.
… etc.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
Variations in Data
As a content manager, I can create
new stories.
… Spanish.
… in German.
… in English.
… etc.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
As a user , I can search for flights
between two destinations.
… using simple data input.
… with a fancy calendar UI.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
Variations in Interfaces
As a user , I can search for flights
between two destinations.
… using simple data input.
… with a fancy calendar UI.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
As a user , I can search for flights
between two destinations.
... (slow - just get it done, show a
"searching" animation).
… (in under 5 seconds).
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
Defer System Qualities (performance)
As a user , I can search for flights
between two destinations.
... (slow - just get it done, show a
"searching" animation).
… (in under 5 seconds).
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
As a user , I can search for flights
between two destinations.
… using flexible dates.
… including nearby airports.
… specifying a max number of stops.
… etc.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
Simple/Complex
As a user , I can search for flights
between two destinations.
… using flexible dates.
… including nearby airports.
… specifying a max number of stops.
… etc.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
As a user, I can manage my account. … I can edit my account settings.
… I can cancel my account.
… I can sign up for an account.
Paulo Clavijo (@pclavijo)
Patterns for slicing stories
Operations (e.g. CRUD)
As a user, I can manage my account. … I can edit my account settings.
… I can cancel my account.
… I can sign up for an account.
Paulo Clavijo (@pclavijo)
Practice time
Order price calculator
● The product is is a point of sale application with user interface, three inputs and one output.
● Accept three inputs from the user:
○ How many items
○ Price per item
○ 2-letter state code
● Output the total price of the order. Give a discount based on the total price, then add state tax based on the
state code and discounted price.
Paulo Clavijo (@pclavijo)
Order value Discount rate
$1,000 3%
$5,000 5%
$7,000 7%
$10,000 10%
$50,000 15%
State Tax rate
UT 6.85%
NV 8.00%
TX 6.25%
AL 4.00%
CA 8.25%
References
- Elephant Carpaccio exercise by Alistair Cockburn.
- User Stories, Mike Cohn
- Vertical Slice, Wikipedia
- New Story Splitting Resource, Richard Lawrence.
- User Stories: Making the Vertical Slice, Kimberly Poremski.
- 10 powerful strategies for breaking down Product Backlog Items, Christiaan Verwijs
- VSTS agile work item types explained, Keith Williams
Paulo Clavijo (@pclavijo)
● What went well?
● What problems did you encounter?
● What have you learned?
● What surprised you?
Paulo Clavijo (@pclavijo)
Retrospective
User story slicing exercise

More Related Content

What's hot

8 stances of a Product Owner
8 stances of a Product Owner8 stances of a Product Owner
8 stances of a Product OwnerGuilherme Santos
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User StoriesCraig Brown
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
Kanban in Action Workshop
Kanban in Action WorkshopKanban in Action Workshop
Kanban in Action WorkshopMark Grove
 
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 and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story DecompositionDave Neuman
 
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
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
Story writing and mapping.pdf
Story writing and mapping.pdfStory writing and mapping.pdf
Story writing and mapping.pdfDevJam
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to ScrumPavel Dabrytski
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
Workshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpainWorkshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpainBen Sykes
 

What's hot (20)

8 stances of a Product Owner
8 stances of a Product Owner8 stances of a Product Owner
8 stances of a Product Owner
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
User Stories
User StoriesUser Stories
User Stories
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
Kanban in Action Workshop
Kanban in Action WorkshopKanban in Action Workshop
Kanban in Action Workshop
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User Stories
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
 
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
 
Agile coach - roadmap and user story map
Agile coach - roadmap and user story map Agile coach - roadmap and user story map
Agile coach - roadmap and user story map
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Story writing and mapping.pdf
Story writing and mapping.pdfStory writing and mapping.pdf
Story writing and mapping.pdf
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to Scrum
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User Stories
User StoriesUser Stories
User Stories
 
Workshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpainWorkshop : Innovation Games at NSSpain
Workshop : Innovation Games at NSSpain
 

Similar to User story slicing exercise

Tuga it 2017 - Event processing with Apache Storm
Tuga it 2017 - Event processing with Apache StormTuga it 2017 - Event processing with Apache Storm
Tuga it 2017 - Event processing with Apache StormNuno Caneco
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...ITCamp
 
Machine learning advanced applications
Machine learning advanced applicationsMachine learning advanced applications
Machine learning advanced applicationsKaniska Mandal
 
Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...
Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...
Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...HostedbyConfluent
 
Streaming analytics state of the art
Streaming analytics state of the artStreaming analytics state of the art
Streaming analytics state of the artStavros Kontopoulos
 
Ways to split user stories
Ways to split user storiesWays to split user stories
Ways to split user storiesNikos Raptis
 
SiestaTime - Defcon27 Red Team Village
SiestaTime - Defcon27 Red Team VillageSiestaTime - Defcon27 Red Team Village
SiestaTime - Defcon27 Red Team VillageAlvaro Folgado Rueda
 
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...HostedbyConfluent
 
Why you should be using structured logs
Why you should be using structured logsWhy you should be using structured logs
Why you should be using structured logsStefan Krawczyk
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...apidays
 
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...WSO2
 
Internship presentation.pptx
Internship presentation.pptxInternship presentation.pptx
Internship presentation.pptxjuveriyasidd35
 
Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxAdam Englander
 
Designing salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh DennisDesigning salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh DennisSakthivel Madesh
 
Code instrumentation
Code instrumentationCode instrumentation
Code instrumentationMennan Tekbir
 

Similar to User story slicing exercise (20)

Tuga it 2017 - Event processing with Apache Storm
Tuga it 2017 - Event processing with Apache StormTuga it 2017 - Event processing with Apache Storm
Tuga it 2017 - Event processing with Apache Storm
 
PRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdf
 
Vertical User Stories
Vertical User StoriesVertical User Stories
Vertical User Stories
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Machine learning advanced applications
Machine learning advanced applicationsMachine learning advanced applications
Machine learning advanced applications
 
Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...
Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...
Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red...
 
Streaming analytics state of the art
Streaming analytics state of the artStreaming analytics state of the art
Streaming analytics state of the art
 
Ways to split user stories
Ways to split user storiesWays to split user stories
Ways to split user stories
 
SiestaTime - Defcon27 Red Team Village
SiestaTime - Defcon27 Red Team VillageSiestaTime - Defcon27 Red Team Village
SiestaTime - Defcon27 Red Team Village
 
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
 
Pruexx User's guide for beta testing
Pruexx User's guide for beta testingPruexx User's guide for beta testing
Pruexx User's guide for beta testing
 
Why you should be using structured logs
Why you should be using structured logsWhy you should be using structured logs
Why you should be using structured logs
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
 
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
 
Internship presentation.pptx
Internship presentation.pptxInternship presentation.pptx
Internship presentation.pptx
 
Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptx
 
Designing salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh DennisDesigning salesforce solutions for reuse - Josh Dennis
Designing salesforce solutions for reuse - Josh Dennis
 
Code instrumentation
Code instrumentationCode instrumentation
Code instrumentation
 

More from Paulo Clavijo

Consumer-Driven Contract Testing - Workshop - January 2021
Consumer-Driven Contract Testing - Workshop - January 2021Consumer-Driven Contract Testing - Workshop - January 2021
Consumer-Driven Contract Testing - Workshop - January 2021Paulo Clavijo
 
CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020
CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020
CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020Paulo Clavijo
 
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019Paulo Clavijo
 
Legacy Code and Refactoring Workshop - Session 1 - October 2019
Legacy Code and Refactoring Workshop - Session 1 - October 2019Legacy Code and Refactoring Workshop - Session 1 - October 2019
Legacy Code and Refactoring Workshop - Session 1 - October 2019Paulo Clavijo
 
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019Paulo Clavijo
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018Paulo Clavijo
 
Outside-in TDD with Test Doubles
Outside-in TDD with Test DoublesOutside-in TDD with Test Doubles
Outside-in TDD with Test DoublesPaulo Clavijo
 
DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018
DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018
DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018Paulo Clavijo
 
Consumer-Driven Contract Testing
Consumer-Driven Contract TestingConsumer-Driven Contract Testing
Consumer-Driven Contract TestingPaulo Clavijo
 
ATDD - Desarrollo Dirigido por Test de Aceptación
ATDD - Desarrollo Dirigido por Test de AceptaciónATDD - Desarrollo Dirigido por Test de Aceptación
ATDD - Desarrollo Dirigido por Test de AceptaciónPaulo Clavijo
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Paulo Clavijo
 
Gestión de Cambios de BBDD con LiquiBase
Gestión de Cambios de BBDD con LiquiBaseGestión de Cambios de BBDD con LiquiBase
Gestión de Cambios de BBDD con LiquiBasePaulo Clavijo
 
Introducción a Spring Roo
Introducción a Spring RooIntroducción a Spring Roo
Introducción a Spring RooPaulo Clavijo
 

More from Paulo Clavijo (15)

Consumer-Driven Contract Testing - Workshop - January 2021
Consumer-Driven Contract Testing - Workshop - January 2021Consumer-Driven Contract Testing - Workshop - January 2021
Consumer-Driven Contract Testing - Workshop - January 2021
 
CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020
CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020
CI/CD non-breaking changes exercise - Cork Software Crafters - February 2020
 
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019
 
Legacy Code and Refactoring Workshop - Session 1 - October 2019
Legacy Code and Refactoring Workshop - Session 1 - October 2019Legacy Code and Refactoring Workshop - Session 1 - October 2019
Legacy Code and Refactoring Workshop - Session 1 - October 2019
 
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
Approval Testing & Mutation Testing - Cork Software Crafters - June 2019
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018
 
Outside-in TDD with Test Doubles
Outside-in TDD with Test DoublesOutside-in TDD with Test Doubles
Outside-in TDD with Test Doubles
 
Angular and Redux
Angular and ReduxAngular and Redux
Angular and Redux
 
DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018
DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018
DDD Strategic Design - Context Maps - Paulo Clavijo - April 2018
 
Consumer-Driven Contract Testing
Consumer-Driven Contract TestingConsumer-Driven Contract Testing
Consumer-Driven Contract Testing
 
ATDD - Desarrollo Dirigido por Test de Aceptación
ATDD - Desarrollo Dirigido por Test de AceptaciónATDD - Desarrollo Dirigido por Test de Aceptación
ATDD - Desarrollo Dirigido por Test de Aceptación
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4
 
Gestión de Cambios de BBDD con LiquiBase
Gestión de Cambios de BBDD con LiquiBaseGestión de Cambios de BBDD con LiquiBase
Gestión de Cambios de BBDD con LiquiBase
 
Introducción a Spring Roo
Introducción a Spring RooIntroducción a Spring Roo
Introducción a Spring Roo
 

Recently uploaded

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 

User story slicing exercise

  • 1. User Story Slicing exercise Paulo Clavijo Esteban (@pclavijo) v2.0 - September 2020 Cork Software Crafters, Ireland
  • 2. Software Engineer at Dell-EMC Founder Cork Software Crafters Cork Software Crafters Paulo Clavijo Esteban @pclavijo paucls.wordpress.com github.com/paucls twitter.com/pclavijo About me
  • 4. Agile work item types VSTS agile work item types explained, Keith Williams Paulo Clavijo (@pclavijo)
  • 5. INVEST INVEST is a simple guide to write meaningful user stories introduced by Bill Wake: ● Independent, demo-able, potentially release-able ● Negotiable ● Valuable ● Estimable ● Small ● Testable Paulo Clavijo (@pclavijo)
  • 6. Story Story = vertical, testable, user-valuable. Cuts across multiple architectural layers. UI API BE ... Story Users Paulo Clavijo (@pclavijo)
  • 7. Story example of a vertical User Story: Acceptance Criteria are conditions of satisfaction. This story is "done" when the detailed functionalities are completed. - Verify that I can log into the system - Verify that the date of my last login will be remembered - Verify that I cannot navigate back to the landing page without first logging in - ... As a ATM end user I must be able to log into my account using card and PIN In order to perform transactions Paulo Clavijo (@pclavijo)
  • 8. Story slicing Story slicing = making thinner stories (but still vertical) Minutes Hours Days Weeks Months small big Paulo Clavijo (@pclavijo)
  • 10. Why thinner stories? ● Learn faster. ● Less risk (less time “underwater”). ● Deliver value more often. ● Happier users, stakeholders. ● More in-sync with other people & teams. ● Better product earlier. ● Better prioritizations. ● More business options. ● Sense of velocity. ● Easier planning. ● ... Paulo Clavijo (@pclavijo)
  • 11. Paulo Clavijo (@pclavijo) Why thinner stories?
  • 12. How to slice a user story?
  • 13. Patterns for slicing stories ● Happy vs. Unhappy Path (e.g. enter credit card info, credit card is expired) ● Business Rule Variations ● Major Effort (e.g. add to shopping cart, add to wishlist, etc.) ● Simple/Complex (e.g. ship to single address) ● Operations (e.g. CRUD) ● Variations in Data ● Variations in Interfaces (e.g. mobile, tablet, PC) ● Defer System Qualities (e.g. performance, logging, etc.) ● Workflow Steps (e.g. steps to checkout at an online store) ● Break Out a Spike ● ... Paulo Clavijo (@pclavijo)
  • 14. Patterns for slicing stories Patterns for Splitting User Stories, Richard Lawrence
  • 16. Patterns for slicing stories As a content manager, I can create new stories. … Spanish. … in German. … in English. … etc. Paulo Clavijo (@pclavijo)
  • 17. Patterns for slicing stories Variations in Data As a content manager, I can create new stories. … Spanish. … in German. … in English. … etc. Paulo Clavijo (@pclavijo)
  • 18. Patterns for slicing stories As a user , I can search for flights between two destinations. … using simple data input. … with a fancy calendar UI. Paulo Clavijo (@pclavijo)
  • 19. Patterns for slicing stories Variations in Interfaces As a user , I can search for flights between two destinations. … using simple data input. … with a fancy calendar UI. Paulo Clavijo (@pclavijo)
  • 20. Patterns for slicing stories As a user , I can search for flights between two destinations. ... (slow - just get it done, show a "searching" animation). … (in under 5 seconds). Paulo Clavijo (@pclavijo)
  • 21. Patterns for slicing stories Defer System Qualities (performance) As a user , I can search for flights between two destinations. ... (slow - just get it done, show a "searching" animation). … (in under 5 seconds). Paulo Clavijo (@pclavijo)
  • 22. Patterns for slicing stories As a user , I can search for flights between two destinations. … using flexible dates. … including nearby airports. … specifying a max number of stops. … etc. Paulo Clavijo (@pclavijo)
  • 23. Patterns for slicing stories Simple/Complex As a user , I can search for flights between two destinations. … using flexible dates. … including nearby airports. … specifying a max number of stops. … etc. Paulo Clavijo (@pclavijo)
  • 24. Patterns for slicing stories As a user, I can manage my account. … I can edit my account settings. … I can cancel my account. … I can sign up for an account. Paulo Clavijo (@pclavijo)
  • 25. Patterns for slicing stories Operations (e.g. CRUD) As a user, I can manage my account. … I can edit my account settings. … I can cancel my account. … I can sign up for an account. Paulo Clavijo (@pclavijo)
  • 27. Order price calculator ● The product is is a point of sale application with user interface, three inputs and one output. ● Accept three inputs from the user: ○ How many items ○ Price per item ○ 2-letter state code ● Output the total price of the order. Give a discount based on the total price, then add state tax based on the state code and discounted price. Paulo Clavijo (@pclavijo) Order value Discount rate $1,000 3% $5,000 5% $7,000 7% $10,000 10% $50,000 15% State Tax rate UT 6.85% NV 8.00% TX 6.25% AL 4.00% CA 8.25%
  • 28. References - Elephant Carpaccio exercise by Alistair Cockburn. - User Stories, Mike Cohn - Vertical Slice, Wikipedia - New Story Splitting Resource, Richard Lawrence. - User Stories: Making the Vertical Slice, Kimberly Poremski. - 10 powerful strategies for breaking down Product Backlog Items, Christiaan Verwijs - VSTS agile work item types explained, Keith Williams Paulo Clavijo (@pclavijo)
  • 29. ● What went well? ● What problems did you encounter? ● What have you learned? ● What surprised you? Paulo Clavijo (@pclavijo) Retrospective