endava.com
QUALITY. PRODUCTIVITY. INNOVATION.
Software Architecture as
Systems Dissolve
Eoin Woods
OOP 2016
Munich, February 2016
20160114.1
2
Software
Architecture as
Systems Dissolve
 Ages of Software Systems
 Ages of Software Architecture
 Software Architecture Assessed
 The Future?
QUALITY. PRODUCTIVITY. INNOVATION.
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
Systems are Dissolving!
QUALITY. PRODUCTIVITY. INNOVATION.
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
Concerns Across the Ages
QUALITY. PRODUCTIVITY. INNOVATION.
Monolithic
(80s)
Distributed
(90s)
Internet
Connected
(2000s)
Internet is
the System
(2010s)
Intelligent
Connected
(2020s)
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
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
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
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
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
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
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
Thank you
QUALITY. PRODUCTIVITY. INNOVATION.
Eoin Woods
Endava
eoin.woods@endava.com
+44 207 367 1000
en_ewoods

Software Architecture as Systems Dissolve (OOP2016)

  • 1.
    endava.com QUALITY. PRODUCTIVITY. INNOVATION. SoftwareArchitecture as Systems Dissolve Eoin Woods OOP 2016 Munich, February 2016 20160114.1
  • 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 Software Architecture Ever evolvingbut 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 Systems are Dissolving! QUALITY.PRODUCTIVITY. INNOVATION.
  • 5.
    5 5 The 5 Agesof Software Systems QUALITY. PRODUCTIVITY. INNOVATION. Monolithic (1980s) Distributed Monoliths (1990s) Internet Connected (2000s) Internet is the System (2010s) Intelligent Connected (2020s)
  • 6.
    6 6 Concerns Across theAges QUALITY. PRODUCTIVITY. INNOVATION. Monolithic (80s) Distributed (90s) Internet Connected (2000s) Internet is the System (2010s) Intelligent Connected (2020s)
  • 7.
    7 7 The 5 Agesof 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 Necessity Leads toInvention 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 Software Architecture’s Successes Whathas 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 Software Architecture’s Misses Whathave 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 How Architecture hasHelped 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 Software Architecture’s Future LessMore 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 Software Architecture’s Future Whatremains 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 Thank you QUALITY. PRODUCTIVITY.INNOVATION. Eoin Woods Endava eoin.woods@endava.com +44 207 367 1000 en_ewoods