13
Divide and Conquer – How to split user stories By Nikos Raptis Blog: nikosraptis.com E-mail: [email protected]

Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Divide and Conquer – How to split user stories

By Nikos RaptisBlog: nikosraptis.comE-mail: [email protected]

Page 2: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

The INVEST modelGood user stories follow Bill Wake’s INVEST model

The PBI should be self-contained, in a way that there is no inherent dependency on another PBI.

PBIs, up until they are part of an iteration, can always be changed and rewritten.

A PBI must deliver value to the stakeholders.

You must always be able to estimate the size of a PBI.

PBIs should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty.

The PBI or its related description must provide the necessary information to make test development possible.

Independent

Negotiable

Valuable

Estimable

Small

Testable

*PBI: Product Backlog Item

Page 3: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Patterns for splitting● Workflow Steps

● Business Rule Variations

● Major Effort

● Simple / Complex

● Variations in Data

● Data Entry Methods

● Defer Performance

● Operation (e.g CRUD)

● Break out a spike

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 4: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Workflow Steps

As a content manager, I can publish a news story to the corporate website.

➢ I can publish a news story directly to the corporate website.➢ I can publish a news story with editor review.➢ I can publish a news story with legal review.

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 5: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Business Rule Variations

As a user, I can search for flights with flexible dates.

➢ as “n days between x and y.”➢ as “a weekend in December.”➢ as “± n days of x and y.”

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 6: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Major Effort

As a user, I can pay for my flight with VISA, MasterCard, Diners Club, or American Express.

➢ I can pay with one credit card type (of VISA, MC, DC, AMEX).➢ I can pay with all four credit card types (VISA, MC, DC, AMEX)

(given one card type already implemented).

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 7: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Simple/Complex

As a user, I can search for flights between two destinations.

➢ specifying a max number of stops.➢ including nearby airports.➢ using flexible dates.

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 8: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Variations in Data

As a content manager, I can create news articles.

➢ in English.➢ in Japanese.➢ in Arabic.

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 9: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Defer Performance

As a user, I can search for flights between two destinations.

➢ (slow—just get it done, show a “searching” animation).➢ (in under 5 seconds).

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 10: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Operations (e.g. CRUD)

As a user, I can manage my account.

➢ I can sign up for an account.➢ I can edit my account settings.➢ I can cancel my account.

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

*CRUD: Create, Read, Update, Delete

Page 11: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Break Out a Spike

As a user, I can pay by credit card.

➢ Investigate credit card processing. (Time boxed)➢ Implement credit card processing.

Initial User Story

Potential User Stories

Source: Richard Lawrence, http://agileforall.com/patterns-for-splitting-user-stories

Page 12: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Tips

● Do not split an overly large user story by architectural layers.

● Try to satisfy the INVEST model● Keep delivering business value first in mind● Train POs to learn how to break US (scrum

master should know)

Page 13: Divide and Conquer – How to split user storiesfiles.meetup.com/9788192/split_user_stories_RaptisNikos.pdf · Divide and Conquer – How to split user stories By Nikos Raptis Blog:

Source: Richard Lawrence, http://agileforall.com/new-story-splitting-resource