user stories technique and slicing patterns

Post on 15-Jul-2015

119 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related