using value stream mapping to make the case for acceptance test driven development

Post on 29-Nov-2014

2.107 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Acceptance Test Driven Development (ATDD) is a movement within agile to improve the quality of and success of our projects by changing how we capture our requirements and by changing how and when we test. Borrowing from the Lean toolbox, we’ll use Value Stream Mapping (VSM) to compare traditional test & fix cycles to ATDD used in an agile context. Participants will be given an introduction to ATDD and VSM and will participate in creating and analyzing two Value Stream Maps. Target audience includes all members of the team including Testers, PMs, Developers and Analysts. Caution: Participants are warned that using VSM to map out your partner’s wasted efforts in completing household chores will not cause the harmony you imagined it would. For more of the tragic details, attend the session.

TRANSCRIPT

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

steve.rogalsky@protegra.com @srogalsky winnipegagilist.blogspot.com

aaron.nelson@protegra.com

top related