SlideShare a Scribd company logo
1 of 57
A Simpler Time
Ronnie Mitra
Director of API Design
CA API Academy
ronnie.mitra@ca.com
@mitraman
Simplicity.
Use picture of cellular automo
complexité
Complexity
What is Complexity?
• Composed of many parts
• Intricate, elaborate, interconnected
• Difficult to process, resource intensive
System Complexity
Interface Complexity
System Complexity
Systems Complexity: Emergence
The action of the whole is more
than the sum of the actions of the
parts
Complex Physical Systems
Complex Adaptive Systems
Performance
Credit-Assignment
Rule-Discovery
Agent Structure (Holland)
How do agents adapt?
Performance
Credit-Assignment
Rule-Discovery
Agent Structure (Holland)
“What will I do?”
The stock price is low
buy stock
Performance
Credit-Assignment
Rule-Discovery
Agent Structure (Holland)
the price has gone down,
I’ve lost money
“How well am I doing?”
Performance
Credit-Assignment
Rule-Discovery
Agent Structure (Holland)
“What else can I try?”
Next time, identify market trends before buying
Emergent and Adaptive Behaviour
• Agents become specialized
• Behaviour is de-centralized
• The system can adapt to change
Interface Complexity
Complexity in Design
Different Perspectives
Similar Conclusions
Cognitive Complexity: Norman
“Complexity by itself is neither
good nor bad: it is confusion
that is bad.”
Reduce
Organize
Time
Learn
Differences
Context
Emotion
Trust
The One
Cognitive Complexity: Maeda
“Simplicity is about
subtracting the obvious and
adding the meaningful”
Simple or Complex?
Complexity is a Perceived Quality
interface
simple
confusing
Making Interfaces Simpler
The designer’s job is to manage complexity:
• improve learnability
• improve usability
• reduce confusion
Managing Complexity
Where Does Interface Complexity Come From?
complexity is the price we pay for utility
Fred Brooks
The complexity of software is an essential property
not an accidental one. Hence descriptions of a
software entity that abstract away its complexity
often abstract away its essence.
No Silver Bullet – Essence and Accident in Software
Engineering
Larry Tesler
Tesler’s Law of the Conservation of Complexity
Every application has an inherent
amount of irreducible complexity.
The only question is: who will have
to deal with it […]?
“
”
OAuth 2.0
Complex?
OAuth 2.0 Complexity: A Fictional Measurement
OAuth 2.0
Complexity
(if we could
measure it)
Managing OAuth 2.0 Complexity: Who Pays the Price?
OAuth 2 Client
Implementation
OAuth 2 Server
Implementation
!!!
Client
Implementation
Server
Implementation
tooling
tooling
Managing OAuth 2.0 Complexity
Managing Complexity: Microservices
Monolith Application Microservices Application
μService
API
μService
μService
μService
μService
μService
API API
API API API
API
Managing Complexity: The Monolith
Monolith Application
API
Who pays the complexity price?
Code Maintainer
System
Maintainer
Managing Complexity: Microservices
Who pays the complexity price?
Code
Maintainer
System Maintainer
Microservices Application
μService
μService
μService
μService
API API
API API
Managing Complexity: Microservices
• Service becomes less confusing, but
system complexity increases
• Complexity cost is worthwhile
• Tools are introduced to hide (shift)
complexity
containerization
discovery
deployment
…
Managing Complexity: Microservices boundaries
μService
μService
μService
μService
μService
μService
client application
API API
API API API
API
Managing Complexity: Microservices
Who pays the complexity price?
Code
Maintainer
System Maintainer
Microservices Application
μService
μService
μService
μService
API API
API API
Client App
Developer
Managing Complexity: Client Applications
μService
μService
μService
μService
μService
μService
client application
API API
API API API
API
SDK
API
Complexity and the API Lifecycle
API Lifecycle at Higher Resolution
API Software Life Cycle
API Documentation
Life CycleAPI Tooling Life Cycle
• complexity enters the system
Inherited Complexity
world organization system interface
• complexity is managed by designers
• developers deal with application
complexity
Complexity in API Design: Pagination
response
data
page
page
page
page
page
Complexity in API Design: Pagination Strategies
no pagination offset and count fixed page size “smart” pagination
What are the complexity implications of pagination strategies?
• complexity is perceived
externally
• operators deal with operational
complexity
complexity is removed
API Consumption
humanmachine
deterministic
behaviour
adaptive
behaviour
RUNTIME NON-RUNTIME
Adaptive system
Increased reliability
System Complexity as a Feature
Performance
Credit-Assignment
Rule-Discovery
client application
API API
API API API
API
Extending the System Boundary
The simple version…
1. Accept complexity
2. Manage complexity for humans
3. Incorporate system complexity as a
feature
simple
simple
Image Credits
"Ribosome-Nascent chain complex". Licensed under CC BY 3.0 via Wikipedia - http://en.wikipedia.org/wiki/File:Ribosome-
Nascent_chain_complex.png#/media/File:Ribosome-Nascent_chain_complex.png
"Sao Paulo Stock Exchange" by Rafael Matsunaga - Flickr. Licensed under CC BY 2.0 via Wikimedia Commons -
http://commons.wikimedia.org/wiki/File:Sao_Paulo_Stock_Exchange.jpg#/media/File:Sao_Paulo_Stock_Exchange.jpg
"Appearance of sky for weather forecast, Dhaka, Bangladesh" by Mohammed Tawsif Salam - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons -
http://commons.wikimedia.org/wiki/File:Appearance_of_sky_for_weather_forecast,_Dhaka,_Bangladesh.JPG#/media/File:Appearance_of_sky_for_weather_forecast
,_Dhaka,_Bangladesh.JPG
Snow Geese 03 by TexasEagle – Flickr. . Licensed under CC BY 2.0 -
http://www.flickr.com/photos/texaseagle/4206741477/sizes/o/
A Simpler Time
Ronnie Mitra
Director of API Design
CA API Academy
ronnie.mitra@ca.com
@mitraman

More Related Content

Similar to Managing complexity in systems design

Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletHyperwallet
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCapgemini
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMichael Ducy
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Intro to Microservices Architecture
Intro to Microservices ArchitectureIntro to Microservices Architecture
Intro to Microservices ArchitecturePeter Nijem
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxPINGXIONG3
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyProjectAcom
 
Innovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessInnovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessAmazon Web Services
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5Richard Hudson
 
Web Performance Bootcamp 2014
Web Performance Bootcamp 2014Web Performance Bootcamp 2014
Web Performance Bootcamp 2014Daniel Austin
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice ArchitectureMatt McLarty
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architectureDhaval Patel
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 

Similar to Managing complexity in systems design (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der wal
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCamp
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Intro to Microservices Architecture
Intro to Microservices ArchitectureIntro to Microservices Architecture
Intro to Microservices Architecture
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue company
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 
Innovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessInnovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your Business
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
 
Web Performance Bootcamp 2014
Web Performance Bootcamp 2014Web Performance Bootcamp 2014
Web Performance Bootcamp 2014
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice Architecture
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architecture
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 

More from ronniemitra

People Platform Patterns
People Platform PatternsPeople Platform Patterns
People Platform Patternsronniemitra
 
People Platform Patterns
People Platform PatternsPeople Platform Patterns
People Platform Patternsronniemitra
 
Programming the People Platform
Programming the People PlatformProgramming the People Platform
Programming the People Platformronniemitra
 
Banking APIs: A Fine Balance
Banking APIs: A Fine BalanceBanking APIs: A Fine Balance
Banking APIs: A Fine Balanceronniemitra
 
Sketching Web APIs
Sketching Web APIsSketching Web APIs
Sketching Web APIsronniemitra
 

More from ronniemitra (7)

People Platform Patterns
People Platform PatternsPeople Platform Patterns
People Platform Patterns
 
People Platform Patterns
People Platform PatternsPeople Platform Patterns
People Platform Patterns
 
How We Learn
How We LearnHow We Learn
How We Learn
 
Five API Styles
Five API StylesFive API Styles
Five API Styles
 
Programming the People Platform
Programming the People PlatformProgramming the People Platform
Programming the People Platform
 
Banking APIs: A Fine Balance
Banking APIs: A Fine BalanceBanking APIs: A Fine Balance
Banking APIs: A Fine Balance
 
Sketching Web APIs
Sketching Web APIsSketching Web APIs
Sketching Web APIs
 

Recently uploaded

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Managing complexity in systems design

Editor's Notes

  1. I want to focus on two major types of complexity: system complexity, which captures some of the properties of intracacy and many parts that we’ve mentioned. Also what I’m calling “cognitive complexity”, the type of complexity related to human understanding. There are other types of complexity that we won’t discuss, for example I’m not going to talk about computational complexity – the study of the resources required to solve computational problems and the feasability of solving them. That is an interesting type of complexity, but not as releveant to the direction I want to take us today.
  2. As I’ve said, I’m definitely not an expert in complexity. Most of what I learned about the science of complexity has come from these two books – aimed at laymen like myself. If this subject is new to you and you find it interesting, I can recommend both of these titles: Complexity: A Very Short Introduction by John Holland And Complexity: A guided Tour by Melanie Mitchell
  3. Focus on emergent behaviour here as this is the essence of systems complexity Weather is an emergent system
  4. Goverened by laws (e.g. physics) Static/fixed agents Weather, von-neuman’s celleular automata
  5. Agents react/adapt Rare to find equillibrium (steady state)
  6. SHE: Shrink, Hide, Embody
  7. SHE: Shrink, Hide, Embody
  8. SHE: Shrink, Hide, Embody
  9. SHE: Shrink, Hide, Embody
  10. SHE: Shrink, Hide, Embody
  11. Systems complexity is fascinating, but I want to talk about something that is more interesting to me.. Cognitive complexity.
  12. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  13. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  14. SHE: Shrink, Hide, Embody
  15. Brooks is talking specifically about programming in this essay. Accidental complexity is the cruft. Complexity introduced because you are providing functions that are unneeded, or you haven’t been able to optimize the functions that are needed. The accidental complexity is the type of complexity Maeda talks about subtracting.
  16. Lawrence Gordon Tesler (born April 24, 1945) is a computer scientist who works in the field of human–computer interaction. Tesler has worked at Xerox PARC, Apple, Amazon, and Yahoo!. He is the creator of the copy/paste interaction He invented the law to sell the case for a framework and generic application layer within Apple. His argument was that it was better to push complexity down into the framework rather than making the user pay the price.
  17. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  18. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  19. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  20. System complexity can be addressed, it is much harder to address the cognitive complexity of understanding code. i.e. this is an easier problem to solve.
  21. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  22. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  23. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  24. A very product-centric view of the API lifeycle from the nordicapis team. This is also very macro – it is high level, if we go into details we find other lifecycles we need to worry about.
  25. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  26. A very product-centric view of the API lifeycle from the nordicapis team. This is also very macro – it is high level, if we go into details we find other lifecycles we need to worry about.
  27. A very product-centric view of the API lifeycle from the nordicapis team. This is also very macro – it is high level, if we go into details we find other lifecycles we need to worry about.
  28. How do committees invent – Mel Conway
  29. A very product-centric view of the API lifeycle from the nordicapis team. This is also very macro – it is high level, if we go into details we find other lifecycles we need to worry about.
  30. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  31. Intro to microservices Complexity in application: harder to learn, harder to develop, harder to change Complexity in management: harder to model, harder to measue, harder to enforce policy Embracing management complexity: Netflix model, celluar
  32. A very product-centric view of the API lifeycle from the nordicapis team. This is also very macro – it is high level, if we go into details we find other lifecycles we need to worry about.
  33. A very product-centric view of the API lifeycle from the nordicapis team. This is also very macro – it is high level, if we go into details we find other lifecycles we need to worry about.
  34. The frequency of the lifecycle is bound by how the products we create are consumed
  35. We could achieve emergence This would help with lifecycle frequency, less risk of changes