splitting user stories - why and how?
TRANSCRIPT
![Page 1: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/1.jpg)
Splitting User Stories
Why and How?Ashwin Chandrasekaran
![Page 2: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/2.jpg)
We talk about three topics in this presentation
What are User Stories?
Why split them?
How to split them?
![Page 3: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/3.jpg)
What are User Stories?
![Page 4: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/4.jpg)
User Story
User Story is an unit requirement written in business language that can
be developed, tested and delivers tangible value to end user
![Page 5: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/5.jpg)
User Story Example
As a Ground Handling Agent, I want the flights in watchlist to move to departed section, so that I know they
are departed In addition, an user story contains:
- Story Description- Acceptance Criteria- Estimation- Priority
![Page 6: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/6.jpg)
Why split them?
![Page 7: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/7.jpg)
What is the ideal size of an User Story?
2 hours
4 days
8 days
20 days
40 days
![Page 8: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/8.jpg)
1/2 -10 daysOptimal time to finish an User Story (including testing and integration)
![Page 9: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/9.jpg)
3 Reasons to Split User Stories
![Page 10: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/10.jpg)
Reason #1 : Difficult to Prioritize
Story 1 : 30 Days
Story 2 : 20 Days
Story 1 : 5 Days
Story 2 : 8 Days
Story 3 : 9 Days
Story 4 : 4 Days
Story 5 : 3 Days
Which is easy to prioritize?
But prioritization cannot be avoided
Not enough room here...
Easier for PO to play around...
![Page 11: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/11.jpg)
Reason #2 : Plan is Rigid
Typical Sprint Velocity is around 40-50 Ideal Days
Story 1
30 Effort Days
Story 2
20 Effort Days
Story 1
8 ED
Story 2
7 ED
Story 3
5 ED
Story 4
6 ED
Story 5
9 ED
Story 6
5 ED
Story 7
5 ED
![Page 12: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/12.jpg)
Reason #3 : Estimation Inaccuracy increase with Size
I can have the foundation done in 2 months.
I can complete the living room in 2 months, bedrooms in 3 months, kitchen in 1 month and toilets in 1 month
Last month is for painting and furniture
I can build the house in 1 year
![Page 13: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/13.jpg)
How to Split User Stories?
![Page 14: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/14.jpg)
Strategy #1 : Along Data Boundaries
User must be able to view information coming into the
system from Interface A, B, C
User must be able to view information coming into the
system from Interfaces D, E, F
User must be able to view information coming into the system from all the Interfaces.
![Page 15: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/15.jpg)
Strategy #2 : Separate Exception / Error Handling
User can enter flight details and save them
Validation must be performed on flight data entered by user and
errors displayed
User can enter flight details and save them. Validation on flight data must be performed and
errors displayed
![Page 16: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/16.jpg)
Strategy #3 : Based on Operations Performed
User can view all details about the flight
In the flight view screen, user can edit/save CDM fields that
are enabled
User can view all details about the flight and edit/save CDM fields that are enabled
![Page 17: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/17.jpg)
Strategy #4 : Separate CRUD Operations
User can view existing parking stand information and create
new ones
User can update and delete existing parking stand
information
User can create, view, update and delete information related to Parking Stands
![Page 18: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/18.jpg)
Strategy #5 : Separate Functional and Non-functional
User must be able to update TOBT value and results
displayed
User must be able to view TOBT update results within 10
seconds
User must be able to update TOBT and the result must be displayed within 10 seconds
![Page 19: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/19.jpg)
Strategy #6 : Smaller Stories of Different Priorities
User must be able to generate a report that shows Air Traffic
over past 6 months
User must be able to print the Air Traffic Report
User can generate a report that shows the Air Traffic over past 6 months and also be able to print
itPriority 1 Priority 2
![Page 20: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/20.jpg)
To Summarize...
![Page 21: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/21.jpg)
Splitting User Stories
User Story describes a unit requirement in business language
Typical size of a User Story is 0.5 - 10 Effort Days
Splitting User Stories help in : Easier Prioritization, Planning and Better Estimation
Some ways to Split Stories are : Along Data Boundaries, Separating Exception Handling, Operations performed, CRUD operations, Separating Functional/Non-Functional, Smaller Stories of different Priorities
![Page 22: Splitting User Stories - Why and How?](https://reader036.vdocument.in/reader036/viewer/2022081604/58ab3aad1a28abb64d8b68b7/html5/thumbnails/22.jpg)
Thank you!
Most ideas are taken from the book - User Stories Applied by Mike Cohn. I strongly suggest you to grab a copy and a coffee!