Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Architecture as Systems Dissolve (OOP2016)

262 views

Published on

A presentation on the history, present and possible future of software architecture, presented as part of the Jubilee track at OOP 2016 in Munch.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Software Architecture as Systems Dissolve (OOP2016)

  1. 1. endava.com QUALITY. PRODUCTIVITY. INNOVATION. Software Architecture as Systems Dissolve Eoin Woods OOP 2016 Munich, February 2016 20160114.1
  2. 2. 2 Software Architecture as Systems Dissolve  Ages of Software Systems  Ages of Software Architecture  Software Architecture Assessed  The Future? QUALITY. PRODUCTIVITY. INNOVATION.
  3. 3. 3 3 Software Architecture Ever evolving but always important • Many definitions by many people • Stakeholders • Structures • Principles and Decisions • System Qualities • Manages risk - evolves as challenges change QUALITY. PRODUCTIVITY. INNOVATION.
  4. 4. 4 4 Systems are Dissolving! QUALITY. PRODUCTIVITY. INNOVATION.
  5. 5. 5 5 The 5 Ages of Software Systems QUALITY. PRODUCTIVITY. INNOVATION. Monolithic (1980s) Distributed Monoliths (1990s) Internet Connected (2000s) Internet is the System (2010s) Intelligent Connected (2020s)
  6. 6. 6 6 Concerns Across the Ages QUALITY. PRODUCTIVITY. INNOVATION. Monolithic (80s) Distributed (90s) Internet Connected (2000s) Internet is the System (2010s) Intelligent Connected (2020s)
  7. 7. 7 7 The 5 Ages of Software Architecture QUALITY. PRODUCTIVITY. INNOVATION. Program Structure (1980s) - Modules - Info hiding Emergence (1990s) - Definitions - Concepts - WICSA conference Development (2000s) - Views - NFRs - Stakeholders - Styles - Assessment - Methods - Books Maturity (2010s) - Decisions - Agility - Sustainability - Evolution The future … (2020s)
  8. 8. 8 8 Necessity Leads to Invention QUALITY. PRODUCTIVITY. INNOVATION. Monolitic Foundations Models of Structure Distributed Views, Stakeholders, Styles, Assessment Internet Connected Non-Functional Qualities, Agility, Evolution Internet as a System Decisions, Principles, Sustainability, … Intelligent Connected
  9. 9. 9 9 Software Architecture’s Successes What has software architecture been good at? • Structure, connections, responsibilities • Stakeholders • Multiple-views of systems • Styles and patterns • Non-functional requirements • Cost to build transparency (capex) • Principles and decisions • Agility (?) QUALITY. PRODUCTIVITY. INNOVATION.
  10. 10. 10 10 Software Architecture’s Misses What have software architecture‘s blind spots been? • Dynamic structures • Data and algorithms as architectural elements • Operating the systems • Cost-to-operate transparency (opex) QUALITY. PRODUCTIVITY. INNOVATION.
  11. 11. 11 11 How Architecture has Helped QUALITY. PRODUCTIVITY. INNOVATION. Monolithic Client/Server Internet Connected Internet as a System Intelligent Connected Program Structure Structure + Connections + Responsibilities + Stakeholders + Styles + Assessment + NFRs + Agility + Evolution …. operations? + Sustainability + Principles + Decisions … emergent properties? … dynamic structures? … operations? (again) … costs moving to opex? What’s next? … algorithmic architecture? … data determining qualities? … operations? (yet again) …. cost prediction?
  12. 12. 12 12 Software Architecture’s Future Less More Defined Structure Emergent Runtime Structure Certainty Probability Structural Design Data and Algorithm Design Operations Process Operations Policy & Automation Capex Opex Decisions Principles, Policies, Algorithms QUALITY. PRODUCTIVITY. INNOVATION. Software architecture has been good at structure, certainty and relationships … the rest is work-in-progress!
  13. 13. 13 13 Software Architecture’s Future What remains important • Stakeholders • Principles and policies • Multiple views of an architecture • Non-functional qualities • Assessment The future … • Dynamic composition & structure • Emergent properties at runtime • Integrating “intelligence” into systems • Data, algorithms as architectural elements • Designing the running costs … and energy efficiency! QUALITY. PRODUCTIVITY. INNOVATION.
  14. 14. 14 Thank you QUALITY. PRODUCTIVITY. INNOVATION. Eoin Woods Endava eoin.woods@endava.com +44 207 367 1000 en_ewoods

×