Using Value Stream Mapping to make the case for Acceptance Test Driven Development
Brought to you by:
Aaron “I value streamed my marriage proposal” Nelson and
Steve “I value streamed our laundry process” Rogalsky
@srogalsky winnipegagilist.blogspot.com
A SCIENCE EXPERIMENT
To ATDD orHYPOTHESIS:
not to ATDD
DEFINITIONS:
Acceptance Testing Is...
What is Acceptance Test Driven Development?
Goal: To build the right thing the first time.
WRITE EXAMPLES (Acceptance Tests)(up front but not UP FRONT)
instead of requirements
SPECIFICATION BY EXAMPLE
To do this we:
1.Given muppet <Animal> When measuring <Craziness> Then return <10>
Given muppet <Animal> When <Drumming> Then return <Phenomenal Skillz>
Given muppet <Animal> When <talking> Then return <Grunt>
TEST AS SOON AS POSSIBLE
in collaboration with the developers and customers
2.To do this we:
AUTOMATE our acceptance tests
To do this we:
3.
AN EXAMPLE:
Requirement: Bring home something small from Europe
What I brought: What she wanted:
ANOTHER EXAMPLE
User Story: As an employee I want to receive overtime pay
a standard wage per hour for the first 40 hours worked
1.5 times their wage for each hour after the first 40 hours
2 times their wage for each
hour worked on Sundays and
holidays
For each week, hourly employees are paid:
(40*$20) = $800.00
(40*$20) = $800.00
a standard wage per hour for the first 40 hours worked
1.5 times their wage for each hour after the first 40 hours
(40*$20) + (5*$20*1.5) = $950.00
(40*$20) + (5*$20*1.5) = $950.00
2 times their wage for each
hour worked on Sundays and
holidays
(40*$20) + (8*$20*2) = $1,360.00
(40*$20) + (8*$20*2) = $1,360.00
(40*$20) + (8*$20*2 *1.5) = $1,520.00
(40*$20) + (8*$20*2 *1.5) = $1,520.00
*1.5
*1.5
2 times their wage for each
hour worked on Sundays and
holidays
Executable Specificatio
ns
Executable Specificatio
ns
Credit: “The Role of Quality Assurance in Lean-Agile” – Allan Shalloway
“An attempt to avoid this ambiguity by writing everything down often leads to a document of the type Winston Churchill was working on before he was Prime Minister. Mr. Churchill described it as follows: ‘this document, by its very size, ensures that it will never be read.’”
- Allan Shalloway in “The Role of Quality Assurance in Lean-Agile”
Credit – Janet Gregory
DEFINITIONS:
Value Stream Mapping Is...
What is Value Stream Mapping?
Value Stream Mapping is a tool, originating from lean manufacturing used to visually analyze the flow of materials and information currently required to bring a product or service to a consumer.
When Would I Use Value Stream Mapping
When you are looking to understand and improve a process.
A Question to the Audience
By a show of handsWho is familiar with Swim Lane Process
Maps?
+’s- Describes actors in the process and what steps they
perform- Visually shows hand-offs. Hand offs could be cues for
wastes (Excess transportation, motion, defects)- Minimal symbols to learn makes it easier for anyone to
reproduce/standardize.
-’s- Does not quantify other wastes (inventory) or quantify the
level of value added per step; overall.- Can have a tendency to put focus or blame on area’s or
specific people. This can create resistance and reluctance to fully divulge information.
Swim Lane Process Mapping
A Question to the Audience
By a show of handsWho is familiar with Value Stream Maps?
+’s- Put focus on process problem, not people or area’s. This can create
better buy-in and input to unite a team to solve the problem. This will often lead to improved chances of sustaining changes to the process.
- Easier to start, middle, end of process. Mapping is presented more sequential for the audience to follow.
- Quantifies and pinpoints areas of waste in the process, however, type of waste may have to be determined.
- Quantifies the level of value added per step; and overall.
-’s- May not describe actors in the process and what steps they perform- May not visually shows hand-offs. Hand offs could be cues for wastes
(Excess transportation, motion, defects)- Increased number of symbols to learn makes it difficult and confusing for
anyone to reproduce/standardize or comprehend.- Belief they are only applicable to manufacturing industry
Value Stream Maps
This looks complicated…
Value Stream Maps+’s•Put focus on the process problem, not people or area’s. This can create better buy-in and input to unite a team to solve the problem. This will often lead to improved chances of sustaining changes to the process.•Easier to see the start, middle, end of process. Mapping is presented more sequential for the audience to follow.•Quantifies and pinpoints areas of waste in the process, however, type of waste may have to be determined.•Quantifies the level of value added per step; and overall.
-’s•May not describe actors in the process and what steps they perform•May not visually shows hand-offs. Hand offs could be cues for wastes (Excess transportation, motion, defects)•Increased number of symbols to learn makes it difficult and confusing for anyone to reproduce/standardize or comprehend.
Swim Lane Process Maps+’s•Describes actors in the process and what steps they perform•Visually shows hand-offs. Hand offs could be cues for wastes (Excess transportation, motion, defects)•Minimal symbols to learn makes it easier for anyone to reproduce/standardize.
-’s•Does not quantify other wastes (inventory) or quantify the level of value added per step; overall.•Can have a tendency to put focus or blame on area’s or specific people. This can create resistance and reluctance to fully divulge information.
The Solution: Simplified Value Stream Mapping - Picking the best of both approaches
• Define the Process- Stakeholders- Value/Success Criteria- Input and Output
• Map the Process Steps and Count what is important
• Identify Wastes/Opportunities for Improvement
Continuous Stakeholder Involvemen
t
Continuous Stakeholder Involvemen
t
How Do I Create a Simplified Value Stream Map?
• Define the Process- Stakeholders- Value/Success Criteria- Input and Output
• Map the Process Steps and Count what is important
• Identify Wastes/Opportunities for Improvement
Continuous Stakeholder Involvemen
t
Continuous Stakeholder Involvemen
t
How Do I Create a Simplified Value Stream Map?
General Principle:
Count what really matters
•Value Added Time vs. Non Value Added
Time
•Throughput delivered to
the customer
Count… Ahahah…The total amount of time, then determine what time is Value Added vs. Not Added in every step
• Determine what value is in the eyes of the stakeholder.• Value is determine by the customer: Give me what I
want, when I want it, at a price I am willing to pay for.
• Answer the question: Would the customer be willing to pay for this time?
• Waste can take on many shapes. See if you can identify wastes in…- Intellect- Transportation (data/materials) - Over-production - Motion (people) - Defects - Over-processing - Waiting - Inventory
How do I know when there is non value add time?
Count…Ahahah…The Throughput
• How quickly can one quality unit be produced which can be immediately consumed by the customer?
• Question: If you have produced 10 units but can only have requirements for 5, are the 5 additional units waiting to be consumed adding value?
• Answer: No, you have tied up cash that could be used elsewhere to produce more value.
Review: Key Points to Remember
• Define the stakeholders and their definition of value
• Make the flow easy to follow with your eyes and easy to comprehend for all individuals.
• Count The Total Time then Determine what is Value Added Time and Non Value Added Time
• Count Throughput, but remember high throughput is only of value if all of it can be consumed by a customer.
An Example
• Miss Piggy is requiring a wedding cake for her upcoming wedding and is presently looking for the right bakery to fulfill her needs.
• When Miss Piggy arrives at the Swedish Chef’s door, he immediately states he can fulfill her needs and asks what she desires in a cake
• After a quick discussion to determine what Miss Piggy desires, the Swedish Chef goes out to the market, buys all the ingredients, whips up the recipe, bakes the cake in the oven, ices the cake, and then serves it to Miss Piggy.
• When Miss Piggy takes the cake she has one bite and says the cake is perfect, places an order, then leaves the bakery.
• The Chef puts the cake in his window with the hopes he can sell all the additional slices but nobody purchases a slice
• Let’s Review What Happened
Let’s Create a Simplified Value Stream Map
Step 1: Make the flow easy to follow with your eyes and easy to comprehend for all individuals.
Let’s Create a Simplified Value Stream Map
Step 2a): Count the total time for each step
Gather Ingredients
Gather Requirements
Mix Ingredients Bake
CakeApply Icing Scrap
Excess Cake
Total Time: 10 mins Total Time: 10 mins Total Time: 10 mins Total Time: 60 mins Total Time: 10 mins
Eat Cake
Total Time: 5 mins
Total Time: 105 mins
Let’s Create a Simplified Value Stream Map
Step 2b): Count Value Added Time and Non Value Added Time
Gather Ingredients
Gather Requirements
Mix Ingredients Bake
CakeApply Icing Scrap
Excess CakeTotal Time: 10 mins
VA: 10NVA: 0
Total Time: 10 minsVA: 1
NVA: 9
Total Time: 10 minsVA: 6
NVA: 4
Total Time: 60 minsVA: 50
NVA: 10
Total Time: 10 minsVA: 1
NVA: 9
Eat Cake
Total Time: 5 minsVA: 5
NVA: 0
Total Time: 105 mins
Let’s Create a Simplified Value Stream Map
Gather Ingredients
Gather Requirements
Mix Ingredients Bake
CakeApply Icing Scrap
Excess CakeTotal Time: 10 mins
VA: 10NVA: 0
Total Time: 10 minsVA: 1
NVA: 9
Total Time: 10 minsVA: 6
NVA: 4
Total Time: 60 minsVA: 50
NVA: 10
Total Time: 10 minsVA: 1
NVA: 9
Eat Cake
Total Time: 105 minsVA: 73 69%NVA: 32 31%
Total Time: 5 minsVA: 5
NVA: 0
Key Points to Remember
• Define the stakeholders and their definition of value
• Make the flow easy to follow with your eyes and easy to comprehend for all individuals.
• Count The Total Time then Determine what is Value Added Time and Non Value Added Time
• High throughput is only of value if all of it can be consumed by a customer.
Other Key Points and Benefits Not Highlighted in the Exercise
• Go see the process with your own eyes, walk through it.• Involve the people who do the work to help you map the
process.
THE EXPERIMENT
Steps:• Fold the paper in half• Open the folded paper up and make two triangle folds for the ‘nose’ of the plane• Re-fold the plane in half and fold two wings (one on each side…)• Finally, fold two wing flaps
Airplane Factory!
CONCLUSIONS
As promised, a value streamed story of marital bliss
1. Write Examples instead of requirements
2. Test ASAP with Team
3. Automate Tests
1. Write Examples instead of requirements
2. Test ASAP with Team
3. Automate Tests
TO SUMMARIZE
ATDD:ATDD:1. Define Value for
the stakeholders2. Keep It Simple:
Capture the flow of value
3. Count value add vs non value add
1. Define Value for the stakeholders
2. Keep It Simple: Capture the flow of value
3. Count value add vs non value add
VSM:VSM:
http://www.slideshare.net/SteveRogalsky/using-value-stream-mapping-to-make-the-case-for-acceptance-test-driven-development
[email protected] @srogalsky winnipegagilist.blogspot.com
Recommended