endava.com
QUALITY. PRODUCTIVITY. INNOVATION.
Software Architecture asSystems 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.
ProgramStructure (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.
MonoliticFoundations
Models of Structure
DistributedViews, 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 WoodsEndava
+44 207 367 1000
en_ewoods