SlideShare a Scribd company logo
1 of 39
Icebergs, Bathtubs & Flows
Applying Systems Thinking to Software Architecture
Matt McLarty, Global Leader of API Strategy at MuleSoft, a Salesforce company
@mattmclartybc
Inspiration
Software architecture
…is a study in dealing with complexity
Functional Operational Organizational
What is “systems thinking”?
• A conceptual approach to problem
solving that considers the behaviour,
structure, and interconnected parts of
the complex systems within which the
problem occurs
• Related to systems theory, systems
engineering, system dynamics, and
chaos theory
Thinking in Systems
• A system is greater than the sum of its parts
• A system cannot be controlled
• Systems can be understood and influenced
“Systems fool us by presenting themselves—or
we fool ourselves by seeing the world—as a
series of events.”
Donella “Dana” Meadows
http://donellameadows.org/donella-meadows-legacy/danas-writing/
Stocks & flows
Stock
Flows
Time graphs
Feedback loops
Balancing Loops Reinforcing Loops
Delays and oscillations
System dynamics
From https://thesystemsthinker.com/step-by-step-stocks-and-flows-converting-from-causal-loop-diagrams/
Understanding systems
• Events show that there is a systemWhat?
• Patterns show its behaviourHow?
• Structure begins to show its purposeWhy?
Iceberg model
Event
Pattern
Structure
Mental Model
System boundaries
• All system boundaries are artificial
• If they are set too small, they are error prone
• If they are set too large, they are difficult to analyze
• Boundaries should change over time as the problem changes
“Where to draw a boundary around a system
depends on the purpose of the discussion.”
Highly-functioning systems
Resilience
• The ability of the system to maintain its purpose through destabilizing events
• Balancing loops for balancing loops
Self-organization
• The ability of subsystems to change themselves
• How the system makes itself more complex
Hierarchy
• Not about power structures
• About abstraction to simplify communication between components
• “Stable intermediate forms”
System archetypes
Policy
resistance
Tragedy of the
commons
Drift to low
performance
Escalation
Success to the
successful
Addiction Rule beating
Seeking the
wrong goal
Leverage points
Improving the information flow
Changing rules and authority
Increasing self-organization
Changing goals and purpose
Shifting the paradigm
The Fifth Discipline
Learning Organization
Generative
Conversation
Aspiration
Understanding
Complexity
Personal Mastery
Shared Vision
Mental Models
Team Learning
Systems Thinking
The Art of Systems Architecting
• Analysis of different types of systems, including
software systems and collaborative systems
• Applies heuristics and design progression
“It is the system, not the software inside, the
client wishes to acquire.”
“The greatest leverage in system architecting is
at the interfaces.”
https://sdincose.org/wp-content/uploads/2017/10/TheArtOfSystemsEngineering_inaugural.pdf
Applying systems thinking
…to software architecture…
Software systems
Software systems
…are sociotechnical systems
What is software?
Software is a digital projection of human intentions
Software architecture should focus on aligning
those intentions toward a common goal
System archetype: “addiction”
Shifting the burden to the intervenor
“Addiction is finding a quick and dirty solution to the symptom of
the problem, which prevents or distracts one from the harder and
longer-term task of solving the real problem”
In software systems, this is “silver bullet” syndrome
Architectural leverage points
1. Transcending paradigms
2. Shifting the paradigm
3. Changing goals and purpose
4. Increasing self-organization
5. Changing rules and authority
6. Improving information flows
7. Limiting reinforcing feedback loops
8. Strengthening balancing feedback loops
9. Shortening delays
10. Optimizing stock-and-flow structures
11. Buffering stabilizing stocks relative to flows
12. Applying constants and parameters
Lots of time spent here…
…should be spent here!
Highly-functioning IT
Brittle monoliths Resilient microservices
Siloed organizations
Self-organizing,
cross-functional teams
Horizontally-tiered
applications
Hierarchical domains, APIs
Stable intermediate forms
“Minimum viable product” approach
Leverage points scenario
ST3, Inc. – A diversified, multinational enterprise
• For consistency, enterprise architecture has issued a standard to use
DDD and API-fronted microservices for all development
• Product teams slow in adopting, complaining that this is a bottleneck
• EA has tried to fix with…
• Architecture review process, escalation to CIO
• Enterprise API design specification, with automated compliance checking
• Development of enterprise domain taxonomy
System Archetype:
“Policy resistance”
“When various actors try to pull a system stock toward various goals,
the result can be policy resistance. Any new policy, especially if it’s
effective, just pulls the stock farther from the goals of other actors and
produces additional resistance, with a result that no one likes, but that
everyone expends considerable effort in maintaining.”
AKA Newton’s Third Law of Systems
Using leverage points
“People deeply involved in a system often
know intuitively where to find leverage
points, more often than not they push the
change in the wrong direction.”
Using leverage points
1. Transcending paradigms
2. Shifting the paradigm
3. Changing goals and purpose
4. Increasing self-organization
5. Changing rules and authority
6. Improving information flows
7. Limiting reinforcing feedback loops
8. Strengthening balancing feedback loops
9. Shortening delays
10. Optimizing stock-and-flow structures
11. Buffering stabilizing stocks relative to flows
12. Applying constants and parameters
Tried to impose new structure
Levered rules in the wrong direction
Reduced team autonomy
Using leverage points
• Communicate the mission; provide education and tooling on DDD
concepts, practical microservices principles, and API designImprove information flow
• Relax standards to focus on interoperability concerns, introduce
optional guidelines, change review process to consultationChange rules and authority
• Create a community of practice where individuals from product
teams can provide input to standards and guidelinesIncrease self-organization
• Elevate the purpose from "consistency" to goals that help product
teams: delivery speed, reduced coordination, technical debt removalChange goals and purpose
• Redefine product team's perception of enterprise architecture as an
ivory tower cost center to a thoughtful and helpful change agencyShift the paradigm
System dynamics scenario
ST3, Inc. – A diversified, multinational enterprise
• IT organization struggling to keep pace with customer needs
• Product backlogs growing, delivery velocity slowing, releases failing
• Have tried to fix with…
• More thorough release reviews
• Automated testing to allow for more features per release
• Most experienced resources assigned to all major releases
Iceberg model: ST3 software delivery
• Latest software release failed and could
not be backed out
Event
• 3 of last 4 major releases failed,
prolonged recovery
Pattern
• Releases happen less
frequently, with more
features in each one
Structure
• Lack of trust in
production changes
Mental Model
System dynamics: ST3 software delivery
Features in
Release
Release
Failure Rate
Release
Complexity
Perceived Risk of
Production Changes
Depth of
Release Review
Features in
Production
Product
Backlog
Customer
Satisfaction
Production
Releases
Lack of Trust in
Production Changes
Operating
Costs
Product
Revenue
Cost per
Feature
Active Monthly
Users
R
System dynamics: ST3 software delivery
Features in
Release
Release
Failure Rate
Release
Complexity
Pressure to reduce
release size
Release Size
Assessment
Features in
Production
Product
Backlog
Customer
Satisfaction
Production
Releases
Lack of Trust in Big
Production Changes
Operating
Costs
Product
Revenue
Cost per
Feature
Active Monthly
Users
Release
Frequency
R
Perception of minimum
viable release
Where to apply systems thinking
• Not everywhere!
• Systemic issues
• Issues that won’t go away
• Issues that get worse the more you try to fix them
• “Paradigm shifting” changes in technology or approach
For more information…
• http://donellameadows.org/Donalla Meadows resources
• https://www.crcpress.com/The-Art-of-Systems-
Architecting/Maier/p/book/9781420079135Rechtin & Maier book
• https://www.solonline.org/Peter Senge & SoL
• https://thesystemsthinker.com/Systems Thinker website
• https://twitter.com/ArchiThinkeryFollow @archithinkery
What’s with the t-shirt?
TechLit Africa is a non-profit
organization that helps African
students learn the web by
setting up labs in schools that
have no internet access.
Site: https://techlitafrica.org
Donate: https://www.gofundme.com/building-computer-labs-in-african-schools
Hear Nelly Cheboi’s story on the Software Engineering Daily podcast here:
https://softwareengineeringdaily.com/2019/05/20/emergingmarkets-kenya-with-nelly-cheboi/
Applying Systems Thinking to Software Architecture

More Related Content

What's hot

How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecturecccamericas
 
ATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerJim Jenkins
 
So You Think You Need A Digital Strategy
So You Think You Need A Digital StrategySo You Think You Need A Digital Strategy
So You Think You Need A Digital StrategyAlan McSweeney
 
Togaf 9.1 ADM summary
Togaf 9.1 ADM summaryTogaf 9.1 ADM summary
Togaf 9.1 ADM summaryMarco Bakker
 
Solution Architecture And Solution Security
Solution Architecture And Solution SecuritySolution Architecture And Solution Security
Solution Architecture And Solution SecurityAlan McSweeney
 
Why Solutions Fail and the Business Value of Solution Architecture
Why Solutions Fail and the Business Value of Solution ArchitectureWhy Solutions Fail and the Business Value of Solution Architecture
Why Solutions Fail and the Business Value of Solution ArchitectureAlan McSweeney
 
The Role of an Architect
The Role of an ArchitectThe Role of an Architect
The Role of an ArchitectRajesh Raheja
 
Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Alan McSweeney
 
Enterprise Architecture Frameworks
Enterprise Architecture FrameworksEnterprise Architecture Frameworks
Enterprise Architecture FrameworksDr. Fahim K Sufi
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architectsAndre Dovgal
 
Configuration Management
Configuration Management Configuration Management
Configuration Management hdicapitalarea
 
Solution Architecture and Solution Acquisition
Solution Architecture and Solution AcquisitionSolution Architecture and Solution Acquisition
Solution Architecture and Solution AcquisitionAlan McSweeney
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise ArchitectureVikas Grover
 
Arquitectura Empresarial - Enterprise Architecture
Arquitectura Empresarial - Enterprise ArchitectureArquitectura Empresarial - Enterprise Architecture
Arquitectura Empresarial - Enterprise ArchitectureJaime Contreras
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)Ravi Tadwalkar
 
Enterprise Architecture .vs. Collection of Architectures in Enterprise
Enterprise Architecture .vs. Collection of Architectures in EnterpriseEnterprise Architecture .vs. Collection of Architectures in Enterprise
Enterprise Architecture .vs. Collection of Architectures in EnterpriseYan Zhao
 
Agile Operating Model at Scale
Agile Operating Model at ScaleAgile Operating Model at Scale
Agile Operating Model at ScaleAmish Khatri
 
Introduction to Business Architecture - Part 2
Introduction to Business Architecture - Part 2Introduction to Business Architecture - Part 2
Introduction to Business Architecture - Part 2Alan McSweeney
 
Enterprise architecture framework business case
Enterprise architecture framework business caseEnterprise architecture framework business case
Enterprise architecture framework business caseAlex Antonatos
 

What's hot (20)

How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecture
 
ATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course Sampler
 
So You Think You Need A Digital Strategy
So You Think You Need A Digital StrategySo You Think You Need A Digital Strategy
So You Think You Need A Digital Strategy
 
Togaf 9.1 ADM summary
Togaf 9.1 ADM summaryTogaf 9.1 ADM summary
Togaf 9.1 ADM summary
 
Solution Architecture And Solution Security
Solution Architecture And Solution SecuritySolution Architecture And Solution Security
Solution Architecture And Solution Security
 
Why Solutions Fail and the Business Value of Solution Architecture
Why Solutions Fail and the Business Value of Solution ArchitectureWhy Solutions Fail and the Business Value of Solution Architecture
Why Solutions Fail and the Business Value of Solution Architecture
 
The Role of an Architect
The Role of an ArchitectThe Role of an Architect
The Role of an Architect
 
Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...
 
Enterprise Architecture Frameworks
Enterprise Architecture FrameworksEnterprise Architecture Frameworks
Enterprise Architecture Frameworks
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architects
 
Configuration Management
Configuration Management Configuration Management
Configuration Management
 
Solution Architecture and Solution Acquisition
Solution Architecture and Solution AcquisitionSolution Architecture and Solution Acquisition
Solution Architecture and Solution Acquisition
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise Architecture
 
Hoja ruta arquitectura empresarial v2014 05-08
Hoja ruta arquitectura empresarial v2014 05-08Hoja ruta arquitectura empresarial v2014 05-08
Hoja ruta arquitectura empresarial v2014 05-08
 
Arquitectura Empresarial - Enterprise Architecture
Arquitectura Empresarial - Enterprise ArchitectureArquitectura Empresarial - Enterprise Architecture
Arquitectura Empresarial - Enterprise Architecture
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)
 
Enterprise Architecture .vs. Collection of Architectures in Enterprise
Enterprise Architecture .vs. Collection of Architectures in EnterpriseEnterprise Architecture .vs. Collection of Architectures in Enterprise
Enterprise Architecture .vs. Collection of Architectures in Enterprise
 
Agile Operating Model at Scale
Agile Operating Model at ScaleAgile Operating Model at Scale
Agile Operating Model at Scale
 
Introduction to Business Architecture - Part 2
Introduction to Business Architecture - Part 2Introduction to Business Architecture - Part 2
Introduction to Business Architecture - Part 2
 
Enterprise architecture framework business case
Enterprise architecture framework business caseEnterprise architecture framework business case
Enterprise architecture framework business case
 

Similar to Applying Systems Thinking to Software Architecture

System_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptSystem_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptMarissaPedragosa
 
Part7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesPart7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesmohammedderriche2
 
CS 414 (IT Project Management)
CS 414 (IT Project Management)CS 414 (IT Project Management)
CS 414 (IT Project Management)raszky
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentationMAHERMOHAMED27
 
Large Scale Scrum: More with LeSS
Large Scale Scrum: More with LeSSLarge Scale Scrum: More with LeSS
Large Scale Scrum: More with LeSSRam Srinivasan, CST
 
Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Sunderland City Council
 
PLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phasesPLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phaseshamdiabdrhman
 
System development life cycle
System development life cycleSystem development life cycle
System development life cyclerelekarsushant
 
Security, Administration & Governance for SharePoint On-Prem, Online, & Every...
Security, Administration & Governance for SharePoint On-Prem, Online, & Every...Security, Administration & Governance for SharePoint On-Prem, Online, & Every...
Security, Administration & Governance for SharePoint On-Prem, Online, & Every...Christian Buckley
 
System engineering analysis and design
System engineering analysis and designSystem engineering analysis and design
System engineering analysis and designDr. Vardhan choubey
 
SAD Reviewer
SAD ReviewerSAD Reviewer
SAD Reviewerermell61
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMatt McLarty
 

Similar to Applying Systems Thinking to Software Architecture (20)

System_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptSystem_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.ppt
 
Part7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesPart7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lectures
 
CS 414 (IT Project Management)
CS 414 (IT Project Management)CS 414 (IT Project Management)
CS 414 (IT Project Management)
 
Presentation2
Presentation2Presentation2
Presentation2
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentation
 
Concepts of information system
Concepts of information systemConcepts of information system
Concepts of information system
 
SDLC
SDLCSDLC
SDLC
 
Large Scale Scrum: More with LeSS
Large Scale Scrum: More with LeSSLarge Scale Scrum: More with LeSS
Large Scale Scrum: More with LeSS
 
Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development
 
PLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phasesPLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phases
 
Ch12
Ch12Ch12
Ch12
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 
Bsa 411 preview full class
Bsa 411 preview full classBsa 411 preview full class
Bsa 411 preview full class
 
Security, Administration & Governance for SharePoint On-Prem, Online, & Every...
Security, Administration & Governance for SharePoint On-Prem, Online, & Every...Security, Administration & Governance for SharePoint On-Prem, Online, & Every...
Security, Administration & Governance for SharePoint On-Prem, Online, & Every...
 
System engineering analysis and design
System engineering analysis and designSystem engineering analysis and design
System engineering analysis and design
 
Mis chapter 8
Mis chapter 8Mis chapter 8
Mis chapter 8
 
Chapter01 1
Chapter01 1Chapter01 1
Chapter01 1
 
SAD Reviewer
SAD ReviewerSAD Reviewer
SAD Reviewer
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motion
 

More from Matt McLarty

A Visual Language for Systems Integration
A Visual Language for Systems IntegrationA Visual Language for Systems Integration
A Visual Language for Systems IntegrationMatt McLarty
 
Composable data for the composable enterprise
Composable data for the composable enterpriseComposable data for the composable enterprise
Composable data for the composable enterpriseMatt McLarty
 
Value Networks in Open Banking
Value Networks in Open BankingValue Networks in Open Banking
Value Networks in Open BankingMatt McLarty
 
Mapping API business models through value exchange
Mapping API business models through value exchangeMapping API business models through value exchange
Mapping API business models through value exchangeMatt McLarty
 
Overcoming RESTlessness
Overcoming RESTlessnessOvercoming RESTlessness
Overcoming RESTlessnessMatt McLarty
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API StrategyMatt McLarty
 
Microservices: 5 Years In
Microservices: 5 Years InMicroservices: 5 Years In
Microservices: 5 Years InMatt McLarty
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API StrategyMatt McLarty
 
Design-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & AutomobilesDesign-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & AutomobilesMatt McLarty
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice ArchitectureMatt McLarty
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionMatt McLarty
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMatt McLarty
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesMatt McLarty
 
API360 Microservices Summit Welcome
API360 Microservices Summit WelcomeAPI360 Microservices Summit Welcome
API360 Microservices Summit WelcomeMatt McLarty
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining MicroservicesMatt McLarty
 
The Agile Roots of Microservices
The Agile Roots of MicroservicesThe Agile Roots of Microservices
The Agile Roots of MicroservicesMatt McLarty
 

More from Matt McLarty (16)

A Visual Language for Systems Integration
A Visual Language for Systems IntegrationA Visual Language for Systems Integration
A Visual Language for Systems Integration
 
Composable data for the composable enterprise
Composable data for the composable enterpriseComposable data for the composable enterprise
Composable data for the composable enterprise
 
Value Networks in Open Banking
Value Networks in Open BankingValue Networks in Open Banking
Value Networks in Open Banking
 
Mapping API business models through value exchange
Mapping API business models through value exchangeMapping API business models through value exchange
Mapping API business models through value exchange
 
Overcoming RESTlessness
Overcoming RESTlessnessOvercoming RESTlessness
Overcoming RESTlessness
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API Strategy
 
Microservices: 5 Years In
Microservices: 5 Years InMicroservices: 5 Years In
Microservices: 5 Years In
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API Strategy
 
Design-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & AutomobilesDesign-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & Automobiles
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice Architecture
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff Session
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo Presentation
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
API360 Microservices Summit Welcome
API360 Microservices Summit WelcomeAPI360 Microservices Summit Welcome
API360 Microservices Summit Welcome
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining Microservices
 
The Agile Roots of Microservices
The Agile Roots of MicroservicesThe Agile Roots of Microservices
The Agile Roots of Microservices
 

Recently uploaded

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Applying Systems Thinking to Software Architecture

  • 1. Icebergs, Bathtubs & Flows Applying Systems Thinking to Software Architecture Matt McLarty, Global Leader of API Strategy at MuleSoft, a Salesforce company @mattmclartybc
  • 3. Software architecture …is a study in dealing with complexity Functional Operational Organizational
  • 4. What is “systems thinking”? • A conceptual approach to problem solving that considers the behaviour, structure, and interconnected parts of the complex systems within which the problem occurs • Related to systems theory, systems engineering, system dynamics, and chaos theory
  • 5. Thinking in Systems • A system is greater than the sum of its parts • A system cannot be controlled • Systems can be understood and influenced “Systems fool us by presenting themselves—or we fool ourselves by seeing the world—as a series of events.” Donella “Dana” Meadows http://donellameadows.org/donella-meadows-legacy/danas-writing/
  • 8. Feedback loops Balancing Loops Reinforcing Loops
  • 11. Understanding systems • Events show that there is a systemWhat? • Patterns show its behaviourHow? • Structure begins to show its purposeWhy?
  • 13. System boundaries • All system boundaries are artificial • If they are set too small, they are error prone • If they are set too large, they are difficult to analyze • Boundaries should change over time as the problem changes “Where to draw a boundary around a system depends on the purpose of the discussion.”
  • 14. Highly-functioning systems Resilience • The ability of the system to maintain its purpose through destabilizing events • Balancing loops for balancing loops Self-organization • The ability of subsystems to change themselves • How the system makes itself more complex Hierarchy • Not about power structures • About abstraction to simplify communication between components • “Stable intermediate forms”
  • 15. System archetypes Policy resistance Tragedy of the commons Drift to low performance Escalation Success to the successful Addiction Rule beating Seeking the wrong goal
  • 16. Leverage points Improving the information flow Changing rules and authority Increasing self-organization Changing goals and purpose Shifting the paradigm
  • 17. The Fifth Discipline Learning Organization Generative Conversation Aspiration Understanding Complexity Personal Mastery Shared Vision Mental Models Team Learning Systems Thinking
  • 18. The Art of Systems Architecting • Analysis of different types of systems, including software systems and collaborative systems • Applies heuristics and design progression “It is the system, not the software inside, the client wishes to acquire.” “The greatest leverage in system architecting is at the interfaces.” https://sdincose.org/wp-content/uploads/2017/10/TheArtOfSystemsEngineering_inaugural.pdf
  • 19. Applying systems thinking …to software architecture…
  • 22. What is software? Software is a digital projection of human intentions Software architecture should focus on aligning those intentions toward a common goal
  • 23. System archetype: “addiction” Shifting the burden to the intervenor “Addiction is finding a quick and dirty solution to the symptom of the problem, which prevents or distracts one from the harder and longer-term task of solving the real problem” In software systems, this is “silver bullet” syndrome
  • 24. Architectural leverage points 1. Transcending paradigms 2. Shifting the paradigm 3. Changing goals and purpose 4. Increasing self-organization 5. Changing rules and authority 6. Improving information flows 7. Limiting reinforcing feedback loops 8. Strengthening balancing feedback loops 9. Shortening delays 10. Optimizing stock-and-flow structures 11. Buffering stabilizing stocks relative to flows 12. Applying constants and parameters Lots of time spent here… …should be spent here!
  • 25. Highly-functioning IT Brittle monoliths Resilient microservices Siloed organizations Self-organizing, cross-functional teams Horizontally-tiered applications Hierarchical domains, APIs
  • 26. Stable intermediate forms “Minimum viable product” approach
  • 27. Leverage points scenario ST3, Inc. – A diversified, multinational enterprise • For consistency, enterprise architecture has issued a standard to use DDD and API-fronted microservices for all development • Product teams slow in adopting, complaining that this is a bottleneck • EA has tried to fix with… • Architecture review process, escalation to CIO • Enterprise API design specification, with automated compliance checking • Development of enterprise domain taxonomy
  • 28. System Archetype: “Policy resistance” “When various actors try to pull a system stock toward various goals, the result can be policy resistance. Any new policy, especially if it’s effective, just pulls the stock farther from the goals of other actors and produces additional resistance, with a result that no one likes, but that everyone expends considerable effort in maintaining.” AKA Newton’s Third Law of Systems
  • 29. Using leverage points “People deeply involved in a system often know intuitively where to find leverage points, more often than not they push the change in the wrong direction.”
  • 30. Using leverage points 1. Transcending paradigms 2. Shifting the paradigm 3. Changing goals and purpose 4. Increasing self-organization 5. Changing rules and authority 6. Improving information flows 7. Limiting reinforcing feedback loops 8. Strengthening balancing feedback loops 9. Shortening delays 10. Optimizing stock-and-flow structures 11. Buffering stabilizing stocks relative to flows 12. Applying constants and parameters Tried to impose new structure Levered rules in the wrong direction Reduced team autonomy
  • 31. Using leverage points • Communicate the mission; provide education and tooling on DDD concepts, practical microservices principles, and API designImprove information flow • Relax standards to focus on interoperability concerns, introduce optional guidelines, change review process to consultationChange rules and authority • Create a community of practice where individuals from product teams can provide input to standards and guidelinesIncrease self-organization • Elevate the purpose from "consistency" to goals that help product teams: delivery speed, reduced coordination, technical debt removalChange goals and purpose • Redefine product team's perception of enterprise architecture as an ivory tower cost center to a thoughtful and helpful change agencyShift the paradigm
  • 32. System dynamics scenario ST3, Inc. – A diversified, multinational enterprise • IT organization struggling to keep pace with customer needs • Product backlogs growing, delivery velocity slowing, releases failing • Have tried to fix with… • More thorough release reviews • Automated testing to allow for more features per release • Most experienced resources assigned to all major releases
  • 33. Iceberg model: ST3 software delivery • Latest software release failed and could not be backed out Event • 3 of last 4 major releases failed, prolonged recovery Pattern • Releases happen less frequently, with more features in each one Structure • Lack of trust in production changes Mental Model
  • 34. System dynamics: ST3 software delivery Features in Release Release Failure Rate Release Complexity Perceived Risk of Production Changes Depth of Release Review Features in Production Product Backlog Customer Satisfaction Production Releases Lack of Trust in Production Changes Operating Costs Product Revenue Cost per Feature Active Monthly Users R
  • 35. System dynamics: ST3 software delivery Features in Release Release Failure Rate Release Complexity Pressure to reduce release size Release Size Assessment Features in Production Product Backlog Customer Satisfaction Production Releases Lack of Trust in Big Production Changes Operating Costs Product Revenue Cost per Feature Active Monthly Users Release Frequency R Perception of minimum viable release
  • 36. Where to apply systems thinking • Not everywhere! • Systemic issues • Issues that won’t go away • Issues that get worse the more you try to fix them • “Paradigm shifting” changes in technology or approach
  • 37. For more information… • http://donellameadows.org/Donalla Meadows resources • https://www.crcpress.com/The-Art-of-Systems- Architecting/Maier/p/book/9781420079135Rechtin & Maier book • https://www.solonline.org/Peter Senge & SoL • https://thesystemsthinker.com/Systems Thinker website • https://twitter.com/ArchiThinkeryFollow @archithinkery
  • 38. What’s with the t-shirt? TechLit Africa is a non-profit organization that helps African students learn the web by setting up labs in schools that have no internet access. Site: https://techlitafrica.org Donate: https://www.gofundme.com/building-computer-labs-in-african-schools Hear Nelly Cheboi’s story on the Software Engineering Daily podcast here: https://softwareengineeringdaily.com/2019/05/20/emergingmarkets-kenya-with-nelly-cheboi/