Simplifying Architecture Design
-
Upload
amanda-jackson -
Category
Documents
-
view
448 -
download
2
description
Transcript of Simplifying Architecture Design
2
Managing complexity in a Software plus Services World
Amanda JacksonFronde Systems Group Ltd
Session Code: ARC206
4
Presentation Overview
IntroductionRedefining Enterprise ArchitectureUnderstanding complexityPartitioningMathematics of complexitySIPSummary
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
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
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!
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
9
What is Enterprise Architecture?
Documentation or processes that describe:StructureOrganizationBehavioursPlanning Changes
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
11
Benefits of a good Architecture
Adds value to an organizationIs concerned with all aspects of an organizationEnsures a good ROIHelps ensure successful projects
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
13
What can go wrong?
Failed projectsLoss of income
14
Why EA fails
Excessive complexityProcesses are:
ExpensiveTime consumingPoorly defined
Results are:Not testableNot reproducibleNot directly usable
Value is not delivered
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
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?
17
What is the problem?
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
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
20
What is Complexity?
A function of the number of states that system can find itself in!
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
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
23
Software & Business Comparison
When considering complexity we can see that:
Variables are like decision points
States per variable are like branches per point
24
Mathematical Foundations
25
Partitioning
The most important complexity control strategy
Divide and conquer to reduce complexity
Reduced complexity = improved efficiency
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%
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
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
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
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
31
Which are partitions? Set 1 Set 2
Set 3 Set 4 Set 5
Unpartitioned
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
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
34
Our new partitions
Foodcereal
soft drinkflour
lollies
Readingnewspaper
Stationerypen
pencilnotebook
Kitchenwareknifecup
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
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
37
Start at the highest possible view
Retail Organization
Operations Internet SalesRetail Sales
Brand Awareness
Catalogue Sales
Product Awareness Planning
38
Identify Synergies
Retail Organization
Operations Internet SalesRetail Sales
Brand Awareness
Catalogue Sales
Product Awareness Planning
39
Create simpler partitions
Retail Organization
Operations Sales Marketing Planning
40
Keep following your path
Retail Organization
Operations Sales Marketing Planning
Retail Distribution
Sales
Retail Sales Reporting
Retail
Inventory
41
Partition Simplification
Construct sub-classes of a partition. Any functionality that can be removed from an element should be removed
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!
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
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
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
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
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
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
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
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
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.
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.
53
Overall Cost of NPfIT?
Estimated cost range is
$68 to $142 billion
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
55
Phase 1
Highlights deep distrust between NHS factionsDelivers extensive training in the nature of complexityFocuses on managing complexity as the absolute highest priority
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
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
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
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.
60
Q & A
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!
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)
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
64
Please complete anevaluation
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.