View
119
Download
4
Category
Tags:
Preview:
Citation preview
User Stories New Delhi, March 2015 Damián Buonamico
2
User Stories
Agile Technique for Agile Requirements
3
User’s 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."
15 Which release had User Stories?
A B
16 Which 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
Recommended