User Stories Technique and Slicing Patterns

38
User Stories New Delhi, March 2015 Damián Buonamico

Transcript of User Stories Technique and Slicing Patterns

Page 1: User Stories Technique and Slicing Patterns

User Stories New Delhi, March 2015 Damián Buonamico

Page 2: User Stories Technique and Slicing Patterns

2

User Stories

Agile Technique for Agile Requirements

Page 3: User Stories Technique and Slicing Patterns

3

User’s Point of View

Page 4: User Stories Technique and Slicing Patterns

4

Valuable to the Final User

Page 5: User Stories Technique and Slicing Patterns

5

✔ What

✔ Why

How

Feature Description

User needs Business Goals Opportunities

Database Structure to use

Page 6: User Stories Technique and Slicing Patterns

6

No Tech Jargon

Page 7: User Stories Technique and Slicing Patterns

7

I.N.V.E.S.T. in Good User Stories

Page 8: User Stories Technique and Slicing Patterns

8

I.N.V.E.S.T Independent

Value Driven

Page 9: User Stories Technique and Slicing Patterns

9

I.N.V.E.S.T Negotiable

(Before Sprint)

Page 10: User Stories Technique and Slicing Patterns

10

I.N.V.E.S.T Valuable to User

Page 11: User Stories Technique and Slicing Patterns

11

I.N.V.E.S.T Estimatable

Page 12: User Stories Technique and Slicing Patterns

12

I.N.V.E.S.T Small

Several Fits in a Sprint

Page 13: User Stories Technique and Slicing Patterns

13

I.N.V.E.S.T Testable

✔ Acceptance Criteria 1

✔ Acceptance Criteria 2

Acceptance Criteria 3

Page 14: User Stories Technique and Slicing Patterns

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."

Page 15: User Stories Technique and Slicing Patterns

15 Which release had User Stories?

A B

Page 16: User Stories Technique and Slicing Patterns

16 Which release had User Stories?

A B

Page 17: User Stories Technique and Slicing Patterns

17

Slicing the cake

Page 18: User Stories Technique and Slicing Patterns

18

Why Slice? More work fits in each Sprint

✗ ✔

Page 19: User Stories Technique and Slicing Patterns

19

Why Slice? Easier to Parallel Work

Page 20: User Stories Technique and Slicing Patterns

20

Why Slice? Reduce risk of not delivering value

✗ ✔ ✔

66%

✔ ✔

✗ ✔

75%

Page 21: User Stories Technique and Slicing Patterns

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…

Page 22: User Stories Technique and Slicing Patterns

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

Page 23: User Stories Technique and Slicing Patterns

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

Page 24: User Stories Technique and Slicing Patterns

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.

Page 25: User Stories Technique and Slicing Patterns

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

Page 26: User Stories Technique and Slicing Patterns

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

Page 27: User Stories Technique and Slicing Patterns

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

Page 28: User Stories Technique and Slicing Patterns

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

Page 29: User Stories Technique and Slicing Patterns

29

Slicing: By Platform

1) As an Android User 2) As an Web User

I as buyer I want to Favorite an Ad

Page 30: User Stories Technique and Slicing Patterns

30

Slicing: By Language

1)  With my name in English 2)  With my name in Hindi

I want to reply in Ad

Page 31: User Stories Technique and Slicing Patterns

31

Slicing: Buy / Build

1)  Hiring a service provider 2)  Implementing own service

As a PM I want to have A/B Testing

Page 32: User Stories Technique and Slicing Patterns

32

Slicing: Generic / Custom

1)  Using the standard Android Library 2)  Implementing a Custom Library

As an Android Seller I want to add pictures

Page 33: User Stories Technique and Slicing Patterns

33

Slicing: By User

1) As an Anonymous User 2) As an Registered User

I as buyer I want to Favorite an Ad

Page 34: User Stories Technique and Slicing Patterns

34

Slicing: Spike

Research and Develop a new feature

1) Research 2) Implement

Page 35: User Stories Technique and Slicing Patterns

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

Page 36: User Stories Technique and Slicing Patterns

36

Page 37: User Stories Technique and Slicing Patterns

37

Questions

Page 38: User Stories Technique and Slicing Patterns

38

Feedback to:

Damian Buonamico [email protected]

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