際際滷

際際滷Share a Scribd company logo
User Stories
New Delhi, March 2015
Dami叩n Buonamico
2
User Stories
Agile Technique for
Agile Requirements
3
Users Point of View
4
Valuable to the Final User
5

 What
 Why
How
Feature Description
User needs
Business Goals
Opportunities
Database
Structure to use
6
No Tech Jargon
7
I.N.V.E.S.T. in
Good User Stories
8
I.N.V.E.S.T
Independent
Value Driven
9
I.N.V.E.S.T
Negotiable
(Before Sprint)
10
I.N.V.E.S.T
Valuable to User
11
I.N.V.E.S.T
Estimatable
12
I.N.V.E.S.T
Small
Several Fits in a Sprint
13
I.N.V.E.S.T
Testable

 Acceptance Criteria 1
 Acceptance Criteria 2
Acceptance Criteria 3
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."
15Which release had User Stories?
A B
16Which release had User Stories?
A B
17
Slicing the cake
18
Why Slice?
More work fits in each Sprint
19
Why Slice?
Easier to Parallel Work
20
Why Slice?
Reduce risk of not delivering value



66%




75%
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
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
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
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
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
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
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
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
29
Slicing: By Platform
1) As an Android User
2) As an Web User
I as buyer I want to
Favorite an Ad
30
Slicing: By Language
1) With my name in English
2) With my name in Hindi
I want to reply in Ad
31
Slicing: Buy / Build
1) Hiring a service provider
2) Implementing own service
As a PM I want to have A/B
Testing
32
Slicing: Generic / Custom
1) Using the standard Android Library
2) Implementing a Custom Library
As an Android Seller I want
to add pictures
33
Slicing: By User
1) As an Anonymous User
2) As an Registered User
I as buyer I want to
Favorite an Ad
34
Slicing: Spike
Research and Develop a
new feature
1) Research
2) Implement
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
36
37
Questions
38
Feedback to:
Damian Buonamico
damian@buonamico.com.ar
http://www.agileforall.com/2009/10/patterns-for-splitting-user-stories/
http://www.agileforall.com/2012/01/new-story-splitting-resource/
http://xp123.com/articles/twenty-ways-to-split-stories/
References

More Related Content

User Stories Technique and Slicing Patterns