This document discusses user stories and techniques for splitting large user stories into smaller stories that can fit into a sprint. It introduces the I.N.V.E.S.T. criteria for well-written user stories and provides many examples of ways to slice up stories, such as by workflows, business rules, major effort, complexity, data requirements, entry methods, platforms, languages, and users. It cautions against slicing stories in a way that does not allow for testing throughout development.
14. 14
Acceptance Criteria
"All fields have validation against invalid type of data"
"Error message are informed to the user,
regarding his language."
"Protection against spam is working."
"Loading page time is not increased."
21. 21
Slicing: By Workflows
Implement product
certifications for security
1) As a Buyer I want to see the certification
2) As a Seller not yet certificated
3) As a Seller with already created certificate
22. 22
Slicing: By Business Rules
As a Buyer I want to filter
my search according to all
the business rules.
1) As a Buyer I want to see only recent adds
2) As a Buyer I want to see only ads in my town
3) As a Buyer I want to see ads with pictures
23. 23
Slicing: By Major Effort
As a Seller I want to modify
my posting.
1) As a Seller I want to modify contact data
2) As a Seller I want to modify item data
3) As a Seller I want to add more pictures
4) As a Seller I want to delete pictures
24. 24
Slicing: By Complexity
Validate data when user
register as a new User
1) Server Side validation after submitting the form
2) Validation at the moment of entering the
username.
25. 25
Slicing: By Data
I want to auto locate my
self in my city
1) I want to auto-locate in the main 5 cities
2) I want to auto-locate in the next 15 cities
26. 26
Slicing: By Entry Methods
As a Seller I want to add
pictures
1) From the Photo Gallery
2) From the Camera
3) From a Sharing from another App
27. 27
Slicing: Defer Performance
As a Buyer I want to search
the cities
1) City Search may have 10 seconds delay
2) Implement Caching to improve performance
Or any other non-functional requirement
28. 28
Slicing: CRUD Operations
As a Seller I want to post,
edit and delete
1) As a Seller I want to Post an Ad
2) As a Seller I want to See it
2) As a Seller I want to Edit it
3) As a Seller I want to Delete it
35. 35
How not to Slice
1) Code the Feature without Testing
2) Test and Fix the Bugs Later
1) Develop the Backend and API
2) Create the Client or Frontend