jeromy carriere chief architect vistaprint arc314

of 48 /48

Upload: reese-cambridge

Post on 16-Dec-2015

216 views

Category:

Documents


1 download

Embed Size (px)

TRANSCRIPT

Page 1: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 2: Jeromy Carriere Chief Architect VistaPrint ARC314

Using LAAAM to Make Good Architectural Decisions, Fast!

Jeromy CarriereChief ArchitectVistaPrintARC314

Page 3: Jeromy Carriere Chief Architect VistaPrint ARC314

You're in The Right Room

Solutions.NET vs. Java at a major insurance companyChoosing among 8 key management vendorsCritical application rearchitecture effort

Business decisionsSelecting a best-fit partner for a new venture

System designFunctional decomposition for a cross-organization service-oriented application

StandardsCompany-wide portal platform at a major financial services companyNaming standards at VistaPrint

Page 4: Jeromy Carriere Chief Architect VistaPrint ARC314

Definitions

Sorry, but …Architecture

Architecture represents the set of earliest design decisions

Hardest to changeMost critical to get right

Architectural decision

Page 5: Jeromy Carriere Chief Architect VistaPrint ARC314

Quality

There is no universal goodnessCommunicating with the business is the key

Page 6: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 7: Jeromy Carriere Chief Architect VistaPrint ARC314

Quality

There is no universal goodnessCommunicating with the business is the key-ilities are too coarse

Page 8: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 9: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 10: Jeromy Carriere Chief Architect VistaPrint ARC314

Motivation

Architecture is a system blueprintArchitecture is a project blueprintBut most important:

Quality manifests in the architecture

Page 11: Jeromy Carriere Chief Architect VistaPrint ARC314

Motivation

We want to make good decisions earlyReduces riskEnsures we don’t build the wrong thing

How do architectural decisions get made?

Page 12: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 13: Jeromy Carriere Chief Architect VistaPrint ARC314

Motivation

We want to make good decisions earlyReduces riskEnsures we don’t build the wrong thing

How do architectural decisions get made?DebateThe loudest/most patient/most senior voice wins

Page 14: Jeromy Carriere Chief Architect VistaPrint ARC314

Some Background

Questioning techniques Questionnaires and checklistsScenario-based methods

Measuring techniquesQuantitative assessmentsMetricsSimulations, prototypes, experimentsAnalyses

Page 15: Jeromy Carriere Chief Architect VistaPrint ARC314

LAAAM

Inspired by the Architecture Tradeoff Analysis Method from the SEIThe process is flexible and adaptableSurprise, it’s supposed to be “lightweight”You don’t need to lock everyone in a room to make it work

Page 16: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 17: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 18: Jeromy Carriere Chief Architect VistaPrint ARC314

It’s lam, it’s not lām

Page 19: Jeromy Carriere Chief Architect VistaPrint ARC314

Method Outline

Simple processBuild a quality treeRank at each nodeFigure out your alternativesAssess each alternative/scenarioLet the tool do some mathThink hard about the results

But flexible!Start with what’s most important - quality

Page 20: Jeromy Carriere Chief Architect VistaPrint ARC314

The Quality Tree

A hierarchy of goodnessSeed with commonly-important quality attributes

Common templatesTotally unrelated to the alternatives being consideredThe leaves of the tree are scenarios

Page 21: Jeromy Carriere Chief Architect VistaPrint ARC314

An Example Quality Tree (A Silly One)

Not done! Remember: the leaves are scenarios

Quality (i.e. “Good”)

Performance

Response Time Scalability

Maintainability

Flexibility Trainability Extensibility

Page 22: Jeromy Carriere Chief Architect VistaPrint ARC314

Scenarios

-ilities make us feel warm and fuzzyThis is an illusion

Be precise! What does it really mean for a system to have “scalability”? Or “flexibility”?

ContextStimulusResponse

Page 23: Jeromy Carriere Chief Architect VistaPrint ARC314

Response

Stimulus

Context

Example Scenarios

Under normal operation

perform a transfer transaction

in under 100 milliseconds.For a new release, integrate a new component implementation within two days.The system network is partitioned and restored to normal condition; complete database resynchronization occurs within 30 minutes.

Page 24: Jeromy Carriere Chief Architect VistaPrint ARC314

Scenarios in the Quality Tree

Quality (i.e. “Good”)

Performance

Response Time Scalability

Maintainability

Flexibility Trainability Extensibility

In steady state, a mailbox status update takes < 100ms.At peak load, a mailbox status update takes < 500ms.

Page 25: Jeromy Carriere Chief Architect VistaPrint ARC314

Knowing What's Important

Page 26: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 27: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 28: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 29: Jeromy Carriere Chief Architect VistaPrint ARC314
Page 30: Jeromy Carriere Chief Architect VistaPrint ARC314

Knowing What's Important: Ranking

Everything can’t be top priority – tradeoffsRanking a list of scenarios is too hardSo we rank each node in the quality tree

Page 31: Jeromy Carriere Chief Architect VistaPrint ARC314

Example Rankings (Also Silly)

Quality (i.e. “Good”)

Performance(1)

Response Time(2)

Scalability(1)

Maintainability(2)

Flexibility(2)

Trainability(3)

Extensibility(1)

(1) In steady state, a mailbox status update takes < 100ms.(2) At peak load, a mailbox status update takes < 500ms.

Page 32: Jeromy Carriere Chief Architect VistaPrint ARC314

Scenario Weights

Rankings produce a weight for each scenarioUsing rank order centroidsUsing a linear distributionManually (a last resort!)

Page 33: Jeromy Carriere Chief Architect VistaPrint ARC314

Rank Order Centroids

ValuesNumber

of OptionsRank

1 2 3 4 51 1

2 .75 .25

3 .61111 .27778 .11111

4 .52083 .27083 .14583 .0625

5 .45667 .25667 .15667 .09 .04

Page 34: Jeromy Carriere Chief Architect VistaPrint ARC314

Rank Order Centroids (Really Silly)

Quality (i.e. “Good”)

Performance(1) - .75

Response Time(2) - .25

Scalability(1) - .75

Maintainability(2) - .25

Flexibility(2) - .2778

Trainability(3) - .1111

Extensibility(1) - .6111

(1) In steady state, a mailbox status update takes < 100ms. W = .75 × .25 × .75(2) At peak load, a mailbox status update takes < 500ms. W = .75 × .25 × .25

Page 35: Jeromy Carriere Chief Architect VistaPrint ARC314

Building Consensus

What’s the problem: everyone just agrees, right?Sometimes we need “tricks” to help build consensusFull federation and tricky (i.e. imperfect) mathVoting

Page 36: Jeromy Carriere Chief Architect VistaPrint ARC314

Better Example (But Harder to Read)

Page 37: Jeromy Carriere Chief Architect VistaPrint ARC314

Alternatives

What are your choices?Sometimes this is really easy: vendor A or BSometimes this is really hard: design A or B

Page 38: Jeromy Carriere Chief Architect VistaPrint ARC314

Evaluating

For each scenario/alternative pair, evaluateKeep it simplePoor, fair, adequate, good, excellent works well

And easy to turn into numeric valuesComparing alternatives is ok, if you don’t cheat

Page 39: Jeromy Carriere Chief Architect VistaPrint ARC314

The Result

Assessment MatrixScenario Weight Alternative 1 Alternative 2 Alternative 3

Scenario 1 .140625 Poor Fair Excellent

Scenario 2 .046875 Good Good Poor

Total (scores × weights)

(scores × weights)

(scores × weights)

Page 40: Jeromy Carriere Chief Architect VistaPrint ARC314

The Result

Assessment MatrixScenario Weight Alternative 1 Alternative 2 Alternative 3

Scenario 1 .140625 0 1 4

Scenario 2 .046875 3 2 1

Total .140625 .234375 .609375

We have a winner!!

Page 41: Jeromy Carriere Chief Architect VistaPrint ARC314

The Final Assessment

Sensitivity analysisPersistent value in the artifacts

Page 42: Jeromy Carriere Chief Architect VistaPrint ARC314

Caveats

Cost is hardWe’re reasoning about potential, not promise

Page 43: Jeromy Carriere Chief Architect VistaPrint ARC314

Quality-Oriented Decision AssessmentCredits to Gary ChamberlainManager, Platform ArchitectureVistaPrint

demo

Page 44: Jeromy Carriere Chief Architect VistaPrint ARC314

Summary

A robust definition of quality is keyArchitecture manifests qualityArchitectural decisions can be made rationallyBut there’s still no silver bullet

Page 45: Jeromy Carriere Chief Architect VistaPrint ARC314

question & answer

Page 46: Jeromy Carriere Chief Architect VistaPrint ARC314

www.microsoft.com/teched

Sessions On-Demand & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learningMicrosoft Certification and Training Resources

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources

Page 47: Jeromy Carriere Chief Architect VistaPrint ARC314

Complete an evaluation on CommNet and enter to win!

Page 48: Jeromy Carriere Chief Architect VistaPrint ARC314

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.