Splitting Stories with the Hamburger Method - A Simple 5 Step Process

64
Agile Coaching Journ Adzic’s Hamburger Method

Transcript of Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Page 1: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Agile Coaching JournalAdzic’s Hamburger Method

Page 2: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

To be able to vertically split user stories using

Adzic’s Hamburger Method

Goal

Page 3: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Recognize why many concerns about smaller stories are not correct in an agile environment

Understand the importance and value of Smaller stories in an agile environment

Know when to split a story Describe how to use Adzic’s Hamburger Method to split

stories Develop a plan to start splitting stories

Objectives

Page 4: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Why Split User Stories

Split User Stories

Page 5: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Reasons for not splitting stories: Smaller stories do not deliver business value Smaller stories are not an efficient use of the team’s time Know when to split a story

Why Not Split Stories

Page 6: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Smaller stories do not deliver business value:The correct statement is:

Smaller stories bring value but it may not be enough to be a marketable solution

The story is just a small part of the marketable solution, and should not be considered the final product

Completed stories should encourage a discussion on, what will produce the greatest value.

Why Not Split Stories

Page 7: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Smaller stories are not an efficient use of the team’s time:The correct statement is:

Smaller stories allow teams: to fail early

to fail fast to fail small

to learn to innovate

to be much faster

Why Not Split Stories

Page 8: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Why Not Split StoriesWorried about compromising or losing functionality

Smaller stories allow you to focus on the most value activates

Smaller stories give more acute ROI at a more micro level

The correct statement is: Smaller stories enable resources to increase business value

Infrequently30%

Hardly Ever 50%

FEATURES USED

Standish Group “Exceeding Value” report 2014

Often 20%

Page 9: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Seven reasons why you should split user stories:1. Focus on the most valuable aspects of the solution first2. Delivering value to the customer early3. Shortening the Plan-Do-Check-Act (PDCA) cycle4. Encouraging interactions with the user5. Promotes creativity with a failed early fail small mindset6. Respond quicker to change7. Respond to the unknown as it becomes known

Why Split Stories

Page 10: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

When to Split User Stories

Split User Stories

Page 11: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Does it meet the INVEST Criteria (with exception of Small)? No – refactor story first

Can it be completed in this Sprint? No – time to split!

Will this story consume most of the Team’s capacity? Yes – better to split than to be sorry…

Does it have multiple requirements? Yes – time to split!

Why Split Stories

Page 12: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

What is INVESTI Independent Stories within a sprint must be free of external

dependencies.

N NegotiableStories may change before being committed to a sprint. Once committed, changes are recorded in a new story and added to the product backlog. Stories within a sprint that no longer make sense should be abandoned.

V Valuable Stories should bring value to the end user.

E Estimable Stories must be estimable by the team.

S Sized Appropriately

Stories should not exceed 50% of the average developer’s capacity during the sprint.

T TestableStories must contain the necessary information for the team to test if they have delivered what was wanted by the clients.

Page 13: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Stories should represent some level of end to end functionality

Do not split into tasks like design, code frontend, code middle tier, code back end

Stories should deliver value to the user

Do simplest thing that could possibly work

How to Split User Stories

Page 14: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Hamburger Method

Page 15: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

How to Split User StoriesMany teams struggle to split large user stories into small stories in a useful way, especially less experienced teams. Instead of ending up with small vertical slices that bring real business value, they get stories that look more like tasks or architectural components and fail to experience the value or feedback that small stories should provide.Or they end up not splitting the story, often working on it for 2-3 sprints. The Hamburger Method is a great way for such less experienced teams to vertically split stories.

Page 16: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method Step 1 of 5Step 1 - Identify the Layers or

Types

List the layers or tasks that will make up our hamburger; each layer should represent a technical step or task in the workflow of the completed story. List the layers (tasks) on the left side of the dotted line, each on a different layer.

Page 17: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method Step 2 of 5Step 2 - Identify Options for each Task

List the options for each task to the right of the dotted line on the appropriate layer. It is usually best to use small post-it notes so that you can move them around.

The options may include, no option, mocks data, hardcoded, some form of basic option, and a more richer option.

Page 18: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method Step 3 of 5Step 3 - Sort the Options

Sort the options for each task from left to right based on the quality or value that the option delivers to the client, with the option that delivers the least value first and the option that delivers the greatest value last.

Remove unnecessary and duplicated options.

Page 19: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method Step 4 of 5Step 4 - First Bite

Sort one and only one option from each task, usually the one on the far left, the option that delivers the least value, so that the first story gets a little of everything. This will insure that the story delivers some value while being small.

Page 20: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method Step 5 of 5Step 5 - Finish the Hamburger

Take bites one at a time until you finish the whole hamburger, but because you have already delivered value to the customer, future bites do not need to include tasks from all of the levels. Your bites will build on the first bite by enhancing the first bite.

Page 21: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting StoriesPractice using:

The original story:As the accounts-payable auditor I want to review expense reports online for

errors and omissions so that I can speed up the processing time

for expensive reports.

Page 22: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 1 - Identify the Layers or Types:

1. Querying the database (Query DB) when a saved expense report is pulled from the expense report database

2. An input screen (Input Screen) to review the expense report and add notes

3. Saving to the database (Save to DB) the notes made upon finishing the expense report review.

Page 23: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 2a - Identify Options for each Task:

Querying the database (Query DB) when a saved expense report is pulled from the expense report database:

a. Use Dummy Data if the expense reports are not yet available.

b. Use Batch Query process to get batches of data each night if there is no interface to the expense report databases.

c. Create an interface to the expense report databases and then use a Live Query to get the expense report data in real time from the expense report databases.

Page 24: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 2b - Identify Options for each Task:

An input screen (Input Screen) to review the expense report and add notes:

a. Create a Simple Screen that displays the expense report data, a note field, a save button, and a next button.

b. Create a Print Option to print questionable expense reports.

c. Create a more advance screen that does Error Checking upon hitting the save button.

Page 25: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 2c - Identify Options for each Task:

Saving to the database (Save to DB) the notes made upon finishing the expense report review:

a. Save to the Data Base the expense report notes upon hitting the saved button, but do not spend time optimizing the data saved.

b. Optimize the Data so that it has a professional look by addressing extra spaces, non-alpha-numeric characters, and capitalization and that the data can quickly be accessed in the future.

c. With the initial process, Don’t Save anything upon reviewing an expense report.

Page 26: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 3a - Sort the Options: Querying the database (Query DB) when a saved expense report is pulled from the expense report database:The Dummy Data option will bring less quality or value then the Live Query, option or the Batch Query option, so move the Dummy Data option to the far left, before of the Batch Query. Now the options are in order, and each option brings greater or additional value than the on the left:

a. Dummy Data will deliver the lowest quality or value.b. Batch Query will deliver the second lowest quality or value.c. Live Query will deliver the highest quality or value.

Page 27: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 3b - Sort the Options:

An input screen (Input Screen) to review the expense report and add notes:These options are already in quality or value order, and each option brings greater or additional value than the on the left:a. Simple Screen.b. Error Checking.c. Print Option.

Page 28: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 3c - Sort the Options: Saving to the database (Save to DB) the notes made upon finishing the expense report review:The Don’t Save option will bring less quality or value than the Save to the Database option, so move the Don’t Save option to the left of the Save to the Database option.The cost of the Save to the Database option is relatively equal to the cost of the Don’t Save option, so remove the Don’t Save option, as it does not make sense to create it.

a. Save to the Database.b. Optimize the Data.

Page 29: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 4a - First Bite (write the first User Story): Breaks down the original, so that the first story will include:1. Querying the database (Query DB) when a saved expense report is

pulled from the expense report database:a. Dummy Data will deliver the lowest quality or value.

2. An input screen (Input Screen) to review the expense report and add notes:a. Simple Screen.

3. Saving to the database (Save to DB) the notes made upon finishing the expense report review:a. Save to the Database.

Page 30: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 4b - First Bite (write the first User Story):

The first story will be:As the accounts-payable auditor I want a mock up the screen that will review

expense reports online for errors and omissions

so that I can make sure that the screen and end-to-end process is what I need.

Page 31: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 5a - Finish the Hamburger:

The second bite will include the batch processing and error handling, as they are related and are inter-depended:1. Querying the database (Query DB) when a saved

expense report is pulled from the expense report database:a. Batch Query.

2. An input screen (Input Screen) to review the expense report and add notes:a. Error Checking.

Page 32: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 5a - Finish the Hamburger:

The second story will be:As the accounts-payable auditor I want to review expense reports batches online

for errors and omissions so that I can speed up the processing time for

expensive reports by eliminating the need to have physical expense reports sent to my location.

Page 33: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 5b - Finish the Hamburger:

The third bite will include the ability to print expense reports and optimize the data as they are related and are inter-depended:1. An input screen (Input Screen) to review the expense

report and add notes:a. Print Option.

2. Saving to the database (Save to DB) the notes made upon finishing the expense report review:a. Optimize the Data.

Page 34: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 5b - Finish the Hamburger:

The third story will be:As the accounts-payable auditor I want the ability to print expense reports with my

notes so that I can have a physical copy of questionable

expense reports, without waiting for the actual expense reports to share with others.

Page 35: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 5c - Finish the Hamburger:

The fourth and final bite will be the ability to process expense reports in real time:1. Querying the database (Query DB) when a saved

expense report is pulled from the expense report database:a. Live Query.

Page 36: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

Practice Step 5c - Finish the Hamburger:

The third story will be:As the accounts-payable auditor I want the ability to print expense reports with my

notes so that I can have a physical copy of questionable

expense reports, without waiting for the actual expense reports to share with others.

Page 37: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Quiz

Hamburger Method

Page 38: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

1. How do smaller stories deliver business value?

A. They don’t initially.

B. They to by delivering a functional component that should encourage discussion on how to proceed.

C. They do by always delivering fully marketable functionality.

D. They do by being testable.

Page 39: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

1. How do smaller stories deliver business value?

A. They don’t initially.

B. They to by delivering a functional component that should encourage discussion on how to proceed.

C. They do by always delivering fully marketable functionality.

D. They do by being testable.

Page 40: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

2. What is the difference between a marketable solution and business value?

A. Marketable solutions bring value to both the market and the business, whereas business value may NOT always bring value to the market.

B. There is NO difference between market solution and business value.

C. A market solution solves a market need but does NOT always bring business value.

D. Market solution is the value achieve from multiple related user stories.

Page 41: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

2. What is the difference between a marketable solution and business value?

A. Marketable solutions bring value to both the market and the business, whereas business value may NOT always bring value to the market.

B. There is NO difference between market solution and business value.

C. A market solution solves a market need but does NOT always bring business value.

D. Market solution is the value achieve from multiple related user stories.

Page 42: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

3. Why are smaller stories an efficient use of the team’s time?

A. You can test several small stories on once.

B. You can work on several stories at the same time.

C. You can focus on the most valuable feature components.

D. You can adjust you work as the needs and opportunities are better understood.

Page 43: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

3. Why are smaller stories an efficient use of the team’s time?

A. You can test several small stories on once.

B. You can work on several stories at the same time.

C. You can focus on the most valuable feature components.

D. You can adjust you work as the needs and opportunities are better understood.

Page 44: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

4. Using traditional development, what percentage of a product’s feature are hardly ever used?

A. 20%.

B. 30%.

C. 50%.

D. 80%.

Page 45: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

4. Using traditional development, what percentage of a product’s feature are hardly ever used?

A. 20%.

B. 30%.

C. 50%.

D. 80%.

Page 46: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Why Not Split StoriesWorried about compromising or losing functionality

Smaller stories allow you to focus on the most value activates

Smaller stories give more acute ROI at a more micro level

The correct statement is: Smaller stories enable resources to increase business value

Infrequently30%

Hardly Ever 50%

FEATURES USED

Standish Group “Exceeding Value” report 2014

Often 20%

Page 47: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

5. Which of the following is NOT a reason for splitting user stories?

A. Delivering value to the customer early.

B. Promotes creativity with a fail early fail small mindset.

C. Respond to the unknown as it becomes known.

D. The story is research spike.

Page 48: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

5. Which of the following is NOT a reason for splitting user stories?

A. Delivering value to the customer early.

B. Promotes creativity with a fail early fail small mindset.

C. Respond to the unknown as it becomes known.

D. The story is research spike.

Page 49: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

6. Which of the following is a reason for splitting user stories?

A. The story has external dependencies.

B. The story delivers no business value.

C. You are not sure how to test the story.

D. To focus on the most valuable aspects of the story first.

Page 50: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

6. Which of the following is a reason for splitting user stories?

A. The story has external dependencies.

B. The story delivers no business value.

C. You are not sure how to test the story.

D. To focus on the most valuable aspects of the story first.

Page 51: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

7. What is an advantage of using the Hamburger Method for splitting stories?

A. It starts the process from a technical mindset.

B. It looks at variations in data.

C. It makes it easier for all stories to include options from all layers.

D. It makes it easy for all stories to include options from more than one layer.

Page 52: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

7. What is an advantage of using the Hamburger Method for splitting stories?

A. It starts the process from a technical mindset.

B. It looks at variations in data.

C. It makes it easier for all stories to include options from all layers.

D. It makes it easy for all stories to include options from more than one layer.

Page 53: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

8. Which of the following are valid options for splitting a layer using the Hamburger Method?

A. No option

B. Mocks data

C. Hardcoded

D. Test options

Page 54: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

8. Which of the following are valid options for splitting a layer using the Hamburger Method?

A. No option

B. Mocks data

C. Hardcoded

D. Test options

Page 55: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

9. How should the options be sorted within a layer when using the Hamburger Method?

A. It is not important to sort the options.

B. Based on dependencies.

C. Based on critical path.

D. Option that delivers the least value first and the option that delivers the greatest value last.

Page 56: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

9. How should the options be sorted within a layer when using the Hamburger Method?

A. It is not important to sort the options.

B. Based on dependencies.

C. Based on critical path.

D. Option that delivers the least value first and the option that delivers the greatest value last.

Page 57: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

10.What is unique about the first story, the first bite, created using the Hamburger Method?

A. It will be a search spike.

B. It is the only bite that must include an option from all layers.

C. It must be completed before you can decide on the next bite.

D. It does not need to follow the “As a … I want … so …” model.

Page 58: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

10.What is unique about the first story, the first bite, created using the Hamburger Method?

A. It will be a search spike.

B. It is the only bite that must include an option from all layers.

C. It must be completed before you can decide on the next bite.

D. It does not need to follow the “As a … I want … so …” model.

Page 59: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

11.Which of the following are valid options for creating user stories after the first bite using the Hamburger Method?

A. They do not need to deliver business value.

B. Their effort does not need to be estimated if the original story was estimated.

C. They do not need to contain option from all layers as they will build on top of the first bite.

D. They can be test all at the same time.

Page 60: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Hamburger Method for Splitting Stories

11.Which of the following are valid options for creating user stories after the first bite using the Hamburger Method?

A. They do not need to deliver business value.

B. Their effort does not need to be estimated if the original story was estimated.

C. They do not need to contain option from all layers as they will build on top of the first bite.

D. They can be test all at the same time.

Page 61: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Free Hamburger Method Worksheet at:

Page 62: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Lawrence’s 9 Patterns for Splitting Stories

Preview

Page 63: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

9 Patterns for Splitting Stories

WorkflowSteps

Variationsin Data

Simple/Complex

Operations InterfaceVariations

DeferPerformance

Business Rule Variations

MajorEffort

Break Out a Spikeas Last Resort

Page 64: Splitting Stories with the Hamburger Method - A Simple 5 Step Process

Thank You!

Hamburger Method