69

Analysis and Synthesis - how to get the balance right

Embed Size (px)

Citation preview

Page 1: Analysis and Synthesis - how to get the balance right
Page 2: Analysis and Synthesis - how to get the balance right

Analysis

Break down and examine

Put conclusions together and form a coherent whole

Synthesis

Page 3: Analysis and Synthesis - how to get the balance right
Page 4: Analysis and Synthesis - how to get the balance right

Functional Decomposition Tree

Page 5: Analysis and Synthesis - how to get the balance right

Code

Requirements

Functional Specification

High Level Design

Detailed Design

Unit Tests

Component Integration Tests

System Tests

Acceptance Tests

The V Model

Page 6: Analysis and Synthesis - how to get the balance right

In order to know what the hell I’m doing

As a disillusioned team member

I need a vast and sprawling backlog of 50 million disembodied user stories entered into Jira

Page 7: Analysis and Synthesis - how to get the balance right

Code

A conversation

Unit Tests

Some Tests

Agile?

In order to know what the hell I’m doing

As a disillusioned team member

I need a vast and sprawling backlog of 50 million user stories entered into Jira

Better collaboration

Lots lessDocumentation!

Page 8: Analysis and Synthesis - how to get the balance right

Code

A conversation

Unit Tests

Some Tests

TDD?

In order to know what the hell I’m doing

As a disillusioned team member

I need a vast and sprawling backlog of 50 million user stories entered into Jira

Unit tests inform the implementation and we can make changes more confidently

Better collaboration

Lots lessDocumentation!

Page 9: Analysis and Synthesis - how to get the balance right

Code

A conversation

Unit Tests

Examples

BDD?

In order to know what the hell I’m doing

As a disillusioned team member

I need a vast and sprawling backlog of 50 million user stories entered into Jira

The test is the specification

Better collaboration

Lots lessDocumentation!

Unit tests inform the implementation and we can make changes more confidently

Less ambiguity

Page 10: Analysis and Synthesis - how to get the balance right

Solution Focus

Page 11: Analysis and Synthesis - how to get the balance right

BA

Deve

lope

r

Test

er

Use

r

Page 12: Analysis and Synthesis - how to get the balance right
Page 13: Analysis and Synthesis - how to get the balance right

Requirement

Specification

Page 14: Analysis and Synthesis - how to get the balance right

Code and well named tests

Examples that help project teams understand the outputs and interactions that deliver those

outcomes

Examples that help development teams agree on the scenarios, behaviours and interfaces and how to

verify them

Examples that help stakeholders agree outcomes & explore options

Nirvana

Examples that help development teams clarify implementation of rules, and guide

development

Continuous collaboration

Page 15: Analysis and Synthesis - how to get the balance right
Page 16: Analysis and Synthesis - how to get the balance right

Design Thinking

DIVERGE CONVERGE

Create Choices

Make Choices

Page 17: Analysis and Synthesis - how to get the balance right
Page 18: Analysis and Synthesis - how to get the balance right
Page 19: Analysis and Synthesis - how to get the balance right

In order to contribute to high value business outcomes

As a motivated team member

I need purpose, direction, context and shared understanding

Page 20: Analysis and Synthesis - how to get the balance right
Page 21: Analysis and Synthesis - how to get the balance right

Getting the Balance Right

Page 22: Analysis and Synthesis - how to get the balance right

Getting the Balance Rightis hard if our only tools are

As a… In order to… I want…

and

Given… When… Then…

Page 23: Analysis and Synthesis - how to get the balance right

BDD practitioners use conversationsabout concrete examples

to build up a common understanding of what features will deliver real value

to the organisation

@wakaleo

Page 24: Analysis and Synthesis - how to get the balance right

Activity 4

InputsInputs

OutcomesIn order to xxx As a xxx I need xxx

1

2

Illustrate these using examples

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

Outputs0.99 ✗1 ✓£$% ✗

5

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

The process or interactions required to generate the outputs:Like the backbone of a Story Map

Use Specification by Example for this

ScenariosScenarios4

Given xxx When xxx Then xxx

Different paths through the process to generate the outputs

Like Test Cases

These are the outputs that deliver the required outcomes

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Back of a fag packetBDD Analysis

Page 25: Analysis and Synthesis - how to get the balance right

OutcomesOutputsProcessScenariosInputs

Page 26: Analysis and Synthesis - how to get the balance right

Activity 4

InputsInputs

OutcomesIn order to xxx As a xxx I need xxx

1

2

Illustrate these using examples

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

Outputs0.99 ✗1 ✓£$% ✗

5

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

The process or interactions required to generate the outputs:Like the backbone of a Story Map

Use Specification by Example for this

ScenariosScenarios4

Given xxx When xxx Then xxx

Different paths through the process to generate the outputs

Like Test Cases

These are the outputs that deliver the required outcomes

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Back of a fag packetBDD Analysis

Page 27: Analysis and Synthesis - how to get the balance right
Page 28: Analysis and Synthesis - how to get the balance right

Doing the right thing is more important than doing the thing right

There is nothing quite so useless as doing with great efficiency something

that should not be done at all

-Peter Drucker

Page 29: Analysis and Synthesis - how to get the balance right

Invest in Outcomes

vs

Estimate Cost of Features

Page 30: Analysis and Synthesis - how to get the balance right

Why?

Who?

Who?

How?

How?

What?

What?

What?

Impact Mapping

Page 31: Analysis and Synthesis - how to get the balance right
Page 32: Analysis and Synthesis - how to get the balance right

Investment Game – Round 1

Page 33: Analysis and Synthesis - how to get the balance right

Investment Game – Round 1

Page 34: Analysis and Synthesis - how to get the balance right

Investment Game – Round 1

Page 35: Analysis and Synthesis - how to get the balance right

Investment Game – Round 1

Page 36: Analysis and Synthesis - how to get the balance right

Investment Game – Round 1

Page 37: Analysis and Synthesis - how to get the balance right

Investment Game – Round 2

Page 38: Analysis and Synthesis - how to get the balance right

Investment Game – Round 2

Page 39: Analysis and Synthesis - how to get the balance right

Investment Game – Round 2

Page 40: Analysis and Synthesis - how to get the balance right

Investment Game – Round 2

Page 41: Analysis and Synthesis - how to get the balance right

Investment Game – Round 2

Page 42: Analysis and Synthesis - how to get the balance right

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Page 43: Analysis and Synthesis - how to get the balance right

InputsInputs

OutcomesIn order to xxx As a xxx I need xxx

1

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

0.99 ✗1 ✓£$% ✗

5

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

The process or interactions required to generate the outputs:Like the backbone of a Story Map

Use Specification by Example for this

ScenariosScenarios4

Given xxx When xxx Then xxx

Different paths through the process to generate the outputs

Like Test Cases

Activity 4

2

Illustrate these using examples

Outputs

These are the outputs that deliver the required outcomes

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Back of a fag packetBDD Analysis

Page 44: Analysis and Synthesis - how to get the balance right

Activity 4

2Outputs

These are the outputs that deliver the required outcomes

Page 45: Analysis and Synthesis - how to get the balance right

Illustrate your outputsusing concrete examples

with real-world data

Page 46: Analysis and Synthesis - how to get the balance right

£10 off BigMart Garden Centre

Coupon to be accepted only at BigMart stores. Coupon cannot be exchanged for cash. This coupon cannot be used in conjunction with any other BigMart offer. Only one coupon used per transaction. Coupon valid until 15/1/2015

When you Present your BigMart Club Card

£1 off NEW Rustic Wrap range

Coupon to be accepted only at BigMart stores. Coupon cannot be exchanged for cash. This coupon cannot be used in conjunction with any other BigMart offer. Only one coupon used per transaction. Coupon valid until 15/11/2015

Thanks Jenny!

Thanks for your loyalty to BigMart this month,

here’s a coupon for some free Cava to say

thanksSee www.BigMar.com/Rewards for

terms and conditions

Page 47: Analysis and Synthesis - how to get the balance right

Can you give me an example?

Page 48: Analysis and Synthesis - how to get the balance right

Activity 4

2Outputs

These are the outputs that deliver the required outcomes

Illustrate these using examples

Page 49: Analysis and Synthesis - how to get the balance right

InputsInputs

OutcomesIn order to xxx As a xxx I need xxx

1

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

0.99 ✗1 ✓£$% ✗

5

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

The process or interactions required to generate the outputs:Like the backbone of a Story Map

Use Specification by Example for this

ScenariosScenarios4

Given xxx When xxx Then xxx

Different paths through the process to generate the outputs

Like Test Cases

Illustrate these using examples

Activity 4

2Outputs

These are the outputs that deliver the required outcomes

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Back of a fag packetBDD Analysis

Page 50: Analysis and Synthesis - how to get the balance right

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

The process or interactions required to generate the outputs:

Like the backbone of a Story Map

Processes give our outputs context and relevance

Page 51: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Page 52: Analysis and Synthesis - how to get the balance right
Page 53: Analysis and Synthesis - how to get the balance right

Visualise milestonesthat deliver end-to-end value

Page 54: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Page 55: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Opening Game

Mid Game

End Game

Page 56: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Page 57: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Page 58: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit (without saving)

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Page 59: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit (without saving)

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Opening Game

Page 60: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit (without saving)

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Opening Game

Mid Game

Page 61: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

Setup creative

Setup Issuance

Rules

Setup Distribution

Rules

Setup Priorities

View existing Coupon

Edit (without saving)

Edit & Save Changes

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portal

Publish without images

Publish multiple coupons

Evaluate personal

offers from emulator

Coupon issuance

report updated

Publish with images

Evaluate & Prioritise coupons

Edit & Publish updates

Print Coupon

Issue offer to mobile app

Sort reports by Campaign

Opening Game

Mid Game

End Game

Page 62: Analysis and Synthesis - how to get the balance right

Create Coupon

Issue Coupon

View Reports

Setup on portal

View on portal

Edit on Portal

Publish to till

emulatorPublish to

live tillEvaluate

RulesIssue

CouponView

Reports

backbone

View existing Coupon

Edit (without saving)

Evaluate basket from

emulator

Render coupon in emulator

Real time issuance update to

portalOpening Game

1Login as BigMart

2View Meal

Deal Coupon

3aUpdate title

3bShow use of placeholder

6View Big Days Out

Mobile coupon

4Run

lunchtime basket

5Get meal

deal coupon

8Run Big Days

out basket

9Get Big Days out Coupon

7Show Big

Days out is a higher priority

10Run Basket

that qualifies for both

11Get Big Days out Coupon

12Show 3 new

issuance records

Dream Demo makes it real

Page 63: Analysis and Synthesis - how to get the balance right

InputsInputs

OutcomesIn order to xxx As a xxx I need xxx

1

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

0.99 ✗1 ✓£$% ✗

5

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

The process or interactions required to generate the outputs:Like the backbone of a Story Map

Use Specification by Example for this

ScenariosScenarios4

Given xxx When xxx Then xxx

Different paths through the process to generate the outputs

Like Test Cases

Activity 4

2

Illustrate these using examples

Outputs

These are the outputs that deliver the required outcomes

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Back of a fag packetBDD Analysis

Page 64: Analysis and Synthesis - how to get the balance right

InputsInputs0.99 ✗1 ✓£$% ✗

5ScenariosScenarios 4Given xxx When xxx Then xxx

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

Different paths through the process to generate the outputs

Like Test Cases

Use Specification by Example for this

Page 65: Analysis and Synthesis - how to get the balance right
Page 66: Analysis and Synthesis - how to get the balance right

Ubiquitous Examples

Use the same examples to guide conversations with

different audiences

Page 67: Analysis and Synthesis - how to get the balance right

Keeping it real

The value in the example is in the data used to drive the

example

Page 68: Analysis and Synthesis - how to get the balance right

InputsInputs

OutcomesIn order to xxx As a xxx I need xxx

1

Activity 1 Activity 2 Activity 3 Activity 4

3 Process

0.99 ✗1 ✓£$% ✗

5

Inputs and data attributes to drive the scenarios.

Like Test Conditions or detailed examples

The process or interactions required to generate the outputs:Like the backbone of a Story Map

Use Specification by Example for this

ScenariosScenarios4

Given xxx When xxx Then xxx

Different paths through the process to generate the outputs

Like Test Cases

Activity 4

2

Illustrate these using examples

Outputs

These are the outputs that deliver the required outcomes

You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’

Back of a fag packetBDD Analysis

Page 69: Analysis and Synthesis - how to get the balance right

Thank you!