Slide 1

Slide 1 text

Cultivating Architecture Birgitta Böckeler | @birgitta410 October 2022

Slide 2

Slide 2 text

Autonomous Teams

Slide 3

Slide 3 text

https://agilemanifesto.org/

Slide 4

Slide 4 text

Autonomous Teams

Slide 5

Slide 5 text

Motivation Flexibility Scaling Why autonomy?

Slide 6

Slide 6 text

Decentralisation Autonomous Teams && Architecture

Slide 7

Slide 7 text

“We need some governance!”

Slide 8

Slide 8 text

manipulate control rule restrain guide serve as deciding principle have decisive influence Exert a determining or guiding influence to govern

Slide 9

Slide 9 text

guide serve as deciding principle have decisive influence Exert a determining or guiding influence rule to govern

Slide 10

Slide 10 text

[ Side note on automation of governance ]

Slide 11

Slide 11 text

Decision Records Default Practices Business Goals Architecture Characteristics Architecture Principles Building blocks of a Guidance-based approach

Slide 12

Slide 12 text

Decision Records Default Practices Business Goals Architecture Characteristics Architecture Principles

Slide 13

Slide 13 text

Push & pull the business context

Slide 14

Slide 14 text

https://blog.pragmaticengineer.com/ the-product-minded-engineer/ Gergely Orosz Reward “product- minded engineers”

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Decision Records Default Practices Business Goals Architecture Characteristics Architecture Principles

Slide 17

Slide 17 text

Architecture Characteristics

Slide 18

Slide 18 text

Accessibility Auditability Availability Compliance Configurability Data integrity Distributability Extensibility Internationalization Monitoring Performance Portability Resilience / Fault Tolerance Scalability Security Supportability Usability Upgradability Responsiveness Testability Recoverability Data Privacy Find your focus … Traceability

Slide 19

Slide 19 text

Prioritise Offline Availability Portability Data privacy … …

Slide 20

Slide 20 text

Prioritise

Slide 21

Slide 21 text

Decision Records Default Practices Business Goals Architecture Characteristics Architecture Principles

Slide 22

Slide 22 text

https://www.slideshare.net/EoinWoods1/using-software-architecture-principles-in-practice “A declarative statement made with the intention of guiding architectural design decisions in order to achieve one or more qualities of a system.” - Eoin Woods Architecture Principles

Slide 23

Slide 23 text

Statement Team Decisions System Qualities Team Decisions Team Decisions Team Decisions guide lead to Architecture Characteristics

Slide 24

Slide 24 text

Example http://engineering-principles.onejl.uk/ “A declarative statement made with the intention of guiding architectural design decisions in order to achieve one or more qualities of a system.”

Slide 25

Slide 25 text

http://engineering-principles.onejl.uk/ http://pubs.opengroup.org/architecture/togaf8-doc/arch/chap29.html in order to achieve one or more qualities of a system. made with the intention of guiding architectural design decisions A declarative statement

Slide 26

Slide 26 text

http://engineering-principles.onejl.uk

Slide 27

Slide 27 text

Sam Newman, “Building Microservices” Rationale Implications

Slide 28

Slide 28 text

Facts over Opinions Hypothesis-driven development Data democratization Enter new market X Customer centricity

Slide 29

Slide 29 text

Authorizations are role-based Eliminate integration databases Do ongoing user research Design for Pace of Change Build Differentiators Open Integration Standards Reusable Components Scale Horizontally Cloud Native Production Ready Automate Repetitive Tasks Clean Code Continuous Delivery Consistent Environments Maintainability Performance Importance Release Early and Often Security First Loosely Coupled Security, Compliance and Data Privacy AWS First Be Bold Data-driven/ metric-driven Infrastructure as Code Have a multidisciplinary team Eliminate accidental complexity Consistent interfaces and data flows Small and Simple Smarts in the Nodes, not the Network Encapsulate legacy Minimal customisation of COTS/SaaS Organise around Business Capabilities Consolidate and cleanse data Minimize technology variation Cleaning is part of work well done You build it, you run it Apply principle of least privileges Data is a shared asset Small independent services Facts over Opinions Autonomy over Economies of Scale Decisions at latest responsible moment Single Source of Truth Data freshness Domain Integrity Sensitive data are exchanged securely Existing experiences over different variations Asynchronous interactions over synchronous coupling

Slide 30

Slide 30 text

Authorizations are role-based Eliminate integration databases Do ongoing user research Design for Pace of Change Build Differentiators Open Integration Standards Reusable Components Scale Horizontally Cloud Native Production Ready Automate Repetitive Tasks Clean Code Continuous Delivery Consistent Environments Maintainability Performance Importance Release Early and Often Security First Loosely Coupled Security, Compliance and Data Privacy AWS First Be Bold Data-driven/ metric-driven Infrastructure as Code Have a multidisciplinary team Eliminate accidental complexity Consistent interfaces and data flows Small and Simple Smarts in the Nodes, not the Network Encapsulate legacy Minimal customisation of COTS/SaaS Organise around Business Capabilities Consolidate and cleanse data Minimize technology variation Cleaning is part of work well done You build it, you run it Apply principle of least privileges Data is a shared asset Small independent services Facts over Opinions Autonomy over Economies of Scale Decisions at latest responsible moment Single Source of Truth Data freshness Domain Integrity Sensitive data are exchanged securely Existing experiences over different variations Asynchronous interactions over synchronous coupling Focus Consensus Official Blessing Why bother with your own principles?

Slide 31

Slide 31 text

How to find your principles?

Slide 32

Slide 32 text

Goals What’s holding us back today? What’s moving us forward today? Risks Strengths Opportunities Threats Weaknesses Cross-team relevance Business Goals Architecture Characteristics

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Decision Records Default Practices Business Goals Architecture Characteristics Architecture Principles

Slide 35

Slide 35 text

Sensible Default Practices Thoughtworks Technology Podcast, “Starting out with sensible default practices” https://www.thoughtworks.com/en-de/insights/podcasts/technology-podcasts/sensible-defaults

Slide 36

Slide 36 text

Technology Radar https://thoughtworks.com/radar

Slide 37

Slide 37 text

Build your own Technology Radar https://opensource.zalando.com/tech-radar/

Slide 38

Slide 38 text

Promising, experimenting with this on one or more teams TRIAL https://www.thoughtworks.com/insights/blog/using-thoughtworks-technology-radar-track-governance Proven to work within this organisation, well supported ADOPT Evaluating for potential experiments, under active research ASSESS Deprecated, don't start new projects using this HOLD Level of guidance

Slide 39

Slide 39 text

Decision Records Default Practices Business Goals Architecture Characteristics Architecture Principles

Slide 40

Slide 40 text

Decision Records https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions

Slide 41

Slide 41 text

Business Goals are connected Architecture Characteristics are defined Decisions Records are documented Default Practices are documented and evolved Architecture Principles are continuously discussed, understood and evolved Building blocks of a Guidance-based approach

Slide 42

Slide 42 text

CULTIVATING ARCHITECTURE How to make it effective?

Slide 43

Slide 43 text

Autonomy Trust Voice Westrum Organizational Culture Software Delivery Performance Forsgren et al, State of DevOps Report 2018 https://puppet.com/resources/report/2018-state-devops-report predictive relationship Climate for Learning

Slide 44

Slide 44 text

guide serve as deciding principle have decisive influence Exert a determining or guiding influence rule foster learning culture to govern telling people what to do

Slide 45

Slide 45 text

CULTIVATING ARCHITECTURE Approach governance through a learning lens Nudge effectively

Slide 46

Slide 46 text

https://www.bi.team/publications/east-four-simple-ways-to-apply-behavioural-insights/

Slide 47

Slide 47 text

“Harness the power of defaults” “Show that most people perform the desired behaviour” “Prompt people when they are likely to be most receptive” “Design rewards and sanctions for maximum effects”

Slide 48

Slide 48 text

Business Goals are connected Architecture Characteristics are defined Decisions Records are documented Default Practices are documented and evolved Architecture Principles are continuously discussed, understood and evolved Building blocks of a Guidance-based approach Learning culture Effective nudging

Slide 49

Slide 49 text

Cultivating Architecture Birgitta Böckeler | @birgitta410