Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jeromy Carriere Chief Architect VistaPrint ARC314.

Similar presentations


Presentation on theme: "Jeromy Carriere Chief Architect VistaPrint ARC314."— Presentation transcript:

1

2 Jeromy Carriere Chief Architect VistaPrint ARC314

3 You're in The Right Room Solutions.NET vs. Java at a major insurance company Choosing among 8 key management vendors Critical application rearchitecture effort Business decisions Selecting a best-fit partner for a new venture System design Functional decomposition for a cross-organization service-oriented application Standards Company-wide portal platform at a major financial services company Naming standards at VistaPrint

4 Definitions Sorry, but … Architecture Architecture represents the set of earliest design decisions Hardest to change Most critical to get right Architectural decision

5 Quality There is no universal goodness Communicating with the business is the key

6

7 Quality There is no universal goodness Communicating with the business is the key -ilities are too coarse

8

9

10 Motivation Architecture is a system blueprint Architecture is a project blueprint But most important: Quality manifests in the architecture

11 Motivation We want to make good decisions early Reduces risk Ensures we don’t build the wrong thing How do architectural decisions get made?

12

13 Motivation We want to make good decisions early Reduces risk Ensures we don’t build the wrong thing How do architectural decisions get made? Debate The loudest/most patient/most senior voice wins

14 Some Background Questioning techniques Questionnaires and checklists Scenario-based methods Measuring techniques Quantitative assessments Metrics Simulations, prototypes, experiments Analyses

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

16

17

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

19 Method Outline Simple process Build a quality tree Rank at each node Figure out your alternatives Assess each alternative/scenario Let the tool do some math Think hard about the results But flexible! Start with what’s most important - quality

20 The Quality Tree A hierarchy of goodness Seed with commonly-important quality attributes Common templates Totally unrelated to the alternatives being considered The leaves of the tree are scenarios

21 An Example Quality Tree (A Silly One) Not done! Remember: the leaves are scenarios Quality (i.e. “Good”) PerformanceResponse TimeScalabilityMaintainabilityFlexibilityTrainabilityExtensibility

22 Scenarios -ilities make us feel warm and fuzzy This is an illusion Be precise! What does it really mean for a system to have “scalability”? Or “flexibility”? Context Stimulus Response

23 ResponseResponse StimulusStimulus ContextContext 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.

24 Scenarios in the Quality Tree Quality (i.e. “Good”) PerformanceResponse TimeScalabilityMaintainabilityFlexibilityTrainabilityExtensibility In steady state, a mailbox status update takes < 100ms. At peak load, a mailbox status update takes < 500ms.

25 Knowing What's Important

26

27

28

29

30 Knowing What's Important: Ranking Everything can’t be top priority – tradeoffs Ranking a list of scenarios is too hard So we rank each node in the quality tree

31 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.

32 Scenario Weights Rankings produce a weight for each scenario Using rank order centroids Using a linear distribution Manually (a last resort!)

33 Rank Order Centroids Values Number of Options Rank

34 Rank Order Centroids (Really Silly) Quality (i.e. “Good”) Performance (1) -.75 Response Time (2) -.25 Scalability (1) -.75 Maintainability (2) -.25 Flexibility (2) Trainability (3) Extensibility (1) (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

35 Building Consensus What’s the problem: everyone just agrees, right? Sometimes we need “tricks” to help build consensus Full federation and tricky (i.e. imperfect) math Voting

36 Better Example (But Harder to Read)

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

38 Evaluating For each scenario/alternative pair, evaluate Keep it simple Poor, fair, adequate, good, excellent works well And easy to turn into numeric values Comparing alternatives is ok, if you don’t cheat

39 The Result Assessment Matrix ScenarioWeight Alternative 1 Alternative 2 Alternative 3 Scenario PoorFairExcellent Scenario GoodGoodPoor Total  (scores  (scores × weights)

40 The Result Assessment Matrix ScenarioWeight Alternative 1 Alternative 2 Alternative 3 Scenario Scenario Total We have a winner!!

41 The Final Assessment Sensitivity analysis Persistent value in the artifacts

42 Caveats Cost is hard We’re reasoning about potential, not promise

43 Quality-Oriented Decision Assessment Credits to Gary Chamberlain Manager, Platform Architecture VistaPrint

44 Summary A robust definition of quality is key Architecture manifests quality Architectural decisions can be made rationally But there’s still no silver bullet

45

46 Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification and Training Resources Microsoft Certification & Training Resources Resources

47 Complete an evaluation on CommNet and enter to win!

48 © 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.


Download ppt "Jeromy Carriere Chief Architect VistaPrint ARC314."

Similar presentations


Ads by Google