Software Architecture as Systems Dissolve (OOP2016)

Post on 20-Feb-2017

120 views 3 download

transcript

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

eoin.woods@endava.com

+44 207 367 1000

en_ewoods