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
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.”
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
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
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?
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
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
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
“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”
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