simplifying architecture design

64

Upload: amanda-jackson

Post on 25-Jun-2015

448 views

Category:

Documents


2 download

DESCRIPTION

TechEd 2008 presentation given in NZ and Australia.

TRANSCRIPT

Page 1: Simplifying Architecture Design
Page 2: Simplifying Architecture Design

2

Managing complexity in a Software plus Services World

Amanda JacksonFronde Systems Group Ltd

Session Code: ARC206

Page 3: Simplifying Architecture Design

4

Presentation Overview

IntroductionRedefining Enterprise ArchitectureUnderstanding complexityPartitioningMathematics of complexitySIPSummary

Page 4: Simplifying Architecture Design

5

Amanda Jackson

Consultant/Developer with Fronde Systems LtdStarted NZ Girl Geek Dinners in 2007In the past has covered most roles in IT including: QA, Network Admin, Source Control Manager, Build Management, Games Development, Change Management

Page 5: Simplifying Architecture Design

6

What is this talk about?

Simplifying architecture through:Modeling complexityPartitioning complex systems

By simplifying architecture we can more easily: Add business valueBenefit from trends like Software plus Services

Page 6: Simplifying Architecture Design

7

Software plus Services

Combines Internet services with client and server softwareIncreasingly complex, globally distributed systemsMore choices in the ways to access and manage softwareA new way of thinking is required at the EA level!

Page 7: Simplifying Architecture Design

8

Before we can simplify and redefine we need to understand:

What Enterprise Architecture isWhy we need Enterprise ArchitectureWhat can go wrongHow things fail

Simplify & Redefine

Page 8: Simplifying Architecture Design

9

What is Enterprise Architecture?

Documentation or processes that describe:StructureOrganizationBehavioursPlanning Changes

Page 9: Simplifying Architecture Design

10

Enterprise Architecture

“An enterprise architecture is a description of the goals of an organization, how these goals are realized by business processes, and how these business processes can be better served through technology.”

Roger Sessions - Simple Architectures for Complex Organizations

Page 10: Simplifying Architecture Design

11

Benefits of a good Architecture

Adds value to an organizationIs concerned with all aspects of an organizationEnsures a good ROIHelps ensure successful projects

Page 11: Simplifying Architecture Design

12

Why we need EA

Based on a number of studies done in the last 10 years (such as The KPMG Canada Study, The Chaos Report and others), it has been established that more than 50% of IT projects fail outright!

Andy Blumenthal – Director of Enterprise Architecture & IT Governance for the US Coast Guard

Page 12: Simplifying Architecture Design

13

What can go wrong?

Failed projectsLoss of income

Page 13: Simplifying Architecture Design

14

Why EA fails

Excessive complexityProcesses are:

ExpensiveTime consumingPoorly defined

Results are:Not testableNot reproducibleNot directly usable

Value is not delivered

Page 14: Simplifying Architecture Design

15

EA Failures

Four years ago the government announced to a grateful NHS a national IT program to become the world’s largest civil computer scheme. But after a breathless start, delivery dates for key software were missed, the full costs of implementation have always been unclear, and experts are divided over whether the scheme is too ambitious to ever work as originally planned.

Questions that need to be answered on NHS IT plan by Tony Collins, April 2006 in ComputerWeekly,com

Page 15: Simplifying Architecture Design

16

In October 2007, Gartner predicted that 40% of all existing Enterprise Architecture programs will be shut down by 2010.

Fewer than 5% of firms use Enterprise Architecture effectively. Ross, Weill & Robertson – Enterprise Architecture as a Strategy.

What does this mean for EA?

Page 16: Simplifying Architecture Design

17

What is the problem?

Page 17: Simplifying Architecture Design

18

Existing Methodologies

Influenced by Object Oriented design & analysisPre-date Software-plus-ServicesContinuously evolving but not catching up!Do not deal well with the new S+S design model

Page 18: Simplifying Architecture Design

19

The new Enterprise Architecture

Focus on complexity at the enterprise levelUnderstand the mathematics of complexityCreate a model for complexityDefine a process for controlling complexityTest solutions against that model

Page 19: Simplifying Architecture Design

20

What is Complexity?

A function of the number of states that system can find itself in!

Page 20: Simplifying Architecture Design

21

Software System Complexity

values (heads, tails) penny;penny = read (penny_sensor);if (penny == heads) message (“Penny is heads”);if (penny == tails) message (“Penny is tails”);end;

Complexity = States Per Variable Variables

Page 21: Simplifying Architecture Design

22

Business System Complexity

Read Penny

Prepare Penny/Heads Memo

Prepare Penny/Tails Memo

MemoRE: PennyOutcome: Heads

Penny =Heads

Penny =Tails Memo

RE: PennyOutcome: Tails

Complexity = Branches per Decision Point Decision Point

Page 22: Simplifying Architecture Design

23

Software & Business Comparison

When considering complexity we can see that:

Variables are like decision points

States per variable are like branches per point

Page 23: Simplifying Architecture Design

24

Mathematical Foundations

Page 24: Simplifying Architecture Design

25

Partitioning

The most important complexity control strategy

Divide and conquer to reduce complexity

Reduced complexity = improved efficiency

Page 25: Simplifying Architecture Design

26

The Power of PartitioningNumber of autonomous systems:1Number of states per variable: 6Number of variables: 12Number of states: 2,176,782,336

Number of autonomous systems:2Number of states per variable: 6Number of variables: 6Number of states: 93,312

Reduction in complexity: 99.57%

Page 26: Simplifying Architecture Design

27

Looking at it another way…1 Bucket / 2 Dice a.k.a. 1 autonomous system

2 Buckets / 1 Die Eacha.k.a. 2 autonomous systems

1 Die = 6 states2 Die = 6 6 states

Total states this bucket: 36

1 Die = 6 states 1 Die = 6 states

Total states for 2 buckets: 12

Page 27: Simplifying Architecture Design

28

And now with 12 variables…1 Bucket / 12 Dice 2 Buckets / 6 Die Each

1 Die = 6 states12 Die = 612

Total states: 2,176,782,336

66 = 46,656 states per bucket

Total states:93,312

3 Buckets / 4 Die Each

Total states:3,888

64 = 1,296 states per bucket

Page 28: Simplifying Architecture Design

29

What is a partition?

A set of subsets that divide a larger setAll elements of the larger set live in one, and only one, of the subsets

Page 29: Simplifying Architecture Design

30

Five Laws of Partitions

Must be true partitionsDefinitions must be appropriate to the problem at hand The number of subsets must be appropriateThe size of the subsets must be roughly equalThe interactions between subsets must be minimal and well defined

Page 30: Simplifying Architecture Design

31

Which are partitions? Set 1 Set 2

Set 3 Set 4 Set 5

Unpartitioned

Page 31: Simplifying Architecture Design

32

What do we partition?

Consider same-category-as

Shop InventoryItem Category Cost $

Cereal Food 5.50

Notebook Stationery 2.00

Pencil Stationery 0.50

Pen Stationery 1.00

Lollies Food 0.50

Flour Food 4.80

Newspaper Reading 1.50

Soft drink Food 1.50

Cup Kitchenware 3.50

Knife Kitchenware 2.75

Page 32: Simplifying Architecture Design

33

Same-category-as

Food

Stationery

Reading

Kitchenware

Shop InventoryItem Category Cost $

Cereal Food 5.50Notebook Stationery 2.00

Pencil Stationery 0.50Pen Stationery 1.00

Lollies Food 0.50Flour Food 4.80

Newspaper Reading 1.50Soft drink Food 1.50

Cup Kitchenware 3.50Knife Kitchenware 2.75

Page 33: Simplifying Architecture Design

34

Our new partitions

Foodcereal

soft drinkflour

lollies

Readingnewspaper

Stationerypen

pencilnotebook

Kitchenwareknifecup

Page 34: Simplifying Architecture Design

35

SIP (very brief) Overview

SIP describes the main approaches used for:Complexity controlPartitioningSimplificationIterative Delivery

Overall goal is to align the IT and Business processes so they work together effectively

Page 35: Simplifying Architecture Design

36

Partition Identification

Start at the highest possible view of the enterprise then attempt to partitionIf partition is successful – repeatKeep repeating until you cannot partition any moreAt each stage of partitioning, assign types and deployment information

Page 36: Simplifying Architecture Design

37

Start at the highest possible view

Retail Organization

Operations Internet SalesRetail Sales

Brand Awareness

Catalogue Sales

Product Awareness Planning

Page 37: Simplifying Architecture Design

38

Identify Synergies

Retail Organization

Operations Internet SalesRetail Sales

Brand Awareness

Catalogue Sales

Product Awareness Planning

Page 38: Simplifying Architecture Design

39

Create simpler partitions

Retail Organization

Operations Sales Marketing Planning

Page 39: Simplifying Architecture Design

40

Keep following your path

Retail Organization

Operations Sales Marketing Planning

Retail Distribution

Sales

Retail Sales Reporting

Retail

Inventory

Page 40: Simplifying Architecture Design

41

Partition Simplification

Construct sub-classes of a partition. Any functionality that can be removed from an element should be removed

Page 41: Simplifying Architecture Design

42

Software plus Services

Hugely flexibleIntegrate traditional software with distributed servicesOr not…Put services in a cloud for direct user accessA dizzying, and very impressive array of S+S servicesThe ability for the architecture to get hugely bloated and complex if not planned well – a.k.a. Bloatware!

Page 42: Simplifying Architecture Design

43

How do we partition S+S?

Keep It SimpleArchitect the simplest possible complexityMake it obvious which elements live whereMake it easy to see where partitions layDon’t repeat elements

Page 43: Simplifying Architecture Design

44

How do we partition S+S?

Start at the highest possible viewCreate a high level architectureShow each service and application as they relate to each otherShow clearly defined links

Page 44: Simplifying Architecture Design

45

How do we partition S+S?

Architect and partition each solutionOnly those relevant to your current objectiveMake each architecture as simple as possibleDon’t repeat elements in multiple architectures

Result? It’s easier to see solution linksResult? It’s easier to redesign the whole

Page 45: Simplifying Architecture Design

46

Case Study in Complexity

Complexity can creep into even the most extensively planned projectUnchecked complexity leads to project failureUsing Simple Iterative Partitions might have saved this project, even when it was well into failure mode

Page 46: Simplifying Architecture Design

47

NPfIT

Launched in June 2002Automate and centralize NHS record keepingAutomation of all patient care informationAccess to any patient record by any authorized health care professional in the UKAbility to book appointments with any health care facility in the UKAutomation of prescription services

Page 47: Simplifying Architecture Design

48

NPfIT Functionality

Regional Clinical Information Systems Initial cost - approximately NZ$14 billion

Infrastructure SystemsInitial cost – approximately NZ$3.2 billion

Shared ApplicationsInitial cost – approximately NZ$425 million

Page 48: Simplifying Architecture Design

49

NPfIT Overview

Multi-billion dollar projectContracts split between at least a dozen vendorsCovers a geographic area of close to 100,000 square milesOffers services to 60 million peopleExpected to process 300 transactions per second

Page 49: Simplifying Architecture Design

50

NPfIT Architecture Overview

CRS

Region1CIS

Central Apps

Region2CIS

Region3CIS

Region5CIS

Region4CIS

H

H

H

H HH H

H

H

H

HH H

H

H

HH

H

HH H

H

H

HH H

C&B

Contact

ETP

PACS

Page 50: Simplifying Architecture Design

51

Current status of NPfIT

In crisis almost from the first dayOne year into the project most vendors were having problems relating to each otherThe worst off, the Accenture/iSoft partnership.

Page 51: Simplifying Architecture Design

52

Accenture/iSoft

By Sept 2006 Accenture had enough and abandoned the projectThey walked away from over $5 billion in revenuesThey wrote off in excess of $700 million they had already spentThey agreed to pay over $100 million to settle legal obligations.

Page 52: Simplifying Architecture Design

53

Overall Cost of NPfIT?

Estimated cost range is

$68 to $142 billion

Page 53: Simplifying Architecture Design

54

Simple Iterative Partitions

Phase 1 – audit of organization readinessPhase 2 – working on the partitioningPhase 3 – simplify the partitionsPhase 4 – prioritize subsets in the partitionsPhase 5 - iteration

Page 54: Simplifying Architecture Design

55

Phase 1

Highlights deep distrust between NHS factionsDelivers extensive training in the nature of complexityFocuses on managing complexity as the absolute highest priority

Page 55: Simplifying Architecture Design

56

Phase 2

Already considerable effort made to partitionHowever, partitions were wrongFIVE different implementations of the same, very complex systemThis was done on purpose due to a highly suspect business ruleSIP forces removal of the dodgy business rule, reduces complexity by 80%Create high level partitions

Page 56: Simplifying Architecture Design

57

Phase 3

Simplify partitions further Remove up to 90% complexity from the 20% remaining Remove unnecessary functionalityMake sure all technical requirements can be traced back to a business requirement

Page 57: Simplifying Architecture Design

58

Summary

Complexity of business processes is linked to decision points and the paths created by those decision pointsComplexity of software systems is linked to the number of variables and the number of significant values those variables can takePartitioning is the single major factor in reducing complexity

Page 58: Simplifying Architecture Design

59

Roger Sessions

Roger Sessions, author of ‘Simple Architectures for Complex Enterprises’, has been an invaluable source of help and information whilst preparing this talk. He very kindly allowed me to use material from his book as part of this presentation.Roger is the CEO of ObjectWatch, the creator of SIP and an Enterprise Architecture expert.

Page 59: Simplifying Architecture Design

60

Q & A

Page 60: Simplifying Architecture Design

61

Resources

www.microsoft.com/teched Tech·Talks Tech·Ed BloggersLive Simulcasts Virtual Labs

http://microsoft.com/technet

Evaluation licenses, pre-released products, and MORE!

http://microsoft.com/msdn

Developer’s Kit, Licenses, and MORE!

Page 61: Simplifying Architecture Design

Related Content

Breakout Sessions (session codes and titles)

Interactive Theater Sessions (session codes and titles)

Hands-on Labs (session codes and titles)

Hands-on Labs (session codes and titles)

Page 62: Simplifying Architecture Design

Track Resources

Resource 1: Roger Sessions - [email protected] - www.objectwatch.com

Resource 2: Simple Architectures For Complex Enterprises - ISBN-13: 978-0735625785

Resource 3: [email protected] – fee free to email with any questions

claireh
Place Holder
Page 63: Simplifying Architecture Design

64

Please complete anevaluation

Page 64: Simplifying Architecture Design

65

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