Test Driven Product: Applying Test Driven Thinking to the Product World

45
Test Driven Product: Applying Test Driven Thinking to the Product World David Hussman

Transcript of Test Driven Product: Applying Test Driven Thinking to the Product World

Page 1: Test Driven Product: Applying Test Driven Thinking to the Product World

Test Driven Product:

Applying Test Driven Thinking

to the Product World

David Hussman

Page 2: Test Driven Product: Applying Test Driven Thinking to the Product World

Test Driven ProductApplying Test Driven Thinking to the Product World

David Hussman

Product

Kent Beck

(wanna be)

Page 3: Test Driven Product: Applying Test Driven Thinking to the Product World

I did not write this …

Product

Kent Beck

(wanna be)

… but it had a big impact on me

Page 4: Test Driven Product: Applying Test Driven Thinking to the Product World

And speaking of books …

… this one made a mark as well

Page 5: Test Driven Product: Applying Test Driven Thinking to the Product World

Let’s reflect a bit …

Page 6: Test Driven Product: Applying Test Driven Thinking to the Product World

Once upon a conference …

Page 7: Test Driven Product: Applying Test Driven Thinking to the Product World

We were out to “test infect” people

Page 8: Test Driven Product: Applying Test Driven Thinking to the Product World

We were keenly focused on “unit tests”

Page 9: Test Driven Product: Applying Test Driven Thinking to the Product World

“If something is good, let’s do it more (or all the time)”

-“If something hurts,

let’s do it until it does not”

Page 10: Test Driven Product: Applying Test Driven Thinking to the Product World

And the ideas became “sticky” …

Page 11: Test Driven Product: Applying Test Driven Thinking to the Product World

TDD (Test Driven Development)

Test First Development

Make it work, make it right

Red, Green, Clean

Etc.

Page 12: Test Driven Product: Applying Test Driven Thinking to the Product World

As TDD exploded, we questioned it further

Page 13: Test Driven Product: Applying Test Driven Thinking to the Product World

Sometimes it was good

Page 14: Test Driven Product: Applying Test Driven Thinking to the Product World

We learned that “tests told the story of the code”

Page 15: Test Driven Product: Applying Test Driven Thinking to the Product World

We showed that the tests had value that went far beyond finding bugs

Page 16: Test Driven Product: Applying Test Driven Thinking to the Product World

Sometimes the popularity was not good

Page 17: Test Driven Product: Applying Test Driven Thinking to the Product World

Bad tests led to more bad code

“When the design thinking was lost, so was the process”

Page 18: Test Driven Product: Applying Test Driven Thinking to the Product World

We over focused on developers

Page 19: Test Driven Product: Applying Test Driven Thinking to the Product World

Some of us started looking for something new …

Page 20: Test Driven Product: Applying Test Driven Thinking to the Product World

Questions so far?

Page 21: Test Driven Product: Applying Test Driven Thinking to the Product World

Enter ATDD (Acceptance Test Driven Development)

Page 22: Test Driven Product: Applying Test Driven Thinking to the Product World

Don’t start working on a story before you’ve expressed the tests in code

Page 23: Test Driven Product: Applying Test Driven Thinking to the Product World

“Pair programming” became “pairing”

Dev & Test - Dev & Prod - Test & Prod - etc.

Page 24: Test Driven Product: Applying Test Driven Thinking to the Product World

“Test Driven Development” was refactored to “Test Driven”

(sometimes)

Page 25: Test Driven Product: Applying Test Driven Thinking to the Product World

Story tests (acceptance tests) added context and clarified stories

Page 26: Test Driven Product: Applying Test Driven Thinking to the Product World

Where unit tests told the story of the code, story tests told the story of the product

(sometimes)

Page 27: Test Driven Product: Applying Test Driven Thinking to the Product World

Often, story tests told the product story

Page 28: Test Driven Product: Applying Test Driven Thinking to the Product World

Often times, “acceptance criteria” lost site of product learning and

over focused on definition of done

Page 29: Test Driven Product: Applying Test Driven Thinking to the Product World

We were still seeing problems

Page 30: Test Driven Product: Applying Test Driven Thinking to the Product World

We were getting better but still building to much of the wrong thing

Page 31: Test Driven Product: Applying Test Driven Thinking to the Product World

Enter product driven development

Page 32: Test Driven Product: Applying Test Driven Thinking to the Product World

Questions so far?

Page 33: Test Driven Product: Applying Test Driven Thinking to the Product World

Here is a simple, non-tech example …

They’re refocused on impact

Page 34: Test Driven Product: Applying Test Driven Thinking to the Product World

Here is a product development example

Page 35: Test Driven Product: Applying Test Driven Thinking to the Product World

Here is a multi-team example

Page 36: Test Driven Product: Applying Test Driven Thinking to the Product World

Universe of all Product

Ideas

They’re all following a simple process …

Product Choices

Collaborative Framing

Pragmatic Personas

Story Mapping

User Interviews

Market Research

Customer Journeys

Opportunity Mapping

Story Splitting

Validation Measures

Story Writing

Prototyping

… narrowing choices w/ validation measures (product tests)

Page 37: Test Driven Product: Applying Test Driven Thinking to the Product World

Story telling produces tons of product tests

Here why (and how) it works

Page 38: Test Driven Product: Applying Test Driven Thinking to the Product World

A vehicle that promotes design thinking …

… also produces product tests

Page 39: Test Driven Product: Applying Test Driven Thinking to the Product World

Product tests are best expressed as measurable impact in production

Page 40: Test Driven Product: Applying Test Driven Thinking to the Product World

Impact can be measured and viewed like this

Page 41: Test Driven Product: Applying Test Driven Thinking to the Product World

Behavior can be changed like this

Impact Driven Development

Page 42: Test Driven Product: Applying Test Driven Thinking to the Product World

Simply put: don’t start working on a story until you

discuss how you will measure the impact

Page 43: Test Driven Product: Applying Test Driven Thinking to the Product World

Let’s close with an extreme example

Page 44: Test Driven Product: Applying Test Driven Thinking to the Product World

Experiments running in production that help Inform and produce better customers experiences

Page 45: Test Driven Product: Applying Test Driven Thinking to the Product World

Test Driven Product:

Applying Test Driven Thinking

to the Product World

David Hussman

Questions?