software architecture as systems dissolve (oop2016)

14
endava.com QUALITY. PRODUCTIVITY. INNOVATION. Software Architecture as Systems Dissolve Eoin Woods OOP 2016 Munich, February 2016 20160114.1

Upload: eoin-woods

Post on 20-Feb-2017

121 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Software Architecture as Systems Dissolve (OOP2016)

endava.com

QUALITY. PRODUCTIVITY. INNOVATION.

Software Architecture asSystems Dissolve

Eoin Woods

OOP 2016

Munich, February 2016

20160114.1

Page 2: Software Architecture as Systems Dissolve (OOP2016)

2

Software Architecture as

Systems Dissolve

Ages of Software Systems

Ages of Software Architecture

Software Architecture Assessed

The Future?

QUALITY. PRODUCTIVITY. INNOVATION.

Page 3: Software Architecture as Systems Dissolve (OOP2016)

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.

Page 4: Software Architecture as Systems Dissolve (OOP2016)

4

4

Systems are Dissolving!

QUALITY. PRODUCTIVITY. INNOVATION.

Page 5: Software Architecture as Systems Dissolve (OOP2016)

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)

Page 6: Software Architecture as Systems Dissolve (OOP2016)

6

6

Concerns Across the Ages

QUALITY. PRODUCTIVITY. INNOVATION.

Monolithic

(80s)

Distributed(90s)

Internet Connected

(2000s)

Internet is the System

(2010s)

Intelligent Connected

(2020s)

Page 7: Software Architecture as Systems Dissolve (OOP2016)

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)

Page 8: Software Architecture as Systems Dissolve (OOP2016)

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

Page 9: Software Architecture as Systems Dissolve (OOP2016)

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.

Page 10: Software Architecture as Systems Dissolve (OOP2016)

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.

Page 11: Software Architecture as Systems Dissolve (OOP2016)

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?

Page 12: Software Architecture as Systems Dissolve (OOP2016)

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!

Page 13: Software Architecture as Systems Dissolve (OOP2016)

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.

Page 14: Software Architecture as Systems Dissolve (OOP2016)

14

Thank you

QUALITY. PRODUCTIVITY. INNOVATION.

Eoin WoodsEndava

[email protected]

+44 207 367 1000

en_ewoods