19
Michelle D’Souza [email protected] Brandon Byars [email protected]

Life Cycle of an Agile User Story

Embed Size (px)

DESCRIPTION

The flow of user stories defines the rhythm that agile teams march to, and in this session, we hope to demonstrate how stories can be tracked, estimated and completed, ensuring that value is delivered to the user at the end of every iteration.Brandon Byars and Michelle D'Souza presented this at the Agile Tour in Toronto.

Citation preview

Page 1: Life Cycle of an Agile User Story

Michelle D’Souza [email protected] Byars [email protected]

Page 2: Life Cycle of an Agile User Story
Page 3: Life Cycle of an Agile User Story

Card Conversation Confirmation

As a nurse, I want to have to enter my password before seeing patient data, so that we don’t disclose patient information to unauthorized users.

As a <role>I want <feature>So that <business value>

Page 4: Life Cycle of an Agile User Story

Independent Negotiable Valuable Estimable Small Testable

Page 5: Life Cycle of an Agile User Story

Story Points◦ Size matters, not duration◦ Story points are relative◦ Size can be based on several factors

Ideal Days

Page 6: Life Cycle of an Agile User Story

T-Shirt Sizing (S, M, L)

Exponential (1, 2, 4, 8)

Fibonacci series (1, 2, 3, 5, 8)

Page 7: Life Cycle of an Agile User Story

1 – Rhode Island8 – Texas2 – Ohio3 – Nebraska5 – Nevada3 / 5 - Oregon

Page 8: Life Cycle of an Agile User Story

Moderator: Reads Story Description

Ask moderator questions

Pick estimate card

Show cards simultaneously

Discuss Low / High estimates

Consensus (OR Pessimist wins!)

No bluffing

Page 9: Life Cycle of an Agile User Story

As a Customer,

I want to log out

1

As a Customer,

I want to log out

1

As a Marketing Manager,

I want to display the top 5 Books that are on special every week,

So that I can promote company sales offers8

As a Marketing Manager,

I want to display the top 5 Books that are on special every week,

So that I can promote company sales offers8

Page 10: Life Cycle of an Agile User Story

As a Customer,

I want to add a book to my Shopping Cart

As a Customer,

I want to add a book to my Shopping Cart

Page 11: Life Cycle of an Agile User Story

As a Sales Manager,

I want to see the number of orders completed per month,

So that I can track online sales numbers

As a Sales Manager,

I want to see the number of orders completed per month,

So that I can track online sales numbers

Page 12: Life Cycle of an Agile User Story

As a Customer,

I want to search for a book by title,

So that I can find a book quickly online

As a Customer,

I want to search for a book by title,

So that I can find a book quickly online

Page 13: Life Cycle of an Agile User Story

As a Customer,

I want to store my credit card online,

So that I can make multiple purchases quickly

As a Customer,

I want to store my credit card online,

So that I can make multiple purchases quickly

Page 14: Life Cycle of an Agile User Story

As a Customer,

I want to fill in a Suggestion Form

So that I can leave feedback for the vendors

As a Customer,

I want to fill in a Suggestion Form

So that I can leave feedback for the vendors

Page 15: Life Cycle of an Agile User Story

As a Customer,

I want to delete a book from my Shopping Cart

So that I can remove unwanted items from my cart

As a Customer,

I want to delete a book from my Shopping Cart

So that I can remove unwanted items from my cart

Page 16: Life Cycle of an Agile User Story

Daily Iteration Release

Page 17: Life Cycle of an Agile User Story

Yesterday’s weather

Commitment-driven- Add story one-by-one till team cannot commit to

more

Page 18: Life Cycle of an Agile User Story

Given I am logged in as a user in the administrator role And There are 3 vendors When I go to the manage vendors page Then I should see the first 3 vendor names

Given /there are (\d+) vendors/i do |n|

Vendor.transaction do

Vendor.destroy_all

n.to_i.times do |n|

Factory.create(:vendor, :business_name => "Vendor #{n}")

end

end

end

Given /there are (\d+) vendors/i do |n|

Vendor.transaction do

Vendor.destroy_all

n.to_i.times do |n|

Factory.create(:vendor, :business_name => "Vendor #{n}")

end

end

end

Page 19: Life Cycle of an Agile User Story

Michelle D’Souza [email protected] Byars [email protected]