SlideShare a Scribd company logo
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
dylan@dylanbeattie.net
@dylanbeattie
https://dylanbeattie.net
From: The Boss
To: Dylan
Subject: Change of job role
Dear Dylan,
This is to confirm your change of job role to Systems Architect, effective
immediately. You are now responsible for architecture, architecting,
doing architect stuff, systems architecture, and architecting systems.
Congratulations on your new role!
Kind regards,
Your Boss
Change of Job Role
ARCHITECT
LAUNCH
PIPELINE
BUS
PYTHON
CRASH MOUSE
LAU
ASH MOUSE
https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
https://franklloydwright.org/site/fallingwater/
https://commons.wikimedia.org/wiki/File:Margaret_Hamilton_1989.jpg
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
“Computer architecture, like
other architecture, is the art of
determining the needs of the
user of a structure and then
designing to meet those needs
as effectively as possible within
economic and technological
constraints.”
- Fred Brooks: "Planning a Computer System: Project Stretch”, 1962.
https://www.pcworld.com/article/258989/the_ibm_ps_2_25_years_of_pc_history.html
https://winworldpc.com/product/microsoft-visual-bas/10
https://www.arnnet.com.au/slideshow/557401/pictures-visual-history-netscape-navigator/
“The stuff
that’s hard
to change”
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
“Computer architecture, like
other architecture, is the art of
determining the needs of the
user of a structure and then
designing to meet those needs
as effectively as possible within
economic and technological
constraints.”
- Fred Brooks: "Planning a Computer System: Project Stretch”, 1962.
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
“Computer architecture, like
other architecture, is the art of
determining the needs of the
user of a structure and then
designing to meet those needs
as effectively as possible within
economic and technological
constraints.”
- Fred Brooks: "Planning a Computer System: Project Stretch”, 1962.
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
“Computer architecture, like
other architecture, is the art of
determining the needs of the
user of a structure and then
designing to meet those needs
as effectively as possible within
economic and technological
constraints.”
- Fred Brooks: "Planning a Computer System: Project Stretch”, 1962.
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
“Computer architecture, like
other architecture, is the art of
determining the needs of the
user of a structure and then
designing to meet those needs
as effectively as possible within
economic and technological
constraints.”
- Fred Brooks: "Planning a Computer System: Project Stretch”, 1962.
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
“Computer architecture, like
other architecture, is the art of
determining the needs of the
user of a structure and then
designing to meet those needs
as effectively as possible within
economic and technological
constraints.”
- Fred Brooks: "Planning a Computer System: Project Stretch”, 1962.
?
? ?
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Rene Descartes
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
[…]
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Principles behind the Agile Manifesto
We follow these principles:
[...]
The best architectures, requirements, and designs
emerge from self-organizing teams.
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
[Slide: the iPhone 1]
NewShiny.js!
https://www.dailytarheel.com/article/2016/03/founding-uncs-computer-science-department-was-an-experiment-but-it-paid-off-for-fred-
ARCHITECTURE:
1. determine user needs
2. meet those needs
3. within economic and
technological constraints.”
SOFTWARE
ARCHITECTURE
IN THREE EASY
STEPS
Make Decisions
Communicate Decisions
Reinforce Decisions
HOW TO MAKE DECISIONS
https://www.flickr.com/photos/leviathana/88146176
1. What Have You Got?
Understand your Existing Technology
Vasyatka1 / CC BY-SA 4.0 / https://commons.wikimedia.org/wiki/File:Munich_Airport_T1_L4_passport_controls.jpg
WEBSITE
THE
INTERNET
HTTP
“I don’t care
about what
anything was
DESIGNED to do
– I care about
what it CAN do.”
Gene Kranz, NASA
Mission Director, Apollo 13
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
2. What Do You Need?
Asking the Right Questions
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
3. What Can You Build?
Understand your Capabilities
davetoaster / CC BY 2.0 / https://www.flickr.com/photos/dfoster/3722602616/
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
4. What Can You Buy?
Look for platform-as-a-service and software-as-a-service solutions
If you can't sell it – buy it.
Never use Powershell when
you could use Mastercard.
5. What Can You Lose?
Look for Redundancies and Duplication
Whatleydude/CCBY2.0/https://www.flickr.com/photos/whatleydude/3862398238
DECIDE WHAT TO DO
(The easy part)
COMMUNICATING
DECISIONS
DESIGN YOUR SOLUTION
https://theconcourse.deadspin.com/a-brain-meme-in-the-wild-1795721849
https://funnyjunk.com/Ikea+instructions/funny-pictures/5557042/
The Problem With
Diagrams
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
17:21:00
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Mercutio
Norman Mandrill
Excelsior JK6GB87M$
Mercutio
Norman Mandrill
Excelsior JK6GB87M$
Key to Yourdon/DeMarco notation
Database or Filesystem
Function
Data Flow
Input / Output
“Mercutio”
(.NET service
that populates
email
templates)
“Norman”
(.NET app
that sends
emails)
“Mandrill”
(Mailchimp
SMTP relay
service)
“Excelsior”
(SQL Server
database of
customer details)
JK6GB87M$
(Windows file share
with Marketing email
templates)
Key to Yourdon/DeMarco notation
Database or Filesystem
Function
Data Flow
Input / Output
Key to Yourdon/DeMarco notation
Database or Filesystem
Function
Data Flow
Input / Output
“Mandrill”
(Mailchimp SMTP
relay service)
“Excelsior”
(SQL Server database
of customer details)
“Mercutio”
(.NET service that
populates email
templates)
“Norman”
(.NET app that
sends emails)
JK6GB87M$
(Windows file share
with Marketing email
templates)
“Mandrill”
(Mailchimp SMTP
relay service)
“Excelsior”
(SQL Server database
of customer details)
“Mercutio”
(.NET service that
populates email
templates)
“Norman”
(.NET app that
sends emails)
JK6GB87M$
(Windows file share
with Marketing email
templates)
“Mandrill”
(Mailchimp SMTP
relay service)
“Excelsior”
(SQL Server database
of customer details)
“Mercutio”
(.NET service that
populates email
templates)
“Norman”
(.NET app that
sends emails)
JK6GB87M$
(Windows file share
with Marketing email
templates)
“Mandrill”
(Mailchimp SMTP
relay service)
“Excelsior”
(SQL Server database
of customer details)
“Mercutio”
(.NET service that
populates email
templates)
“Norman”
(.NET app that
sends emails)
JK6GB87M$
(Windows file share
with Marketing email
templates)
Key
SQL Database
Windows Service
SMTP email relay
ADO.NET records
Network fileshare
SMB File share
RabbitMQ
SMTP
“Mandrill”
(Mailchimp SMTP
relay service)
“Excelsior”
(SQL Server database
of customer details)
Key
SQL Database
Windows Service
SMTP email relay
ADO.NET records
“Mercutio”
(.NET service that
populates email
templates)
“Norman”
(.NET app that
sends emails)
JK6GB87M$
(Windows file share
with Marketing email
templates)
Network fileshare
SMB File share
RabbitMQ
SMTP
.txt & .html files.
(Windows
authentication
required.)
ADO.NET
Windows
authentication
via Mercutio
service account
RabbitMQ
(SAAS hosted
on CloudAMQP)
SMTP
Port 993
TLS enabled
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Mercutio
(Core Logic)
EntityFramework
Data Adapter
“Excelsior”
(Customer
Database)
ICustomerDataPort
ITemplatePort
FileSystem
Template
Adapter
Windows
File
Share
IMailSender
RabbitMQ Mail
Adapter
(implementation)
Mercutio
Entity
Framework
Data
Provider
“Excelsior”
(Customer
Database)
Windows
File Share
RabbitMQ
Mandrill
(SMTP relay
component)
REINFORCING
DECISIONS
VALIDATION
(are we building the right thing?)
VERIFICATION
(are we building the thing right?)
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
[restroom, pissoir]
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
I’VE REVIEWED YOUR C# CODE AND
I STILL DON’T KNOW WHAT IT DOES.
Dude. My team
switched to Haskell.
…two years ago.
public class CustomerRepo {
public CustomerRepo(IdentityMap<Customer> map) {
this.map = map;
}
public Customer GetCustomer(int customerId) {
return map.FindById(customerId);
}
}
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
API SERVER API CLIENT
{fake JSON} {spec tests}
API SERVER API CLIENT
{fake JSON} {spec tests}
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Дякую! @dylanbeattie
dylan@dylanbeattie.net
https://dylanbeattie.net

More Related Content

PDF
Mete Atamel "An app modernization story with Cloud Run"
PDF
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
PPTX
Azure Functions Overview
PPTX
Logic Apps – Deployments
PPTX
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
PDF
Make your animations perform well - Anna Migas - Codemotion Rome 2017
PDF
Understanding Microservices
PPTX
Serverless patterns v2 public
Mete Atamel "An app modernization story with Cloud Run"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Azure Functions Overview
Logic Apps – Deployments
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
Make your animations perform well - Anna Migas - Codemotion Rome 2017
Understanding Microservices
Serverless patterns v2 public

What's hot (20)

PPTX
Evolving Services Into A Cloud Native World
PPTX
Introduction to Azure Functions
PPTX
Building microservices with azure functions
PPTX
Building loosely coupled integrations with Logic Apps
PPTX
Introduction to Azure Functions - Tutorial
PPTX
The 7 deadly sins of micro services
PPTX
Azure Web Jobs
PPTX
Logic apps and PowerApps - Integrate across your APIs
PDF
Joe Emison - 10X Product Development
PPTX
Creating reusable pieces in Logic Apps
PPTX
TUTTO SU VISUAL STUDIO ALM 2015
PPTX
Azure serverless architectures
PPTX
Introduction to serverless compute with azure functions
PPTX
Azure Functions - Introduction
PPTX
PHP Symfony MicroServices Migration @MeeticTech
PPTX
Alfresco DevCon 2019: BiDirectional Sync to Other Platforms
PPTX
New Serverless World, Cloud Native Apps
PDF
Connect + Docker + AWS = Bitbucket Pipelines
PPTX
Azure Integration in Production with Logic Apps and more
PPTX
Alfresco DevCon 2019: Interaxo - A journey to Cloud Native
Evolving Services Into A Cloud Native World
Introduction to Azure Functions
Building microservices with azure functions
Building loosely coupled integrations with Logic Apps
Introduction to Azure Functions - Tutorial
The 7 deadly sins of micro services
Azure Web Jobs
Logic apps and PowerApps - Integrate across your APIs
Joe Emison - 10X Product Development
Creating reusable pieces in Logic Apps
TUTTO SU VISUAL STUDIO ALM 2015
Azure serverless architectures
Introduction to serverless compute with azure functions
Azure Functions - Introduction
PHP Symfony MicroServices Migration @MeeticTech
Alfresco DevCon 2019: BiDirectional Sync to Other Platforms
New Serverless World, Cloud Native Apps
Connect + Docker + AWS = Bitbucket Pipelines
Azure Integration in Production with Logic Apps and more
Alfresco DevCon 2019: Interaxo - A journey to Cloud Native
Ad

Similar to Dylan Beattie "Architecture: The Stuff That's Hard to Change" (20)

PPTX
Semantic Web Standards and the Variety “V” of Big Data
PDF
Engineering As A Global Profession Technical And Ethical Standards Michael Davis
PDF
If an Event is Published to a Topic and No One is Around to Consume it, Does ...
PDF
Kafka Summit 2020: If an event is published to a topic and no one is around t...
PPTX
The CIOs Guide to NoSQL
PDF
Software Pipelines and SOA Releasing the Power of Multi Core Processing 1st E...
PDF
Illogical engineers
PDF
Illogical engineers
PDF
bryn.hrld.PIP-CV 10.5.5.d-scaled
PDF
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
PDF
Introduction to PySpark
PDF
Overcoming IT Complexity: Simplify Operations, Enable Innovation, and Cultiva...
PDF
He stopped using for/while loops, you won't believe what happened next!
PDF
Software Pipelines and SOA Releasing the Power of Multi Core Processing 1st E...
PDF
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
PDF
Computer architecture fundamentals and principles of computer design 1st Edit...
PDF
Paris FOD meetup - koordinator
PPT
Daniel Egan Msdn Tech Days Oc
PPT
IWMW 1998: Dataweb: Three Worlds Colide
PDF
Neal Ford Emergent Design And Evolutionary Architecture
Semantic Web Standards and the Variety “V” of Big Data
Engineering As A Global Profession Technical And Ethical Standards Michael Davis
If an Event is Published to a Topic and No One is Around to Consume it, Does ...
Kafka Summit 2020: If an event is published to a topic and no one is around t...
The CIOs Guide to NoSQL
Software Pipelines and SOA Releasing the Power of Multi Core Processing 1st E...
Illogical engineers
Illogical engineers
bryn.hrld.PIP-CV 10.5.5.d-scaled
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
Introduction to PySpark
Overcoming IT Complexity: Simplify Operations, Enable Innovation, and Cultiva...
He stopped using for/while loops, you won't believe what happened next!
Software Pipelines and SOA Releasing the Power of Multi Core Processing 1st E...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Computer architecture fundamentals and principles of computer design 1st Edit...
Paris FOD meetup - koordinator
Daniel Egan Msdn Tech Days Oc
IWMW 1998: Dataweb: Three Worlds Colide
Neal Ford Emergent Design And Evolutionary Architecture
Ad

More from Fwdays (20)

PDF
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
PDF
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
PPTX
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
PPTX
"Як ми переписали Сільпо на Angular", Євген Русаков
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
PDF
"Validation and Observability of AI Agents", Oleksandr Denisyuk
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
PPTX
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
PPTX
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
PDF
"AI is already here. What will happen to your team (and your role) tomorrow?"...
PPTX
"Is it worth investing in AI in 2025?", Alexander Sharko
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
PDF
"Scaling in space and time with Temporal", Andriy Lupa .pdf
PPTX
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
PPTX
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
PPTX
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
"Як ми переписали Сільпо на Angular", Євген Русаков
"AI Transformation: Directions and Challenges", Pavlo Shaternik
"Validation and Observability of AI Agents", Oleksandr Denisyuk
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
"AI is already here. What will happen to your team (and your role) tomorrow?"...
"Is it worth investing in AI in 2025?", Alexander Sharko
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Database isolation: how we deal with hundreds of direct connections to the d...
"Scaling in space and time with Temporal", Andriy Lupa .pdf
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Monthly Chronicles - July 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
20250228 LYD VKU AI Blended-Learning.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Dylan Beattie "Architecture: The Stuff That's Hard to Change"