Simplifying Architecture Design
Session Code: ARC206Managing complexity in a Software plus Services WorldAmanda JacksonFronde Systems Group Ltd
Presentation Outline (hidden slide):Speaker instructions: Complete this slide to assist your SME (subject matter expert) in evaluating your presentation flow, topic coverage, demo integration and alignment of content to your session description and level. Title: Managing Complexity in a Software plus Services WorldTechnical Level: All levelsIntended Audience: Developers, Enterprise ArchitectsObjectives (what do you want the audience to take away from this session):1. Understand what EA is and how things can go wrong2. Understand complexity and how a system can end up being complex3. Learn how to manage complexity and be successful using SIPPresentation Outline (including demos):
Presentation OverviewIntroductionRedefining Enterprise ArchitectureUnderstanding complexityPartitioningMathematics of complexitySIPSummary
Amanda JacksonConsultant/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
What is this talk about?Simplifying architecture through:Modeling complexityPartitioning complex systemsBy simplifying architecture we can more easily: Add business valueBenefit from trends like Software plus Services
Software plus ServicesCombines 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!
Simplify & RedefineBefore we can simplify and redefine we need to understand:What Enterprise Architecture isWhy we need Enterprise ArchitectureWhat can go wrongHow things fail
What is Enterprise Architecture?Documentation or processes that describe:StructureOrganizationBehavioursPlanning Changes
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
Benefits of a good ArchitectureAdds value to an organizationIs concerned with all aspects of an organizationEnsures a good ROIHelps ensure successful projects
Why we need EABased 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
What can go wrong?Failed projectsLoss of income
Why EA failsExcessive complexityProcesses are:ExpensiveTime consumingPoorly definedResults are:Not testableNot reproducibleNot directly usableValue is not delivered
EA FailuresFour 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
What does this mean for EA?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 is the problem?
Existing MethodologiesInfluenced 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
The new Enterprise ArchitectureFocus on complexity at the enterprise levelUnderstand the mathematics of complexityCreate a model for complexityDefine a process for controlling complexityTest solutions against that model
What is Complexity?A function of the number of states that system can find itself in!
Software System Complexityvalues (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 VariableVariables
Prepare Penny/Heads MemoPenny =HeadsMemoRE: PennyOutcome: HeadsRead PennyPrepare Penny/Tails MemoPenny =TailsMemoRE: PennyOutcome: TailsBusiness System ComplexityComplexity = Branches per Decision Point Decision Point
Software & Business ComparisonWhen considering complexity we can see that:Variables are like decision pointsStates per variable are like branches per point
Mathematical Foundations
PartitioningThe most important complexity control strategyDivide and conquer to reduce complexityReduced complexity = improved efficiency
The Power of PartitioningNumber of autonomous systems:	1Number of states per variable:	6Number of variables:			12Number of states:			2,176,782,336Number of autonomous systems:	2Number of states per variable:	6Number of variables:			6Number of states:			93,312Reduction in complexity:  99.57%
Looking at it another way…1 Bucket / 2 Dice  a.k.a. 1 autonomous system2 Buckets / 1 Die Eacha.k.a. 2 autonomous systems1 Die = 6 states1 Die = 6 states1 Die = 6 states2 Die = 6  6 statesTotal states this bucket: 36Total states for 2 buckets: 12
And now with 12 variables…1 Bucket / 12 Dice  2 Buckets / 6 Die Each3 Buckets / 4 Die Each1 Die = 6 states12 Die = 612Total states: 2,176,782,33666 = 46,656 states per        bucket64 = 1,296 states per        bucketTotal states:93,312Total states:3,888
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
Five Laws of PartitionsMust 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
            Set 1       Set 2      Set 3       Set 4        Set 5Which are partitions?Unpartitioned
What do we partition?Consider same-category-as
Same-category-asFoodStationeryReadingKitchenware
Our new partitionsFoodcerealsoft drinkflourlolliesStationerypenpencilnotebookReadingnewspaperKitchenwareknifecup
SIP (very brief) OverviewSIP describes the main approaches used for:Complexity controlPartitioningSimplificationIterative DeliveryOverall goal is to align the IT and Business processes so they work together effectively
Partition IdentificationStart 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
Start at the highest possible viewRetail OrganizationOperationsInternet SalesRetail SalesCatalogue SalesBrand AwarenessProduct AwarenessPlanning
Identify SynergiesRetail OrganizationOperationsInternet SalesRetail SalesCatalogue SalesBrand AwarenessProduct AwarenessPlanning
Create simpler partitionsRetail OrganizationOperationsSalesMarketingPlanning
Keep following your pathRetail OrganizationOperationsSalesMarketingPlanningSalesRetailDistributionRetailRetail SalesReportingInventory
Partition SimplificationConstruct sub-classes of a partition. Any functionality that can be removed from an element should be removed
Software plus ServicesHugely 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!
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
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
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 architecturesResult? It’s easier to see solution linksResult? It’s easier to redesign the whole
Case Study in ComplexityComplexity 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
NPfITLaunched 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
NPfIT FunctionalityRegional Clinical Information Systems Initial cost - approximately NZ$14 billionInfrastructure SystemsInitial cost – approximately NZ$3.2 billionShared ApplicationsInitial cost – approximately NZ$425 million
NPfIT OverviewMulti-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
NPfIT Architecture OverviewRegion1CISHHHHHHHHHHHRegion2CISRegion5CISHHCRSHHCentral AppsC&BETPHHHHHHHRegion3CISRegion4CISHHContactPACSHH
Current status of NPfITIn 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.
Accenture/iSoftBy 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.
Overall Cost of NPfIT?Estimated cost range is$68 to $142 billion
Simple Iterative PartitionsPhase 1 – audit of organization readinessPhase 2 – working on the partitioningPhase 3 – simplify the partitionsPhase 4 – prioritize subsets in the partitionsPhase 5 - iteration
Phase 1Highlights deep distrust between NHS factionsDelivers extensive training in the nature of complexityFocuses on managing complexity as the absolute highest priority
Phase 2Already 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
Phase 3Simplify 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
SummaryComplexity 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
Roger SessionsRoger 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.
Q & A
Resourceswww.microsoft.com/techedTech·Talks	Tech·Ed BloggersLive Simulcasts	Virtual Labshttp://microsoft.com/technetEvaluation licenses, pre-released products, and MORE!http://microsoft.com/msdnDeveloper’s Kit, Licenses, and MORE!
Related ContentBreakout 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 ResourcesResource 1: Roger Sessions - roger@objectwatch.com - www.objectwatch.comResource 2: Simple Architectures For Complex Enterprises - ISBN-13: 978-0735625785Resource 3: amanda.jackson@fronde.com – fee free to email with any questions
Please complete anevaluation

More Related Content

PDF
Stemmons Central - From Abstract to Application
PPT
What is IT Architect
PPT
Taming The Unpredictable: Real-World Adaptive Case Management
PPTX
Adapting to case management
PPTX
System Dynamics (Sd) & Agent Based Modelling
PPTX
Adaptive Case Management: Taming Unstructured Process Work for Today’s Knowle...
PDF
Adaptive Case Management Workshop 2014 - Keynote
PPT
Orchestrating Legacy ERP Infotech 2006
Stemmons Central - From Abstract to Application
What is IT Architect
Taming The Unpredictable: Real-World Adaptive Case Management
Adapting to case management
System Dynamics (Sd) & Agent Based Modelling
Adaptive Case Management: Taming Unstructured Process Work for Today’s Knowle...
Adaptive Case Management Workshop 2014 - Keynote
Orchestrating Legacy ERP Infotech 2006

Viewers also liked (14)

PPT
The Ever So Slighty Geeky Quiz With Maybe
PPTX
PPTX
PPTX
California
DOCX
Cronograma
PPTX
PPT
SQL Server 2008 Certifications
PPTX
Effective Indexes
PDF
Freebase API @ HackTO 2
PPTX
Learn the Colors in Spanish
PDF
Panama & Los Angeles
PPTX
RE-Introduction to Workflow
PPTX
Practical Information Architecture
PPTX
Top Ten Non-SharePoint Technical Issues that Can Doom Your Implementation
The Ever So Slighty Geeky Quiz With Maybe
California
Cronograma
SQL Server 2008 Certifications
Effective Indexes
Freebase API @ HackTO 2
Learn the Colors in Spanish
Panama & Los Angeles
RE-Introduction to Workflow
Practical Information Architecture
Top Ten Non-SharePoint Technical Issues that Can Doom Your Implementation
Ad

Similar to Simplifying Architecture Design (20)

PDF
L16 Documenting Software
PPT
Towards An Enterprise Architecture
PPT
IT Strategic Business Partnership
PPTX
Consulting
PPT
Unpacking TOGAF's 'Phase B': Business Transformation, Business Architecture a...
PPTX
2011 06 15 velocity conf from visible ops to dev ops final
PPTX
Lecture 01 - Motivation
PPTX
2011 09 19 LSPE Dev Ops Cookbook 1a
PPTX
Planning presentation introduction to planning
PPT
Architecting for Change: An Agile Approach
DOCX
Lownes_Unit9
PDF
Cs633-1 Enterprise Architecture Foundation
PPTX
Enterprise integration primer
PDF
Building digital product masters to prevail in the age of accelerations parts...
PPT
Agile Manifesto & XP
PDF
Building An Information Technology And Information Systems
PPTX
Strategic Design by Architecture and Organisation @ FINN.no - JavaZone 2016
PPT
Thoughtful Software Design
PDF
Automate Yourself Out of a Job: Safely Delegate the Management of your Azure...
DOCX
report on internship
L16 Documenting Software
Towards An Enterprise Architecture
IT Strategic Business Partnership
Consulting
Unpacking TOGAF's 'Phase B': Business Transformation, Business Architecture a...
2011 06 15 velocity conf from visible ops to dev ops final
Lecture 01 - Motivation
2011 09 19 LSPE Dev Ops Cookbook 1a
Planning presentation introduction to planning
Architecting for Change: An Agile Approach
Lownes_Unit9
Cs633-1 Enterprise Architecture Foundation
Enterprise integration primer
Building digital product masters to prevail in the age of accelerations parts...
Agile Manifesto & XP
Building An Information Technology And Information Systems
Strategic Design by Architecture and Organisation @ FINN.no - JavaZone 2016
Thoughtful Software Design
Automate Yourself Out of a Job: Safely Delegate the Management of your Azure...
report on internship
Ad

Simplifying Architecture Design

  • 2. Session Code: ARC206Managing complexity in a Software plus Services WorldAmanda JacksonFronde Systems Group Ltd
  • 3. Presentation Outline (hidden slide):Speaker instructions: Complete this slide to assist your SME (subject matter expert) in evaluating your presentation flow, topic coverage, demo integration and alignment of content to your session description and level. Title: Managing Complexity in a Software plus Services WorldTechnical Level: All levelsIntended Audience: Developers, Enterprise ArchitectsObjectives (what do you want the audience to take away from this session):1. Understand what EA is and how things can go wrong2. Understand complexity and how a system can end up being complex3. Learn how to manage complexity and be successful using SIPPresentation Outline (including demos):
  • 4. Presentation OverviewIntroductionRedefining Enterprise ArchitectureUnderstanding complexityPartitioningMathematics of complexitySIPSummary
  • 5. Amanda JacksonConsultant/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 systemsBy simplifying architecture we can more easily: Add business valueBenefit from trends like Software plus Services
  • 7. Software plus ServicesCombines 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. Simplify & RedefineBefore we can simplify and redefine we need to understand:What Enterprise Architecture isWhy we need Enterprise ArchitectureWhat can go wrongHow things fail
  • 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 ArchitectureAdds value to an organizationIs concerned with all aspects of an organizationEnsures a good ROIHelps ensure successful projects
  • 12. Why we need EABased 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 failsExcessive complexityProcesses are:ExpensiveTime consumingPoorly definedResults are:Not testableNot reproducibleNot directly usableValue is not delivered
  • 15. EA FailuresFour 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. What does this mean for EA?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.
  • 17. What is the problem?
  • 18. Existing MethodologiesInfluenced 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 ArchitectureFocus 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 Complexityvalues (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 VariableVariables
  • 22. Prepare Penny/Heads MemoPenny =HeadsMemoRE: PennyOutcome: HeadsRead PennyPrepare Penny/Tails MemoPenny =TailsMemoRE: PennyOutcome: TailsBusiness System ComplexityComplexity = Branches per Decision Point Decision Point
  • 23. Software & Business ComparisonWhen considering complexity we can see that:Variables are like decision pointsStates per variable are like branches per point
  • 25. PartitioningThe most important complexity control strategyDivide and conquer to reduce complexityReduced 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,336Number of autonomous systems: 2Number of states per variable: 6Number of variables: 6Number of states: 93,312Reduction in complexity: 99.57%
  • 27. Looking at it another way…1 Bucket / 2 Dice a.k.a. 1 autonomous system2 Buckets / 1 Die Eacha.k.a. 2 autonomous systems1 Die = 6 states1 Die = 6 states1 Die = 6 states2 Die = 6 6 statesTotal states this bucket: 36Total states for 2 buckets: 12
  • 28. And now with 12 variables…1 Bucket / 12 Dice 2 Buckets / 6 Die Each3 Buckets / 4 Die Each1 Die = 6 states12 Die = 612Total states: 2,176,782,33666 = 46,656 states per bucket64 = 1,296 states per bucketTotal states:93,312Total states:3,888
  • 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 PartitionsMust 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. Set 1 Set 2 Set 3 Set 4 Set 5Which are partitions?Unpartitioned
  • 32. What do we partition?Consider same-category-as
  • 34. Our new partitionsFoodcerealsoft drinkflourlolliesStationerypenpencilnotebookReadingnewspaperKitchenwareknifecup
  • 35. SIP (very brief) OverviewSIP describes the main approaches used for:Complexity controlPartitioningSimplificationIterative DeliveryOverall goal is to align the IT and Business processes so they work together effectively
  • 36. Partition IdentificationStart 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 viewRetail OrganizationOperationsInternet SalesRetail SalesCatalogue SalesBrand AwarenessProduct AwarenessPlanning
  • 38. Identify SynergiesRetail OrganizationOperationsInternet SalesRetail SalesCatalogue SalesBrand AwarenessProduct AwarenessPlanning
  • 39. Create simpler partitionsRetail OrganizationOperationsSalesMarketingPlanning
  • 40. Keep following your pathRetail OrganizationOperationsSalesMarketingPlanningSalesRetailDistributionRetailRetail SalesReportingInventory
  • 41. Partition SimplificationConstruct sub-classes of a partition. Any functionality that can be removed from an element should be removed
  • 42. Software plus ServicesHugely 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 architecturesResult? It’s easier to see solution linksResult? It’s easier to redesign the whole
  • 46. Case Study in ComplexityComplexity 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. NPfITLaunched 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 FunctionalityRegional Clinical Information Systems Initial cost - approximately NZ$14 billionInfrastructure SystemsInitial cost – approximately NZ$3.2 billionShared ApplicationsInitial cost – approximately NZ$425 million
  • 49. NPfIT OverviewMulti-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 OverviewRegion1CISHHHHHHHHHHHRegion2CISRegion5CISHHCRSHHCentral AppsC&BETPHHHHHHHRegion3CISRegion4CISHHContactPACSHH
  • 51. Current status of NPfITIn 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/iSoftBy 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 PartitionsPhase 1 – audit of organization readinessPhase 2 – working on the partitioningPhase 3 – simplify the partitionsPhase 4 – prioritize subsets in the partitionsPhase 5 - iteration
  • 55. Phase 1Highlights deep distrust between NHS factionsDelivers extensive training in the nature of complexityFocuses on managing complexity as the absolute highest priority
  • 56. Phase 2Already 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 3Simplify 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. SummaryComplexity 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 SessionsRoger 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. Resourceswww.microsoft.com/techedTech·Talks Tech·Ed BloggersLive Simulcasts Virtual Labshttp://microsoft.com/technetEvaluation licenses, pre-released products, and MORE!http://microsoft.com/msdnDeveloper’s Kit, Licenses, and MORE!
  • 62. Related ContentBreakout 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)
  • 63. Track ResourcesResource 1: Roger Sessions - roger@objectwatch.com - www.objectwatch.comResource 2: Simple Architectures For Complex Enterprises - ISBN-13: 978-0735625785Resource 3: amanda.jackson@fronde.com – fee free to email with any questions
  • 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.

Editor's Notes

  • #8: Now some of you are probably thinking that I’ve made a mistake there and that I meant Documentation AND processes, but no. When talking about Enterprise Architecture as a documentation model, I’m referring to an EA that uses documents to describe the structure and behaviour of an enterprise and its information systems. With EA the process, this is where we set up a process that describes an enterprise and its information systems, and plans changes to improve the integrity and flexibility of the enterprise. Admittedly there may be documentation involved when setting up a process but documentation and processes are different things.That’s all very theoretical but still doesn’t give us a definitive definition. So how about this?
  • #14: Do we therefore need to redefine what Enterprise Architecture is? Should we start from scratch and throw out everything we already know? No. There is a lot of value in the original EA methodologies but we need to start thinking with a view to the new styles of development and growing and improving upon them. Software plus Services wasn’t around when TOGAF, Zachman, Gartner and the rest of the old school enterprise architecture methodologies were dreamed up. Object Oriented development is quite neat compared to Software plus Services. You create an application, it’s self contained, you install it, that’s it. You may in the future create new releases and add new sections to the software but it’s still a self contained application. Software plus Services has endless room to grow and expand, it’s not limited to a single executable that you develop and install onto a machine. We’re reaching out into the cloud, interfaces and interactions need to be clearly defined before we start to develop solutions.