際際滷

際際滷Share a Scribd company logo
bertjan@openvalue.eu
Making significant software architecture decisions
Bert Jan Schrijver
@bjschrijver.dev
Bert Jan Schrijver
L e t  s m e e t
@bjschrijver.dev
Lets talk about software.
What is software architecture?
Software architecture == making decisions
It depends.
Source: https://static.wikia.nocookie.net/matrix/images/f/fb/Architect.png/revision/latest?cb=20110515094801
On what?!!
 Weve always done it like this
 We dont want to do depend on <x>
 We need to be future proof
 Because the product owner wants it
 Because the architect wants it
Bad (reasons for) architecture decisions
Source: https://7216-presscdn-0-76-pagely.netdna-ssl.com/wp-content/uploads/2011/12/confused-man-single-good-men.jpg
So how do you make architecture decisions?
It depends.
Source: https://static.wikia.nocookie.net/matrix/images/f/fb/Architect.png/revision/latest?cb=20110515094801
On what?!!
 Start with the 5 Ws
 Why are we even here as architects?
 To enable one or more teams to build something
 Why?
 To help a business reach their goals
 Why?
 Because thats why we even have a job !
 Every architecture decision has a business component
Input for architecture decisions
Background source: GR Stocks on Unsplash
 Requirements
 Functional
 Non-functional / quality attributes
 (Business) constraints
 Which of these impact our architecture the most?
 But: we can never fully fulfil them all
 So we always need to consider
trade-offs between requirements & constraints
Input for architecture decisions
Source: https://medium.com/@jeffwhelpley/the-problem-with-shared-code-124a20fc3d3b
Quality attributes (non functionals)
 Which quality attributes do you now?
 Performance, security, availability, reliability
 In general: ISO 25010
ISO 25010
Which requirements or constraints
are the most important?
It depends.
Source: https://static.wikia.nocookie.net/matrix/images/f/fb/Architect.png/revision/latest?cb=20110515094801
On what?!!
On your business.
But how do you prioritise?
Trade-off analysis for software architecture
Source: https://images.unsplash.com/photo-1515611926865-4fcb1c2ce28d?ixlib=rb-4.0.3&dl=kelly-sikkema-kxtB2TFBF2g-unsplash.jpg&q=80&fm=jpg&crop=entropy&cs=tinysrgb
 Gather requirements,
quality attributes & constraints
 Select potential solutions
 Discover and weigh trade-offs
 Pick the best fitting solution
 Described in Software
Architecture: The Hard Parts
by Ford, Richards et al
 Security vs. usability
 Configurability vs. maintainability
 Availability vs. cost
 Performance vs. cost
 Performance vs. maintainability
 Runtime configuration vs. robustness
Examples of trade-offs
Background source: DALL揃E
Every architecture decision is a trade-off
25
Trade-off analysis example
Example: tradeoff analysis
Source: Neal Ford - Modern Trade-off Analysis for Software Architecture - DDD Europe
Example: tradeoff analysis
Source: Neal Ford - Modern Trade-off Analysis for Software Architecture - DDD Europe
Example: tradeoff analysis
Source: Neal Ford - Modern Trade-off Analysis for Software Architecture - DDD Europe
Example: tradeoff analysis
Source: Neal Ford - Modern Trade-off Analysis for Software Architecture - DDD Europe
Which requirements
and tradeoffs
should you consider?
 Relevant quality attributes
 See ISO 25010
Technical factors
Source: http://www.nasa.gov/images/content/218652main_STOCC_FS_img_lg.jpg
 Developer experience
 Learning curve
 Tool & IDE support
 Documentation &
support
 Integration with current
landscape
Organisational factors
 Adoption, popularity &
expertise:
 own team
 industry
 Long-term viability
(Active development,
community & ecosystem)
Business factors
Background source: DALL揃E
 Cost
 Infrastructure
 Licenses
 Support
 Engineers
 TCO
 Time-to-market
 Migration cost vs
benefits after
migration
 Productivity
 Regulatory reqs, legal,
IP risk
 Exit strategy
When not to compromise?
When risking irreversible damage
to your business.
Photo: Dave Lehl
Summary
 Gather requirements & constraints
 Brainstorm for possible solutions
 Consider technical, organisational and
business factors
 Discover and weigh trade-offs
 Pick the best fitting solution
Significant software architecture decisions
How to make architecture decisions?
It depends.
On the informed
trade-offs you make.
Source: https://images.unsplash.com/photo-1515611926865-4fcb1c2ce28d?ixlib=rb-4.0.3&dl=kelly-sikkema-kxtB2TFBF2g-unsplash.jpg&q=80&fm=jpg&crop=entropy&cs=tinysrgb
Source: https://cdn2.vox-cdn.com/thumbor/J9OqPYS7FgI9fjGhnF7AFh8foVY=/148x0:1768x1080/1280x854/cdn0.vox-cdn.com/uploads/chorus_image/image/46147742/cute-success-kid-1920x1080.0.0.jpg
THATS IT.
NOW GO KICK SOME ASS!
Questions?
@bjschrijver.dev
Thanks for your time.
Got feedback? Let me know!
All pictures belong
to their respective
authors
@bjschrijver.dev
meetup.com/isaqb-nl

More Related Content

Similar to Making significant software architecture decisions (20)

OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
Bert Jan Schrijver
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
Bert Jan Schrijver
Microdeployments for microservices dev ops nashville
Microdeployments for microservices   dev ops nashvilleMicrodeployments for microservices   dev ops nashville
Microdeployments for microservices dev ops nashville
Nathaniel (Ned) Bauerle
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introduction
Freddy Munandar
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
SARCCOM
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
Architecture vs. Design in Agile: Whats the Right Answer?
Architecture vs. Design in Agile: Whats the Right Answer?Architecture vs. Design in Agile: Whats the Right Answer?
Architecture vs. Design in Agile: Whats the Right Answer?
TechWell
Architecture vs. Design vs. Agile: Whats the Answer?
Architecture vs. Design vs. Agile: Whats the Answer?Architecture vs. Design vs. Agile: Whats the Answer?
Architecture vs. Design vs. Agile: Whats the Answer?
TechWell
VMworld 2014: Art of IT Infrastructure Design
VMworld 2014: Art of IT Infrastructure DesignVMworld 2014: Art of IT Infrastructure Design
VMworld 2014: Art of IT Infrastructure Design
VMworld
Agile methods and safety critical software - Peter Gardner
Agile methods and safety critical software - Peter GardnerAgile methods and safety critical software - Peter Gardner
Agile methods and safety critical software - Peter Gardner
AdaCore
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
w2fong
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Yazid Hamdi
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Bert Jan Schrijver
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
Bert Jan Schrijver
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
IBM UrbanCode Products
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
Rajwinder Singh
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
Avisi B.V.
vBrownbag VCAP6-DCV Design Objective 1.1
vBrownbag VCAP6-DCV Design Objective 1.1vBrownbag VCAP6-DCV Design Objective 1.1
vBrownbag VCAP6-DCV Design Objective 1.1
Virtualtiers
Defining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORSDefining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORS
Paul W. Johnson
A modern architecturereviewusingcodereviewtools-ver-3.5
A modern architecturereviewusingcodereviewtools-ver-3.5A modern architecturereviewusingcodereviewtools-ver-3.5
A modern architecturereviewusingcodereviewtools-ver-3.5
SSW
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
Bert Jan Schrijver
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
Bert Jan Schrijver
Microdeployments for microservices dev ops nashville
Microdeployments for microservices   dev ops nashvilleMicrodeployments for microservices   dev ops nashville
Microdeployments for microservices dev ops nashville
Nathaniel (Ned) Bauerle
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introduction
Freddy Munandar
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
SARCCOM
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
Architecture vs. Design in Agile: Whats the Right Answer?
Architecture vs. Design in Agile: Whats the Right Answer?Architecture vs. Design in Agile: Whats the Right Answer?
Architecture vs. Design in Agile: Whats the Right Answer?
TechWell
Architecture vs. Design vs. Agile: Whats the Answer?
Architecture vs. Design vs. Agile: Whats the Answer?Architecture vs. Design vs. Agile: Whats the Answer?
Architecture vs. Design vs. Agile: Whats the Answer?
TechWell
VMworld 2014: Art of IT Infrastructure Design
VMworld 2014: Art of IT Infrastructure DesignVMworld 2014: Art of IT Infrastructure Design
VMworld 2014: Art of IT Infrastructure Design
VMworld
Agile methods and safety critical software - Peter Gardner
Agile methods and safety critical software - Peter GardnerAgile methods and safety critical software - Peter Gardner
Agile methods and safety critical software - Peter Gardner
AdaCore
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
w2fong
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Yazid Hamdi
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Bert Jan Schrijver
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
Bert Jan Schrijver
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
IBM UrbanCode Products
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
Rajwinder Singh
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
Avisi B.V.
vBrownbag VCAP6-DCV Design Objective 1.1
vBrownbag VCAP6-DCV Design Objective 1.1vBrownbag VCAP6-DCV Design Objective 1.1
vBrownbag VCAP6-DCV Design Objective 1.1
Virtualtiers
Defining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORSDefining and Aligning Requirements using System Architect and DOORS
Defining and Aligning Requirements using System Architect and DOORS
Paul W. Johnson
A modern architecturereviewusingcodereviewtools-ver-3.5
A modern architecturereviewusingcodereviewtools-ver-3.5A modern architecturereviewusingcodereviewtools-ver-3.5
A modern architecturereviewusingcodereviewtools-ver-3.5
SSW

Recently uploaded (20)

AI has already changed software development.pdf
AI has already changed software development.pdfAI has already changed software development.pdf
AI has already changed software development.pdf
Radam辿s Roriz
Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025
BradBedford3
Movavi Video Editor Crack + Activation Key [2025]
Movavi Video Editor Crack + Activation Key [2025]Movavi Video Editor Crack + Activation Key [2025]
Movavi Video Editor Crack + Activation Key [2025]
l07307095
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odooTour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
AxisTechnolabs
The Open-Closed Principle - Part 1 - The Original Version
The Open-Closed Principle - Part 1 - The Original VersionThe Open-Closed Principle - Part 1 - The Original Version
The Open-Closed Principle - Part 1 - The Original Version
Philip Schwarz
TVersity Pro Media Server Free CRACK Download
TVersity Pro Media Server Free CRACK DownloadTVersity Pro Media Server Free CRACK Download
TVersity Pro Media Server Free CRACK Download
mohsinrazakpa43
Managing Changing Data with FME Part 1 - Compare & Detect
Managing Changing Data with FME Part 1 - Compare & DetectManaging Changing Data with FME Part 1 - Compare & Detect
Managing Changing Data with FME Part 1 - Compare & Detect
Safe Software
Wondershare Filmora 14.3.2.11147 free key
Wondershare Filmora 14.3.2.11147 free keyWondershare Filmora 14.3.2.11147 free key
Wondershare Filmora 14.3.2.11147 free key
mohsinrazakpa72
Software Architecture and Design in the Age of Code Assist tools.pdf
Software Architecture and Design in the Age of Code Assist tools.pdfSoftware Architecture and Design in the Age of Code Assist tools.pdf
Software Architecture and Design in the Age of Code Assist tools.pdf
Manu Pk
Java and AI with LangChain4j: Jakarta EE gets AI
Java and AI with LangChain4j: Jakarta EE gets AIJava and AI with LangChain4j: Jakarta EE gets AI
Java and AI with LangChain4j: Jakarta EE gets AI
Edward Burns
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
Async Excellence Unlocking Scalability with Kafka - Devoxx GreeceAsync Excellence Unlocking Scalability with Kafka - Devoxx Greece
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
Natan Silnitsky
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoTFrom Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
Eurotech
The Evolution of Microsoft Project Portfolio Management
The Evolution of Microsoft Project Portfolio ManagementThe Evolution of Microsoft Project Portfolio Management
The Evolution of Microsoft Project Portfolio Management
OnePlan Solutions
Autodesk MotionBuilder 2026 Free Download
Autodesk MotionBuilder 2026 Free DownloadAutodesk MotionBuilder 2026 Free Download
Autodesk MotionBuilder 2026 Free Download
blouch52kp
Enaviya Informtion Technologies Pvt Ltd & SpendMantra.pdf
Enaviya Informtion Technologies Pvt Ltd & SpendMantra.pdfEnaviya Informtion Technologies Pvt Ltd & SpendMantra.pdf
Enaviya Informtion Technologies Pvt Ltd & SpendMantra.pdf
Enaviya Information Technologies Pvt. ltd.
Wondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows FreeWondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows Free
mohsinrazakpa43
IObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 FreeIObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 Free
blouch51kp
The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...
The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...
The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...
OnePlan Solutions
Kaspersky Lab Products Remover 1.0.5497.0
Kaspersky Lab Products Remover 1.0.5497.0Kaspersky Lab Products Remover 1.0.5497.0
Kaspersky Lab Products Remover 1.0.5497.0
mohsinrazakpa93
Parallels Desktop Crack [Latest] 2025 free
Parallels Desktop Crack [Latest] 2025 freeParallels Desktop Crack [Latest] 2025 free
Parallels Desktop Crack [Latest] 2025 free
mohsinrazakpa96
AI has already changed software development.pdf
AI has already changed software development.pdfAI has already changed software development.pdf
AI has already changed software development.pdf
Radam辿s Roriz
Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025
BradBedford3
Movavi Video Editor Crack + Activation Key [2025]
Movavi Video Editor Crack + Activation Key [2025]Movavi Video Editor Crack + Activation Key [2025]
Movavi Video Editor Crack + Activation Key [2025]
l07307095
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odooTour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
AxisTechnolabs
The Open-Closed Principle - Part 1 - The Original Version
The Open-Closed Principle - Part 1 - The Original VersionThe Open-Closed Principle - Part 1 - The Original Version
The Open-Closed Principle - Part 1 - The Original Version
Philip Schwarz
TVersity Pro Media Server Free CRACK Download
TVersity Pro Media Server Free CRACK DownloadTVersity Pro Media Server Free CRACK Download
TVersity Pro Media Server Free CRACK Download
mohsinrazakpa43
Managing Changing Data with FME Part 1 - Compare & Detect
Managing Changing Data with FME Part 1 - Compare & DetectManaging Changing Data with FME Part 1 - Compare & Detect
Managing Changing Data with FME Part 1 - Compare & Detect
Safe Software
Wondershare Filmora 14.3.2.11147 free key
Wondershare Filmora 14.3.2.11147 free keyWondershare Filmora 14.3.2.11147 free key
Wondershare Filmora 14.3.2.11147 free key
mohsinrazakpa72
Software Architecture and Design in the Age of Code Assist tools.pdf
Software Architecture and Design in the Age of Code Assist tools.pdfSoftware Architecture and Design in the Age of Code Assist tools.pdf
Software Architecture and Design in the Age of Code Assist tools.pdf
Manu Pk
Java and AI with LangChain4j: Jakarta EE gets AI
Java and AI with LangChain4j: Jakarta EE gets AIJava and AI with LangChain4j: Jakarta EE gets AI
Java and AI with LangChain4j: Jakarta EE gets AI
Edward Burns
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
Async Excellence Unlocking Scalability with Kafka - Devoxx GreeceAsync Excellence Unlocking Scalability with Kafka - Devoxx Greece
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
Natan Silnitsky
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoTFrom Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
Eurotech
The Evolution of Microsoft Project Portfolio Management
The Evolution of Microsoft Project Portfolio ManagementThe Evolution of Microsoft Project Portfolio Management
The Evolution of Microsoft Project Portfolio Management
OnePlan Solutions
Autodesk MotionBuilder 2026 Free Download
Autodesk MotionBuilder 2026 Free DownloadAutodesk MotionBuilder 2026 Free Download
Autodesk MotionBuilder 2026 Free Download
blouch52kp
Wondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows FreeWondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows Free
mohsinrazakpa43
IObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 FreeIObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 Free
blouch51kp
The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...
The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...
The Future of Microsoft Project Management Tools - Connecting Teams, Work, an...
OnePlan Solutions
Kaspersky Lab Products Remover 1.0.5497.0
Kaspersky Lab Products Remover 1.0.5497.0Kaspersky Lab Products Remover 1.0.5497.0
Kaspersky Lab Products Remover 1.0.5497.0
mohsinrazakpa93
Parallels Desktop Crack [Latest] 2025 free
Parallels Desktop Crack [Latest] 2025 freeParallels Desktop Crack [Latest] 2025 free
Parallels Desktop Crack [Latest] 2025 free
mohsinrazakpa96

Making significant software architecture decisions