Your SlideShare is downloading. ×
0
Session Code: ARC206<br />Managing complexity in a Software plus Services World<br />Amanda Jackson<br />Fronde Systems Gr...
Presentation Outline (hidden slide):<br />Speaker instructions: Complete this slide to assist your SME (subject matter exp...
Presentation Overview<br />Introduction<br />Redefining Enterprise Architecture<br />Understanding complexity<br />Partiti...
Amanda Jackson<br />Consultant/Developer with Fronde Systems Ltd<br />Started NZ Girl Geek Dinners in 2007<br />In the pas...
What is this talk about?<br />Simplifying architecture through:<br />Modeling complexity<br />Partitioning complex systems...
Software plus Services<br />Combines Internet services with client and server software<br />Increasingly complex, globally...
Simplify & Redefine<br />Before we can simplify and redefine we need to <br />understand:<br />What Enterprise Architectur...
What is Enterprise Architecture?<br />Documentation or processes that describe:<br />Structure<br />Organization<br />Beha...
Enterprise Architecture<br />“An enterprise architecture is a description of the <br />goals of an organization, how these...
Benefits of a good Architecture<br />Adds value to an organization<br />Is concerned with all aspects of an organization<b...
Why we need EA<br />Based on a number of studies done in the last 10 <br />years (such as The KPMG Canada Study, The <br /...
What can go wrong?<br />Failed projects<br />Loss of income<br />
Why EA fails<br />Excessive complexity<br />Processes are:<br />Expensive<br />Time consuming<br />Poorly defined<br />Res...
EA Failures<br />Four years ago the government announced to a grateful <br />NHS a national IT program to become the world...
What does this mean for EA?<br />In October 2007, Gartner predicted that 40% of all existing Enterprise Architecture progr...
What is the problem?<br />
Existing Methodologies<br />Influenced by Object Oriented design & analysis<br />Pre-date Software-plus-Services<br />Cont...
The new Enterprise Architecture<br />Focus on complexity at the enterprise level<br />Understand the mathematics of comple...
What is Complexity?<br />A function of the number of states <br />that system can find itself in!<br />
Software System Complexity<br />values (heads, tails) penny;<br />penny = read (penny_sensor);<br />if (penny == heads) me...
Prepare Penny/Heads <br />Memo<br />Penny =<br />Heads<br />Memo<br />RE: Penny<br />Outcome: Heads<br />Read Penny<br />P...
Software & Business Comparison<br />When considering complexity we can see that:<br />Variables are like decision points<b...
Mathematical Foundations<br />
Partitioning<br />The most important complexity control strategy<br />Divide and conquer to reduce complexity<br />Reduced...
The Power of Partitioning<br />Number of autonomous systems:	1<br />Number of states per variable:	6<br />Number of variab...
Looking at it another way…<br />1 Bucket / 2 Dice  <br />a.k.a. 1 autonomous system<br />2 Buckets / 1 Die Each<br />a.k.a...
And now with 12 variables…<br />1 Bucket / 12 Dice  <br />2 Buckets / 6 Die Each<br />3 Buckets / 4 Die Each<br />1 Die = ...
What is a partition?<br />A set of subsets that divide a larger set<br />All elements of the larger set live in one, and o...
Five Laws of Partitions<br />Must be true partitions<br />Definitions must be appropriate to the problem at hand <br />The...
            Set 1<br />       Set 2<br />      Set 3<br />       Set 4<br />        Set 5<br />Which are partitions?<br />...
What do we partition?<br />Consider same-category-as<br />
Same-category-as<br />Food<br />Stationery<br />Reading<br />Kitchenware<br />
Our new partitions<br />Food<br />cereal<br />soft drink<br />flour<br />lollies<br />Stationery<br />pen<br />pencil<br /...
SIP (very brief) Overview<br />SIP describes the main approaches used for:<br />Complexity control<br />Partitioning<br />...
Partition Identification<br />Start at the highest possible view of the enterprise then attempt to partition<br />If parti...
Start at the highest possible view<br />Retail Organization<br />Operations<br />Internet Sales<br />Retail Sales<br />Cat...
Identify Synergies<br />Retail Organization<br />Operations<br />Internet Sales<br />Retail Sales<br />Catalogue Sales<br ...
Create simpler partitions<br />Retail Organization<br />Operations<br />Sales<br />Marketing<br />Planning<br />
Keep following your path<br />Retail Organization<br />Operations<br />Sales<br />Marketing<br />Planning<br />Sales<br />...
Partition Simplification<br />Construct sub-classes of a partition. <br />Any functionality that can be removed from an el...
Software plus Services<br />Hugely flexible<br />Integrate traditional software with distributed services<br />Or not…<br ...
How do we partition S+S?<br />Keep It Simple<br />Architect the simplest possible complexity<br />Make it obvious which el...
How do we partition S+S?<br />Start at the highest possible view<br />Create a high level architecture<br />Show each serv...
How do we partition S+S?<br />Architect and partition each solution<br />Only those relevant to your current objective<br ...
Case Study in Complexity<br />Complexity can creep into even the most extensively planned project<br />Unchecked complexit...
NPfIT<br />Launched in June 2002<br />Automate and centralize NHS record keeping<br />Automation of all patient care infor...
NPfIT Functionality<br />Regional Clinical Information Systems <br />Initial cost - approximately NZ$14 billion<br />Infra...
NPfIT Overview<br />Multi-billion dollar project<br />Contracts split between at least a dozen vendors<br />Covers a geogr...
NPfIT Architecture Overview<br />Region1<br />CIS<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br...
Current status of NPfIT<br />In crisis almost from the first day<br />One year into the project most vendors were having p...
Accenture/iSoft<br />By Sept 2006 Accenture had enough and abandoned the project<br />They walked away from over $5 billio...
Overall Cost of NPfIT?<br />Estimated cost range is<br />$68 to $142 billion<br />
Simple Iterative Partitions<br />Phase 1 – audit of organization readiness<br />Phase 2 – working on the partitioning<br /...
Phase 1<br />Highlights deep distrust between NHS factions<br />Delivers extensive training in the nature of complexity<br...
Phase 2<br />Already considerable effort made to partition<br />However, partitions were wrong<br />FIVE different impleme...
Phase 3<br />Simplify partitions further <br />Remove up to 90% complexity from the 20% remaining <br />Remove unnecessary...
Summary<br />Complexity of business processes is linked to decision points and the paths created by those decision points<...
Roger Sessions<br />Roger Sessions, author of ‘Simple Architectures for Complex Enterprises’, has been an invaluable sourc...
Q & A<br />
Resources<br />www.microsoft.com/teched<br />Tech·Talks	Tech·Ed Bloggers<br />Live Simulcasts	Virtual Labs<br />http://mic...
Related Content<br />Breakout Sessions (session codes and titles)<br />Interactive Theater Sessions (session codes and tit...
Track Resources<br />Resource 1: Roger Sessions - roger@objectwatch.com - www.objectwatch.com<br />Resource 2: Simple Arch...
Please complete an<br />evaluation<br />
Upcoming SlideShare
Loading in...5
×

Simplifying Architecture Design

450

Published on

TechEd 2008 presentation given in NZ and Australia.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
450
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 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?
  • 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.
  • Transcript of "Simplifying Architecture Design"

    1. 1.
    2. 2. Session Code: ARC206<br />Managing complexity in a Software plus Services World<br />Amanda Jackson<br />Fronde Systems Group Ltd<br />
    3. 3. Presentation Outline (hidden slide):<br />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. <br />Title: Managing Complexity in a Software plus Services World<br />Technical Level: All levels<br />Intended Audience: Developers, Enterprise Architects<br />Objectives (what do you want the audience to take away from this session):<br />1. Understand what EA is and how things can go wrong<br />2. Understand complexity and how a system can end up being complex<br />3. Learn how to manage complexity and be successful using SIP<br />Presentation Outline (including demos):<br />
    4. 4. Presentation Overview<br />Introduction<br />Redefining Enterprise Architecture<br />Understanding complexity<br />Partitioning<br />Mathematics of complexity<br />SIP<br />Summary<br />
    5. 5. Amanda Jackson<br />Consultant/Developer with Fronde Systems Ltd<br />Started NZ Girl Geek Dinners in 2007<br />In the past has covered most roles in IT including: QA, Network Admin, Source Control Manager, Build Management, Games Development, Change Management<br />
    6. 6. What is this talk about?<br />Simplifying architecture through:<br />Modeling complexity<br />Partitioning complex systems<br />By simplifying architecture we can more easily: <br />Add business value<br />Benefit from trends like Software plus Services<br />
    7. 7. Software plus Services<br />Combines Internet services with client and server software<br />Increasingly complex, globally distributed systems<br />More choices in the ways to access and manage software<br />A new way of thinking is required at the EA level!<br />
    8. 8. Simplify & Redefine<br />Before we can simplify and redefine we need to <br />understand:<br />What Enterprise Architecture is<br />Why we need Enterprise Architecture<br />What can go wrong<br />How things fail<br />
    9. 9. What is Enterprise Architecture?<br />Documentation or processes that describe:<br />Structure<br />Organization<br />Behaviours<br />Planning Changes<br />
    10. 10. Enterprise Architecture<br />“An enterprise architecture is a description of the <br />goals of an organization, how these goals are <br />realized by business processes, and how these <br />business processes can be better served through <br />technology.” <br />Roger Sessions - Simple Architectures for Complex Organizations<br />
    11. 11. Benefits of a good Architecture<br />Adds value to an organization<br />Is concerned with all aspects of an organization<br />Ensures a good ROI<br />Helps ensure successful projects<br />
    12. 12. Why we need EA<br />Based on a number of studies done in the last 10 <br />years (such as The KPMG Canada Study, The <br />Chaos Report and others), it has been established <br />that more than 50% of IT projects fail outright! <br />Andy Blumenthal – Director of Enterprise Architecture & IT <br />Governance for the US Coast Guard<br />
    13. 13. What can go wrong?<br />Failed projects<br />Loss of income<br />
    14. 14. Why EA fails<br />Excessive complexity<br />Processes are:<br />Expensive<br />Time consuming<br />Poorly defined<br />Results are:<br />Not testable<br />Not reproducible<br />Not directly usable<br />Value is not delivered<br />
    15. 15. EA Failures<br />Four years ago the government announced to a grateful <br />NHS a national IT program to become the world’s largest <br />civil computer scheme. But after a breathless start, delivery <br />dates for key software were missed, the full costs of <br />implementation have always been unclear, and experts are <br />divided over whether the scheme is too ambitious to ever <br />work as originally planned.<br />Questions that need to be answered on NHS IT plan by <br />Tony Collins, April 2006 in ComputerWeekly,com<br />
    16. 16. What does this mean for EA?<br />In October 2007, Gartner predicted that 40% of all existing Enterprise Architecture programs will be shut down by 2010.<br />Fewer than 5% of firms use Enterprise Architecture effectively. Ross, Weill & Robertson – Enterprise Architecture as a Strategy.<br />
    17. 17. What is the problem?<br />
    18. 18. Existing Methodologies<br />Influenced by Object Oriented design & analysis<br />Pre-date Software-plus-Services<br />Continuously evolving but not catching up!<br />Do not deal well with the new S+S design model<br />
    19. 19. The new Enterprise Architecture<br />Focus on complexity at the enterprise level<br />Understand the mathematics of complexity<br />Create a model for complexity<br />Define a process for controlling complexity<br />Test solutions against that model<br />
    20. 20. What is Complexity?<br />A function of the number of states <br />that system can find itself in!<br />
    21. 21. Software System Complexity<br />values (heads, tails) penny;<br />penny = read (penny_sensor);<br />if (penny == heads) message (“Penny is heads”);<br />if (penny == tails) message (“Penny is tails”);<br />end;<br />Complexity = States Per VariableVariables<br />
    22. 22. Prepare Penny/Heads <br />Memo<br />Penny =<br />Heads<br />Memo<br />RE: Penny<br />Outcome: Heads<br />Read Penny<br />Prepare Penny/Tails <br />Memo<br />Penny =<br />Tails<br />Memo<br />RE: Penny<br />Outcome: Tails<br />Business System Complexity<br />Complexity = Branches per Decision Point Decision Point<br />
    23. 23. Software & Business Comparison<br />When considering complexity we can see that:<br />Variables are like decision points<br />States per variable are like branches per point<br />
    24. 24. Mathematical Foundations<br />
    25. 25. Partitioning<br />The most important complexity control strategy<br />Divide and conquer to reduce complexity<br />Reduced complexity = improved efficiency<br />
    26. 26. The Power of Partitioning<br />Number of autonomous systems: 1<br />Number of states per variable: 6<br />Number of variables: 12<br />Number of states: 2,176,782,336<br />Number of autonomous systems: 2<br />Number of states per variable: 6<br />Number of variables: 6<br />Number of states: 93,312<br />Reduction in complexity: 99.57%<br />
    27. 27. Looking at it another way…<br />1 Bucket / 2 Dice <br />a.k.a. 1 autonomous system<br />2 Buckets / 1 Die Each<br />a.k.a. 2 autonomous systems<br />1 Die = 6 states<br />1 Die = 6 states<br />1 Die = 6 states<br />2 Die = 6 6 states<br />Total states this bucket: 36<br />Total states for 2 buckets: 12<br />
    28. 28. And now with 12 variables…<br />1 Bucket / 12 Dice <br />2 Buckets / 6 Die Each<br />3 Buckets / 4 Die Each<br />1 Die = 6 states<br />12 Die = 612<br />Total states: <br />2,176,782,336<br />66 = 46,656 states per<br /> bucket<br />64 = 1,296 states per<br /> bucket<br />Total states:<br />93,312<br />Total states:<br />3,888<br />
    29. 29. What is a partition?<br />A set of subsets that divide a larger set<br />All elements of the larger set live in one, and only one, of the subsets <br />
    30. 30. Five Laws of Partitions<br />Must be true partitions<br />Definitions must be appropriate to the problem at hand <br />The number of subsets must be appropriate<br />The size of the subsets must be roughly equal<br />The interactions between subsets must be minimal and well defined<br />
    31. 31. Set 1<br /> Set 2<br /> Set 3<br /> Set 4<br /> Set 5<br />Which are partitions?<br />Unpartitioned<br />
    32. 32. What do we partition?<br />Consider same-category-as<br />
    33. 33. Same-category-as<br />Food<br />Stationery<br />Reading<br />Kitchenware<br />
    34. 34. Our new partitions<br />Food<br />cereal<br />soft drink<br />flour<br />lollies<br />Stationery<br />pen<br />pencil<br />notebook<br />Reading<br />newspaper<br />Kitchenware<br />knife<br />cup<br />
    35. 35. SIP (very brief) Overview<br />SIP describes the main approaches used for:<br />Complexity control<br />Partitioning<br />Simplification<br />Iterative Delivery<br />Overall goal is to align the IT and Business processes so they work together effectively<br />
    36. 36. Partition Identification<br />Start at the highest possible view of the enterprise then attempt to partition<br />If partition is successful – repeat<br />Keep repeating until you cannot partition any more<br />At each stage of partitioning, assign types and deployment information<br />
    37. 37. Start at the highest possible view<br />Retail Organization<br />Operations<br />Internet Sales<br />Retail Sales<br />Catalogue Sales<br />Brand Awareness<br />Product Awareness<br />Planning<br />
    38. 38. Identify Synergies<br />Retail Organization<br />Operations<br />Internet Sales<br />Retail Sales<br />Catalogue Sales<br />Brand Awareness<br />Product Awareness<br />Planning<br />
    39. 39. Create simpler partitions<br />Retail Organization<br />Operations<br />Sales<br />Marketing<br />Planning<br />
    40. 40. Keep following your path<br />Retail Organization<br />Operations<br />Sales<br />Marketing<br />Planning<br />Sales<br />Retail<br />Distribution<br />Retail<br />Retail Sales<br />Reporting<br />Inventory<br />
    41. 41. Partition Simplification<br />Construct sub-classes of a partition. <br />Any functionality that can be removed from an element should be removed<br />
    42. 42. Software plus Services<br />Hugely flexible<br />Integrate traditional software with distributed services<br />Or not…<br />Put services in a cloud for direct user access<br />A dizzying, and very impressive array of S+S services<br />The ability for the architecture to get hugely bloated and complex if not planned well – a.k.a. Bloatware!<br />
    43. 43. How do we partition S+S?<br />Keep It Simple<br />Architect the simplest possible complexity<br />Make it obvious which elements live where<br />Make it easy to see where partitions lay<br />Don’t repeat elements<br />
    44. 44. How do we partition S+S?<br />Start at the highest possible view<br />Create a high level architecture<br />Show each service and application as they relate to each other<br />Show clearly defined links<br />
    45. 45. How do we partition S+S?<br />Architect and partition each solution<br />Only those relevant to your current objective<br />Make each architecture as simple as possible<br />Don’t repeat elements in multiple architectures<br />Result? It’s easier to see solution links<br />Result? It’s easier to redesign the whole<br />
    46. 46. Case Study in Complexity<br />Complexity can creep into even the most extensively planned project<br />Unchecked complexity leads to project failure<br />Using Simple Iterative Partitions might have saved this project, even when it was well into failure mode<br />
    47. 47. NPfIT<br />Launched in June 2002<br />Automate and centralize NHS record keeping<br />Automation of all patient care information<br />Access to any patient record by any authorized health care professional in the UK<br />Ability to book appointments with any health care facility in the UK<br />Automation of prescription services<br />
    48. 48. NPfIT Functionality<br />Regional Clinical Information Systems <br />Initial cost - approximately NZ$14 billion<br />Infrastructure Systems<br />Initial cost – approximately NZ$3.2 billion<br />Shared Applications<br />Initial cost – approximately NZ$425 million<br />
    49. 49. NPfIT Overview<br />Multi-billion dollar project<br />Contracts split between at least a dozen vendors<br />Covers a geographic area of close to 100,000 square miles<br />Offers services to 60 million people<br />Expected to process 300 transactions per second<br />
    50. 50. NPfIT Architecture Overview<br />Region1<br />CIS<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />Region2<br />CIS<br />Region5<br />CIS<br />H<br />H<br />CRS<br />H<br />H<br />Central <br />Apps<br />C&B<br />ETP<br />H<br />H<br />H<br />H<br />H<br />H<br />H<br />Region3<br />CIS<br />Region4<br />CIS<br />H<br />H<br />Contact<br />PACS<br />H<br />H<br />
    51. 51. Current status of NPfIT<br />In crisis almost from the first day<br />One year into the project most vendors were having problems relating to each other<br />The worst off, the Accenture/iSoft partnership. <br />
    52. 52. Accenture/iSoft<br />By Sept 2006 Accenture had enough and abandoned the project<br />They walked away from over $5 billion in revenues<br />They wrote off in excess of $700 million they had already spent<br />They agreed to pay over $100 million to settle legal obligations.<br />
    53. 53. Overall Cost of NPfIT?<br />Estimated cost range is<br />$68 to $142 billion<br />
    54. 54. Simple Iterative Partitions<br />Phase 1 – audit of organization readiness<br />Phase 2 – working on the partitioning<br />Phase 3 – simplify the partitions<br />Phase 4 – prioritize subsets in the partitions<br />Phase 5 - iteration<br />
    55. 55. Phase 1<br />Highlights deep distrust between NHS factions<br />Delivers extensive training in the nature of complexity<br />Focuses on managing complexity as the absolute highest priority<br />
    56. 56. Phase 2<br />Already considerable effort made to partition<br />However, partitions were wrong<br />FIVE different implementations of the same, very complex system<br />This was done on purpose due to a highly suspect business rule<br />SIP forces removal of the dodgy business rule, reduces complexity by 80%<br />Create high level partitions<br />
    57. 57. Phase 3<br />Simplify partitions further <br />Remove up to 90% complexity from the 20% remaining <br />Remove unnecessary functionality<br />Make sure all technical requirements can be traced back to a business requirement<br />
    58. 58. Summary<br />Complexity of business processes is linked to decision points and the paths created by those decision points<br />Complexity of software systems is linked to the number of variables and the number of significant values those variables can take<br />Partitioning is the single major factor in reducing complexity<br />
    59. 59. Roger Sessions<br />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.<br />Roger is the CEO of ObjectWatch, the creator of SIP and an Enterprise Architecture expert.<br />
    60. 60. Q & A<br />
    61. 61. Resources<br />www.microsoft.com/teched<br />Tech·Talks Tech·Ed Bloggers<br />Live Simulcasts Virtual Labs<br />http://microsoft.com/technet<br />Evaluation licenses, pre-released products, and MORE!<br />http://microsoft.com/msdn<br />Developer’s Kit, Licenses, and MORE!<br />
    62. 62. Related Content<br />Breakout Sessions (session codes and titles)<br />Interactive Theater Sessions (session codes and titles)<br />Hands-on Labs (session codes and titles)<br />Hands-on Labs (session codes and titles)<br />
    63. 63. Track Resources<br />Resource 1: Roger Sessions - roger@objectwatch.com - www.objectwatch.com<br />Resource 2: Simple Architectures For Complex Enterprises - ISBN-13: 978-0735625785<br />Resource 3: amanda.jackson@fronde.com – fee free to email with any questions<br />
    64. 64. Please complete an<br />evaluation<br />
    65. 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.<br />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.<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×