@lunivore An Example of an Example Given Fred has bought a - - PowerPoint PPT Presentation

lunivore an example of an example
SMART_READER_LITE
LIVE PREVIEW

@lunivore An Example of an Example Given Fred has bought a - - PowerPoint PPT Presentation

Liz Keogh @lunivore An Example of an Example Given Fred has bought a microwave And the microwave cost 100 When we refund the microwave Then Fred should be refunded 100. Examples Given a context When an event happens Then an outcome


slide-1
SLIDE 1

Liz Keogh @lunivore

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4

An Example of an Example

Given Fred has bought a microwave And the microwave cost £100 When we refund the microwave Then Fred should be refunded £100.

slide-5
SLIDE 5

Examples

Given a context When an event happens Then an outcome should occur

slide-6
SLIDE 6

GROW

Goal Reality Options Way forward

slide-7
SLIDE 7

GROW

Given a context When an event happens Then an outcome should occur

Goal

slide-8
SLIDE 8

GROW

Given a context When an event happens Then an outcome should occur

Reality

slide-9
SLIDE 9

GROW

Given a context When an event happens Then an outcome should occur

Options / Way Forward

slide-10
SLIDE 10

PDCA

Plan Do Check Act

slide-11
SLIDE 11

Acceptance criteria vs. Scenarios

Given Fred has bought a microwave And the microwave cost £100 And the microwave was on 10% discount When we refund the microwave Then Fred should be refunded £90.

slide-12
SLIDE 12

Acceptance criteria vs. Scenarios

Given an item was sold with a discount When a customer gets a refund Then he should only be refunded the discounted price.

slide-13
SLIDE 13

Acceptance criteria vs. Scenarios

Items should be refunded at the price at which they were sold.

slide-14
SLIDE 14

Well-formed outcomes

Sensation Vision Hearing Smell Taste

slide-15
SLIDE 15

Examples

Given Jane would like some tools for changing her life When she comes to my talk Then she should leave happy.

slide-16
SLIDE 16

“leave happy”

slide-17
SLIDE 17

Will it actually happen that way?

slide-18
SLIDE 18

Acceptance criteria vs. Scenarios

I want people to have happier lives because of this talk.

slide-19
SLIDE 19

Outcome vs. Impact

slide-20
SLIDE 20

Cynefin

Simple Complicated Complex Chaotic

With thanks to David Snowden and Cognitive Edge

Kuh-neh-vin

slide-21
SLIDE 21

Cynefin

With thanks to David Snowden and Cognitive Edge

Disorder

slide-22
SLIDE 22

Cynefin

Simple Chaotic

With thanks to David Snowden and Cognitive Edge

slide-23
SLIDE 23

Cynefin

Breaking things down

slide-24
SLIDE 24

Cynefin

Trying things

  • ut
slide-25
SLIDE 25

Talking through outcomes works really well…

…hereish.

slide-26
SLIDE 26

Is there a context in which this event will create a different outcome?

slide-27
SLIDE 27

Examples

Given Jane would like some tools for changing her life When she comes to my talk Then she should leave happy.

slide-28
SLIDE 28

Examples

Given Steve thinks he can’t change his life And he can When he comes to my talk Then he should leave feeling troubled and uncertain.

slide-29
SLIDE 29

Examples

Given I am a deep sleeper When I fly to Chicago Then I should still wake refreshed and ready to speak next day.

slide-30
SLIDE 30

Is this the only outcome that matters? If we could achieve it with pixies, would it be enough?

slide-31
SLIDE 31

Examples

Given Steve thinks he can’t change his life And he can When he comes to my talk Then he should leave feeling troubled and uncertain And he should get in touch

slide-32
SLIDE 32

The language of uncertainty

slide-33
SLIDE 33

“Should”

slide-34
SLIDE 34

Examples

Given Dan knows more about BDD than I do When he comes to my talk Then ...?

slide-35
SLIDE 35

Dan North’s “Three Ages”

Explore: Optimise for Discovery Stabilize: Optimize for Repeatability Commoditize: Optimize for Efficiency

slide-36
SLIDE 36

Still learning…

Panic: Optimise for Survival?

slide-37
SLIDE 37

Innovation

Simple Complicated Complex Chaotic

slide-38
SLIDE 38

GROW

Given a context When an event happens Then an outcome should occur

Options / Way Forward

slide-39
SLIDE 39
slide-40
SLIDE 40

Vision

Makes money Saves money Protects money

slide-41
SLIDE 41

Goal

Needed to go live

Incidental Stake- holder

slide-42
SLIDE 42

Capability

Users can achieve a business

  • utcome
slide-43
SLIDE 43

Feature

User interface component which enables a capability

slide-44
SLIDE 44

Story

A slice through a feature to enable faster feedback

slide-45
SLIDE 45

Scenario

An example

  • f how the system

might behave from a user perspective

slide-46
SLIDE 46

Code

Ideas turning into reality

Developer

slide-47
SLIDE 47

Vision Goal Capability Feature Story Scenario Code

slide-48
SLIDE 48

Hunt the value aka Why?

slide-49
SLIDE 49

Goal

Needed to go live

Incidental Stake- holder

slide-50
SLIDE 50

Fractal beauty

Vision

Goal Goal Goal

Capability Capability

Feature Feature Feature Story Story Story

Scenario Scenario Code Code Code

slide-51
SLIDE 51

Goal

Scenario

Goal

Feature

A Real Project

Vision

Goal

Capability Capability

Feature Feature Story Story Story

Scenario Code Code Code

Whoops, forgot Oops, didn’t know about that… Look what I found! Don’t need this… Can’t remember what this was for…

slide-52
SLIDE 52

Goal

Scenario

Goal

Feature

A Real Project

Vision

Goal

Capability Capability

Feature Feature Story Story Story

Scenario Code Code Code

Whoops, forgot Oops, didn’t know about that… Look what I found! Don’t need this… Can’t remember what this was for… Um Er… Oh! Oh F… Dammit! Hmm! That’s funny! Ooh, look! Interesting! Sh..! Oops!

slide-53
SLIDE 53

We’re discovering how to build software by doing it

Vision

Goal Goal Goal

Capability Capability

Feature Feature Feature Story Story Story

Scenario Scenario Code Code Code

slide-54
SLIDE 54

We’re discovering how to discover stuff by doing it

Whoops, forgot Oops, didn’t know about that… Look what I found! Don’t need this… Can’t remember what this was for… Um… Er… Oh! Oh F… Dammit! Hmm! That’s funny! Ooh, look! Interesting! Sh..! Oops!

slide-55
SLIDE 55

Traditional

Rework Developers Testers Deliberate discovery skillz

slide-56
SLIDE 56

Options have value. Options expire. Never commit early unless you know why.

slide-57
SLIDE 57

BDD

Less Rework Developers Testers Deliberate discovery skillz Testers

slide-58
SLIDE 58

Life doesn’t have bugs, just apologies

slide-59
SLIDE 59

BDD

Context Event Outcome Test Deliberate Discovery

slide-60
SLIDE 60

A Naïve Scenario

CONTEXT EVENT OUTCOME Well-formed

  • utcome

Event which leads to the

  • utcome

Reality. It’s all good, right?

slide-61
SLIDE 61

Reality. It’s all good, right?

Subgoals

CONTEXT EVENT OUTCOME Well-formed

  • utcome

Event which leads to the

  • utcome

Unwanted Context Unwanted Outcome!

slide-62
SLIDE 62

Unwanted Context

Subgoals

CONTEXT EVENT OUTCOME Well-formed

  • utcome

Event which leads to the

  • utcome

Replacement context Unwanted Outcome!

slide-63
SLIDE 63

Given Scenario

CONTEXT EVENT OUTCOME Well-formed

  • utcome

Event which leads to the

  • utcome

Unwanted Context Replacement context EVENT OUTCOME Event which leads to replacement

slide-64
SLIDE 64

Changing reality

CONTEXT EVENT OUTCOME Well-formed

  • utcome

Event which leads to the

  • utcome

Unwanted Context Replacement context EVENT Event which leads to the replacement CONTEXT

slide-65
SLIDE 65

Creating options

Is there any context which we could introduce in which more events would give us

  • utcomes we want?
slide-66
SLIDE 66
slide-67
SLIDE 67
slide-68
SLIDE 68
slide-69
SLIDE 69
slide-70
SLIDE 70
slide-71
SLIDE 71
slide-72
SLIDE 72

The Next Goal

flickr: urbandecay

slide-73
SLIDE 73

Liz Keogh http://lizkeogh.com @lunivore