Lessons Learned from Architecture Reviews - GOTO...

24
1 1 Wirfs-Brock Associates Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock President, Wirfs-Brock Associates [email protected] 2 Wirfs-Brock Associates Beware of the Technical Stack

Transcript of Lessons Learned from Architecture Reviews - GOTO...

Page 1: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

1

1Wirfs-Brock Associates

Lessons Learned from

Architecture Reviews

Rebecca Wirfs-Brock

President, Wirfs-Brock Associates

[email protected]

2Wirfs-Brock Associates

Beware of the Technical Stack

Page 2: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

2

3Wirfs-Brock Associates

Visualize the Benefits

4Wirfs-Brock Associates

“We suggest that several,

realistic scenarios be written

down, and agreed upon as

representative by product

marketing.”

Get the Right People Involved

Page 3: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

3

5Wirfs-Brock Associates

Ask the Right Questions

6Wirfs-Brock Associates

Probing Questions

Evaluation…how good do you think it will be

Accuracy…is that so

Completeness…is that all

Relevance…does this apply here

Purpose…why did you suggest that

Extension…tell me more

Page 4: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

4

7Wirfs-Brock Associates

Clarifying Questions

Why do you say that?

What exactly do you mean?

How does this relate to what we discussed earlier?

Can you give me an example?

Are you saying ... or ... ?

8Wirfs-Brock Associates

Size the Review to the Architecture

Structure the

review to

“buy” the

right

information

Page 5: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

5

9Wirfs-Brock Associates

Architecture Review Expectations

We’ll mutually agree on what to assess and how it

should be done

We’ll set the stage and bring the right people together

We want you to tell us what you find: your concerns

are, risks, and things we are doing right

10Wirfs-Brock Associates

Reviewer’s Expectations

Give me as much stuff as possible to set the stage

I’ll come prepared to dig into issues you want me to

explore, examine your architecture and design

concerns

Informed people will give me guided tours

We will have an open, honest dialog

I’ll make an honest, informed assessment

Page 6: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

6

11Wirfs-Brock Associates

Level the Playing Field

“Setting up an

architecture

review board

has meant

more balanced

discussions. It

makes

managing

easier.”

12Wirfs-Brock Associates

Five

Really

Hard

Things

Page 7: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

7

13Wirfs-Brock Associates

1. Dealing with Uncertainty and Risk

14Wirfs-Brock Associates

“…any single technical

aspect of the architecture

isn’t high risk. However,

the cumulative effect of

several new technologies

put the project at

significantly higher risk.”

Risks Compound

Page 8: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

8

15Wirfs-Brock Associates

Ambiguity Effect

People favor a choice where there is a known probability over an

option with uncertain probability

16Wirfs-Brock Associates

Neglect of Probability

In the face of uncertainty, some ignore it entirely, treating an

uncertain future as being either 100% or 0% likely

Counteract by showing proof

Page 9: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

9

17Wirfs-Brock Associates

Information Bias

More information is

better—even if irrelevant

Counteract by presenting

“new facts” or showing

diminishing value

18Wirfs-Brock Associates

2. Merging Existing Systems

“Many hidden requirements are in the heads of support or buried in custom code.

There is no migration strategy.

The core of the architecture team is in CA while needed expertise is in PDX”

Page 10: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

10

19Wirfs-Brock Associates

Sunken Costs Effect

People are reluctant to pull out of expensive investments

Counteract by presenting opportunity costs

20Wirfs-Brock Associates

Hyperbolic Discounting

People prefer

smaller, more

immediate rewards

over larger rewards

promised in the

future

Tough to

counteract

Page 11: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

11

21Wirfs-Brock Associates

“As much as we may want

to withdraw into a world of

pure problem solving, we

have to acknowledge that the

most successful

architectures are the ones

you can actually convince

someone to implement.”

—Jesse J. Garrett

3. Describing

Architectural

Decisions

22Wirfs-Brock Associates

Explaining Architectural Decisions

Rationale—why you made a

key decision

Share your thought process

Convey why your design, or a

piece of it, is a good solution

Page 12: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

12

23Wirfs-Brock Associates

Explaining Decisions to a Constructive Reviewer

Design idea

Requirements

Limitations

Advantages

Disadvantages

Design notes

Issues, uncertainties

24Wirfs-Brock Associates

Explaining Decisions to a More Critical Reviewer

Decision

Constraints

Alternatives: Options you considered and reasons for ruling them out. Reasons need not be technical

Effects: Who will be impacted and in what way

Evidence: Confirmation the decision is good

Page 13: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

13

25Wirfs-Brock Associates

4. Overcoming Cognitive Biases

26Wirfs-Brock Associates

Making Tradeoffs version 1

Option 1: One Large Transaction— Can’t handle optimistic lock exception

┼ Can batch updates

┼ Can handle validation business logic

— Can only rollback entire transaction

Option 2: Split into many smaller transactions

— Can’t batch updates

— Slower performance

┼ One set of code

┼ Partial failure easier

┼ Rollback code could update db

—Cannot use first level Hibernate cache

┼ Could run small transactions in parallel but…

— Added complexity getting partial results and setting up txns

Page 14: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

14

27Wirfs-Brock Associates

Information Availability

To increase information availability make it

Recent

Vivid

Easy to imagine

28Wirfs-Brock Associates

Information Availability

To decrease it, make information

Complex

Uncomfortable

Page 15: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

15

29Wirfs-Brock Associates

Making Tradeoffs version 2

Option 1: One Large Batch Transaction

┼ 20x faster than split transactions

┼ Can use Hibernate cache

┼ Can only rollback entire transaction

Option 2: Split into many smaller transactions

— Slow performance

— Can’t batch updates

— Cannot use first level Hibernate cache

┼Partial failure possible

┼Optimization possibleCould run small transactions in

parallel but…adds complexity of handling partial results and setting up txns

30Wirfs-Brock Associates

Primacy and Recency Effects

People remember what they hear first and what they

are told last

To get people to remember specific things, state them

first, and summarize key points

Page 16: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

16

31Wirfs-Brock Associates

Making Tradeoffs version 3

Option 1: One Large Batch

Transaction

┼ 20X faster than split

transactions

┼ Simpler batch code

— Can only rollback entire

transaction

┼ Can use Hibernate cache

Option 2: Split into many smaller transactions

— 20x slower

┼ Optimization possible by parallelizing txns

— Optimization complex

┼ Can support partial failure (but recovery semantics unclear)

— Cannot use first level Hibernate cache

Bottom line: Significantly

greater batch performance

with simple txn logic

Bottom line: Performance is

significantly slower.

Some optimization possible

with extra dev. time

32Wirfs-Brock Associates

Ways Reviewing Can Go Awry

Someone …

Argues that one choice, if repeated will lead to chaos and ruin

Brings up something else extremely interesting

Keeps changing focus

Spouts off useless platitudes

Page 17: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

17

33Wirfs-Brock Associates

“One of the most important steps towards becoming a better thinker is being able to identify the various moves in argument and this is made much easier when you have names to attach to them.

—Nigel Warburton, Thinking from A to Z

34Wirfs-Brock Associates

Slippery Slope Argument

Page 18: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

18

35Wirfs-Brock Associates

Shifting the goal posts argument

36Wirfs-Brock Associates

False dichotomyargument

Page 19: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

19

37Wirfs-Brock Associates

Red herringargument

38Wirfs-Brock Associates

Page 20: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

20

39Wirfs-Brock Associates

5. Giving Advice

Recommendations

Suggestions Observations

Suggestions

40Wirfs-Brock Associates

Advice Impact

A “triage” mentality helps focus energy and efforts

Page 21: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

21

41Wirfs-Brock Associates

Keys to Persuasion

Be heard

Compare what you say to previously held views

Reconcile with contrary views

Agree with you

42Wirfs-Brock Associates

Common appeals…

Emotion

Fear

Novelty

Standard practice

Authority

Page 22: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

22

43Wirfs-Brock Associates

Anchoring

People often rely on one trait or particular piece of information

44Wirfs-Brock Associates

Confirmation Bias

The tendency to

Seek and interpret information in a

way that confirms preconceptions

Avoid things that will disconfirm

beliefs

Page 23: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

23

45Wirfs-Brock Associates

Processing Evidence

Each piece of evidence adds towards a decision

Evidence has a disproportionate incremental effect when it is surprising

46Wirfs-Brock Associates

Contrast Effect

People can’t avoid comparing items against each other rather than

against a fixed standard

Page 24: Lessons Learned from Architecture Reviews - GOTO Bloggotocon.com/.../RebeccaWirfs_LessonsLearnedfromArchitectureRevi… · Lessons Learned from Architecture Reviews Rebecca Wirfs-Brock

24

47Wirfs-Brock Associates

-Rebecca

[email protected]

www.wirfs-brock.com