Slide 1

Slide 1 text

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

Slide 29

Slide 29 text

Eoin Woods Endava [email protected] @eoinwoodz 29 THANK YOU … QUESTIONS?