Slide 1

Slide 1 text

Effective Practices for Continuous Software Architecture Eoin Woods April 2025 Agile Meets Architecture

Slide 2

Slide 2 text

Eoin Woods • Endava’s Chief Engineer, based in London (2015 - 2025) • 10+ years in products - Bull, Sybase, InterTrust • 10 years in capital markets - UBS and BGI (BlackRock) • Software developer, architect, now Chief Engineer • Author, editor, speaker, community participant

Slide 3

Slide 3 text

THE AGILITY IMPERATIVE 5

Slide 4

Slide 4 text

6 Agile Delivery Enables Rapid and Effective Change

Slide 5

Slide 5 text

Agile Aims for Continuous Evolution 7 Continuous evolution Less known early in delivery Less value in “up front” architecture

Slide 6

Slide 6 text

So why bother with architecture? 8 • Achieving quality attributes • Balancing stakeholder concerns • Making complex tradeoffs • Resolving cross cutting concerns across many independent parts Cross-Cutting Concerns Tradeoffs Stakeholders Quality Attributes

Slide 7

Slide 7 text

Architecture Needs to be More “Continuous” 9 requirements design build validation completion architectural effort time inception architectural effort time delivery 0 delivery 1 delivery 2 delivery ‘n’ … iterative, incremental, early & frequent delivery, finding feedback, adapting and evolving …

Slide 8

Slide 8 text

INTRODUCING CONTINUOUS ARCHITECTURE 10

Slide 9

Slide 9 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 11 www.continuousarchitecture.info Murat Erder & Pierre Pureur, 2015

Slide 10

Slide 10 text

Continuous Architecture Artefacts 12 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 11

Slide 11 text

Continuous Architecture Practices 13 Provide Leadership Focus on Quality Attributes Drive Architectural Decisions Manage Technical Debt Implement Feedback Loops

Slide 12

Slide 12 text

THE PRACTICES OF CONTINUOUS ARCHITECTURE 14

Slide 13

Slide 13 text

PRACTICE: PROVIDE (TECHNICAL) LEADERSHIP 15

Slide 14

Slide 14 text

Provide Leadership • Leading rather than ”managing” • Form and lead a technical leadership group • Lead the resolution of technical concerns • What are the key architecture principles? • Which “least worst” option to choose? • What can be deferred, what needs to be done now? (Tech debt) • Drive constant progress towards technical excellence • What are the long-term consequences of decisions? • Be ”the conscience of the team” • Represent the technical view ”upwards” 16 Start With Why: The Inspiring Million-Copy Bestseller That Will Help You Find Your Purpose (Paperback) Page 1 Page 1 https://www.pexels.com/@fauxels

Slide 15

Slide 15 text

PRACTICE: FOCUS ON QUALITY ATTRIBUTES 17

Slide 16

Slide 16 text

• Cross-cutting concerns that need system level attention • Most product owners (and so teams) are focused on features • Using scenarios helps to make the need for QAs clear • Tell a story in a structured way • Prioritisation is key and an important architectural activity • Usually a balance across security, performance, scalability, resilience • Make sure the stories get into the backlog – PO conversations Quality Attributes Architectural Approach 18 https://pixabay.com/users/publicdomainpictures-14 Image result for software architecture viewpoints perspectives Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps (Addison-Wesley Signature Seri... Software Architecture in Practice, 4th Edition Cover: Designing Software Architectures: A Practical Approach

Slide 17

Slide 17 text

Focus on Quality Attributes 19 Business Concern Scenarios (show implications) Measurement Tactics Quality Attributes Technical Attention

Slide 18

Slide 18 text

PRACTICE: DRIVE ARCHITECTURAL DECISIONS 20

Slide 19

Slide 19 text

Drive Architectural Decisions • Making, validating, managing and implementing good decisions is key to doing architecture continuously • Use the technical leadership group to drive this process • Capture decisions in an accessible way • e.g. ADRs in Git or wiki pages in a well-defined form • Curating decisions over time is important • Control the number & organise the catalogue • Revalidate and remove obsolete decisions • Feedback into the architecture principles 21 https://www.pexels.com/@karolina-grabowska Remember: you need to make sure good decisions are made, not make all the decisions!

Slide 20

Slide 20 text

PRACTICE: MANAGE TECHNICAL DEBT 22

Slide 21

Slide 21 text

Manage Technical Debt 23 Technical debt is a well established yet nebulous concept … … very context specific One person’s “debt” is another person’s “simplest thing possible” Hard coded validation rather than a chain-of-responsibility of validators. Debt? Or simple and effective?

Slide 22

Slide 22 text

Does Technical Debt Matter? 24 Technical debt matters when it stops us doing something … … it is now too expensive to make a change … or we are too slow to react to a need … or our team is too inefficient to be valuable … or it is too risky to update our technology The team needs to be looking ahead to predict and avoid these situations

Slide 23

Slide 23 text

Sources of Technical Debt 25 Environment Changing Context Development Practice Team Structure • Time and cost • Poor requirements • Unrealistic goals • Business context change • Technology change • Evolution through success • Poor testing • Lack of peer review & collaborative work • Inconsistent approach • Inexperience with technology or domain • Lack of communication & understanding • Part time ad-hoc teams Source: Managing Technical Debt, Kruchten, Nord, Ozkaya

Slide 24

Slide 24 text

Dealing With Technical Debt 26 Just-in-Time Cleanup Little and Often 0 5 10 15 20 25 30 1 2 3 4 5 6 7 8 Technical Debt Total by Sprint -1 1 3 5 7 9 11 13 15 1 2 3 4 5 6 7 8 Debt Remediation Effort by Sprint 0 5 10 15 20 25 30 35 1 2 3 4 5 6 7 8 Technical Debt Total by Sprint

Slide 25

Slide 25 text

PRACTICE: IMPLEMENT FEEDBACK LOOPS 27

Slide 26

Slide 26 text

Implement Feedback Loops 28 Code Repo Architecture Cycle Architectural Decisions & Knowledge Delivery Pipeline Artefact Measurements Operational Measurements Consider both trends and limits Production

Slide 27

Slide 27 text

• Feedback loops are your ”architectural reality check” • Automated, semi-automated and manual all have their place • Typically measure quality attributes but can be functional • Internal (e.g. code complexity) and external (e.g. API response time) are both important • Start small and simple, targeting biggest risks or concerns • Over time the implementation can become complex Implement Feedback Loops 29 https://unsplash.com/photos/DKSWyxtcPVQ Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps (Addison-Wesley Signature Seri...

Slide 28

Slide 28 text

TO CONCLUDE 30

Slide 29

Slide 29 text

Architecture: From Top-Down & UpFront 31

Slide 30

Slide 30 text

… towards Democratised and Continuous 32

Slide 31

Slide 31 text

In Conclusion 33 Agile Continuous Evolution Continuous Software Engineering Less value in ”Up Front” Architecture Continuous Architecture Technical Leadership Quality Attributes Decisions Technical Debt Feedback Loops

Slide 32

Slide 32 text

Just Enough Software Architecture: A Risk-Driven Approach by George H. Fairbanks (2010-08-30) Further Reading on Continuous Architecture 34 continuousarchitecture.info continuous-architecture.com Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps (Addison-Wesley Signature Seri...

Slide 33

Slide 33 text

Further Reading on Architecture Practice 35 Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives Software Architecture in Practice, 4th Edition Cover: Designing Software Architectures: A Practical Approach

Slide 34

Slide 34 text

Further Reading on Leadership 36 Start With Why: The Inspiring Million-Copy Bestseller That Will Help You Find Your Purpose (Paperback) Page 1 Page 1

Slide 35

Slide 35 text

Eoin Woods [email protected] https://www.agile-meets-architecture.com/speakers/2025-eoin-woods https://www.eoinwoods.info eoinwoods.bluesky.social @eoinwoodz (Threads, Instagram and X) 37 THANK YOU … QUESTIONS?