SOFTWARE ARCHITECTURE FOR A DIGITAL AGE
EOIN WOODS
SOFTWARE ARCHITECTURE GATHERING
OCTOBER 2021
Slide 2
Slide 2 text
Eoin Woods
• Endava’s CTO, based in London (6 years)
• 10+ years in products - Bull, Sybase, InterTrust
• 10 years in capital markets - UBS and BGI
• Software engineer, architect, now CTO
• Author, editor, speaker, community guy
Slide 3
Slide 3 text
SOFTWARE ARCHITECTURE
FOR A DIGITAL AGE
3
Slide 4
Slide 4 text
The Digital Age: Intelligent Connected Platforms
Slide 5
Slide 5 text
Digital Platform Characteristics
5
Always On
Cloud-Based
Unpredictable Direction
Parallel Evolution
Extensible by Design
“Intelligent” Behaviour
Many Interfaces
Highly Connected
Publicly Accessible
Regular Deployment
Slide 6
Slide 6 text
Digital Platform Characteristics
6
Multi Dimensional
Software Architecture and Engineering
Challenge!
Slide 7
Slide 7 text
Evolving Practice
7
FLUID
EVOLVING
ARCHITECTURE
DevOps (and SRE)
Microservices and Serverless
Cloud Infrastructure
Agile Working
Reusable Cloud Services
Slide 8
Slide 8 text
THE CHANGING ROLE OF THE ARCHITECT
8
Slide 9
Slide 9 text
What is the problem?
9
? ?
!!
?
!!
!! ? !!
Slide 10
Slide 10 text
Traditional software architecture is of less value
10
Autonomous teams
Independent activity
Constant decision making
Architect overload
Progress
Blocked
Slide 11
Slide 11 text
Traditional software architecture is of less value
11
Constant evolution
Less known early in delivery
Less value in “up front” architecture
Slide 12
Slide 12 text
12
“Continuous Architecture” is one of the
emerging responses to these challenges
Slide 13
Slide 13 text
CONTINUOUS SOFTWARE ARCHITECTURE
13
Slide 14
Slide 14 text
Is architecture still needed?
14
• Achieving quality attributes
• Balancing stakeholder concerns
• Making complex tradeoffs
• Achieving cross cutting concerns
across many independent parts
But architecture is now a
continual flow of decisions
Cross-Cutting Concerns
Tradeoffs
Stakeholders
Quality
Attributes
Yes!
Slide 15
Slide 15 text
15
Architecture is a skill not (just) a role
Stream of decisions, not “one off” architecture
Principles, styles & patterns over structures
Delegate & share wherever possible
”Little and often” (and adapt)
Aim for a “shared commons”
Architecture
Work in the
New World
Slide 16
Slide 16 text
• Principle 1: Architect products: evolve from projects to products
• Principle 2: Focus on quality attributes, not functional requirements
• Principle 3: Delay design decisions until absolutely necessary
• Principle 4: Architect for change – leverage the “power of small”
• Principle 5: Architect for build, test, deploy and operate
• Principle 6: Model the organisation of your teams after
the design of the system
Continuous Architecture Principles
16
www.continuousarchitecture.info
Murat Erder &
Pierre Pureur, 2015
Slide 17
Slide 17 text
Architecture
Largely Up-Front
Iterative Development
(with architecture refinement)
Incremental Delivery
Test
Deliver
Analysis
Design
Construct
iN i1
i2
Stakeholder
Concerns
Moving to Continuous Software Architecture
Slide 18
Slide 18 text
Moving to Continuous Software Architecture
Test
Deliver
Architecture
Analysis
Design
Construct
iN i1
i2
Incremental Delivery
Architectural
Knowledge
Architectural
Decisions
Stakeholder
Concerns
(See Eltjo Poort’s work on
“Risk and Cost Driven Architecture”)
Agile Development with
Continuous Architecture
Slide 19
Slide 19 text
Moving to Continuous Architecture
19
Principles
1. We prefer industry protocols,
then standard in-house ones,
then ad-hoc point-to-point ones
2. Partner specific detail must not
pollute domain model …
3. Do not use cloud specific services
Principles
1. We prefer industry protocols,
then standard in-house ones,
then ad-hoc point-to-point ones
2. Partner specific detail must not
pollute domain model …
3. Do not use cloud specific services
Principles
1. We prefer industry protocols,
then standard in-house ones,
then ad-hoc point-to-point ones
2. Partner specific detail must not
pollute domain model …
3. Do not use cloud specific services
Styles &
Patterns
Principles
Decisions
Top Down Prescriptive Design Evolving Shared Design
Slide 20
Slide 20 text
Artifacts of Continuous Architecture
20
Styles & Patterns:
Common solutions to
repeating problems
Evolving
Shared Design
Principles
1. We prefer industry protocols,
then standard in-house ones,
then ad-hoc point-to-point ones
2. Partner specific detail must not
pollute domain model …
3. Do not use cloud specific services
Principles
1. We prefer industry protocols,
then standard in-house ones,
then ad-hoc point-to-point ones
2. Partner specific detail must not
pollute domain model …
3. Do not use cloud specific services
Principles
1. We prefer industry protocols,
then standard in-house ones,
then ad-hoc point-to-point ones
2. Partner specific detail must not
pollute domain model …
3. Do not use cloud specific services
Principles:
Guidance to achieve
aligned design decisions
Decisions:
Understanding what we
did, when and why
Slide 21
Slide 21 text
To make artefacts useful they must be …
Minimal
Usable
Significant
Indexed
Checked
Have an audience
Have a purpose
and always …
Slide 22
Slide 22 text
Essential Continuous Architecture Activities
22
Provide
Leadership
Focus on
Quality
Attributes
Drive
Architectural
Decisions
Manage
Technical
Debt
Implement
Feedback
Loops
Slide 23
Slide 23 text
Essential Continuous Architecture Activities
23
Provide
Leadership
Focus on
Quality
Attributes
Drive
Architectural
Decisions
Manage
Technical
Debt
Implement
Feedback
Loops
Leadership not management
Technical concerns not budget and time
“Technical conscience” of the team
System wide concerns
Often forgotten in ”dash to features”
Tradeoffs and specialist knowledge
Ensure good decisions are made
Ensure principles understood and followed
Ensure decisions are captured & understood
Constantly measure
Understand the implications
Manage intentionally
Measure delivery & operation
Spot trends and warning levels
Use to assess architectural quality
Use to focus architectural attention
Slide 24
Slide 24 text
TO CONCLUDE
24
Slide 25
Slide 25 text
Software development is changing:
so will software architecture
25
Agile + DevOps
change how we WORK
Cloud + Containers
change how we BUILD
Less “Upfront” Architecture
Quality Attributes, Tradeoffs, Stakeholders
Flow Of Decisions & Guidance
Changes to Architect’s Work
Changes to Architect Training
Slide 26
Slide 26 text
Architect: From Purveyor of Wisdom …
26
Slide 27
Slide 27 text
… to Trusted Leader and Advisor
27
Slide 28
Slide 28 text
To Find Out More
28
continuousarchitecture.info
continuous-architecture.com