The document discusses Adzic's Hamburger Method for vertically splitting user stories into smaller stories. It provides an overview of the method, which involves identifying layers or types of tasks needed to complete the story, then identifying options for each task from least to greatest value. The first "bite" or user story combines the least valuable option from each task. Subsequent bites build on prior bites by enhancing them. The document includes an example application of the method and a quiz.
2. To be able to vertically split
user stories using
Adzic’s Hamburger Method
Goal
3. 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
5. 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
6. 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
7. 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
8. Why Not Split Stories
Worried 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
Infrequently
30%
Hardly
Ever
50%
FEATURES USED
Standish Group “Exceeding Value” report 2014
Often
20%
9. Seven reasons why you should split user stories:
1. Focus on the most valuable aspects of the solution first
2. Delivering value to the customer early
3. Shortening the Plan-Do-Check-Act (PDCA) cycle
4. Encouraging interactions with the user
5. Promotes creativity with a failed early fail small mindset
6. Respond quicker to change
7. Respond to the unknown as it becomes known
Why Split Stories
11. 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
12. What is INVEST
I Independent
Stories within a sprint must be free of external
dependencies.
N Negotiable
Stories 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 Testable
Stories must contain the necessary information for the team
to test if they have delivered what was wanted by the
clients.
13. 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
15. How to Split User Stories
Many 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.
16. Hamburger Method Step 1 of 5
Step 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.
17. Hamburger Method Step 2 of 5
Step 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.
18. Hamburger Method Step 3 of 5
Step 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.
19. Hamburger Method Step 4 of 5
Step 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.
20. Hamburger Method Step 5 of 5
Step 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.
21. Hamburger Method for
Splitting Stories
Practice 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.
22. 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.
23. 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.
24. 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.
25. 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.
26. 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.
27. 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.
28. 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.
29. 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.
30. 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.
31. 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.
32. 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.
33. 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.
34. 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.
35. 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.
36. 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.
38. 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.
39. 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.
40. 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.
41. 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.
42. 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.
43. 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.
44. 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%.
45. 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%.
46. Why Not Split Stories
Worried 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
Infrequently
30%
Hardly
Ever
50%
FEATURES USED
Standish Group “Exceeding Value” report 2014
Often
20%
47. 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.
48. 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.
49. 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.
50. 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.
51. 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.
52. 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.
53. 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
54. 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
55. 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.
56. 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.
57. 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.
58. 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.
59. 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.
60. 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.
63. 9 Patterns for Splitting Stories
Workflow
Steps
Variations
in Data
Simple/
Complex
Operations
Interface
Variations
Defer
Performance
Business
Rule
Variations
Major
Effort
Break Out a Spike
as Last Resort