"The Intersection of architecture and implementation", Mark Richards

Fwdays
FwdaysFwdays
"The Intersection of architecture and implementation", Mark Richards
“We need an architecture that can
scale to 500,000 users with an average
response of 600ms under full load”
“No problem. I’m on it.
business
sponsor
software
architect
“Here’s the
architecture for the
new system…”
software
architect
development
team
“What protocol should we
use between services?”
“That’s an
implementation detail…”
software
architect
development
team
“What persistence
framework should we
use?”
“That’s also an
implementation detail…”
software
architect
development
team
“What third-party libraries
and services should we
use?”
“Again, an implementation
detail. Architecture is my job—
implementation is yours.”
software
architect
development
team
"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards
isomorphism
isomorphism
isos (meaning “equal”) and morphe (meaning “form”, or “shape”)
how close does the shape of one thing match the
shape of the other thing?
how close does the shape of the architecture match the
shape of the problem domain?
architecture to domain isomorphism
microservices architecture
single purpose functions deployed as separate
units with each unit owning its own data
layered architecture
single deployment with functionality
grouped by technical categories
how close does the shape of the architecture match the
shape of the implementation?
architecture to implementation isomorphism
how close does the shape of the architecture match the
shape of the implementation?
architecture to implementation isomorphism
Case Studies
“We’re expecting anywhere from several
thousand to a million concurrent customers
on the new system.”
"The Intersection of architecture and implementation", Mark Richards
software
architect
item_id
current_inv
max_inv
min_inv
Inventory
get current inventory
Too slow, and the services are too
tightly coupled together
item_id
current_inv
max_inv
min_inv
Inventory
update-able
in-memory cache
containing inventory
amounts
read-only
replicated cache
containing
inventory amounts
item_id
current_inv
max_inv
min_inv
Inventory
Much faster, and the services are
decoupled and no longer dependent
on each other
500 mb
500 mb
1.0 GB
1000 mb
2500 mb
3.5 GB
1500 mb
2500 mb
4.0 GB
1500 mb
2500 mb
4.0 GB
https://myapp.com/placeOrder?id=27a54826s
Service Unavailable
HTTP ERROR 503. The service is unavailable
Microservices
Scalability
Elasticity
Performance
Coupling
Microservices
Scalability
Elasticity
X
Scalability
Elasticity
“We have a very tight budget and timeframe
for this new venture, and we’re expecting a
significant amount of change to the underlying
data structures as we learn more about this
new line of business. We need to move fast
when those changes happen.”
"The Intersection of architecture and implementation", Mark Richards
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
Layers of isolation
Separation of
concerns
Good change
control
software
architect
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
Better
performance
calling the
database
directly
It’s easier
having the
code and
SQL together
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
“Wait—here’s the best part—then they said ‘Sure, we’ll have those
database changes out to you right away.’ Ha ha ha ha ha ha ha…”
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
Isolation
Change control
Performance
Convenience
XIsolation
Change control
Isolation
Change control
How does implementation get out of alignment with
architecture, and how can we prevent it from happening?
communication
“The most effective way to deal with
constant database change is to leverage
closed layers in the architecture. I’ve got to
let the development team know…”
software
architect
development
team
Architecture Decision Records
to the Rescue!
short text file; 1-2 pages long, one file per decision
(markdown, textile, asciidoc, plaintext, etc.)
architecture decision records
short noun phrase describing the decision
proposed, accepted, superseded
description of the problem and alternative
solutions available (documentation)
justification (the “why”)
tradeoffs and impact of decision
if developers don't know why you made a
decision, they are less likely to agree with it
“Do this.”
software
architect
development
team
“No. We
don’t agree.”
Second Law of
Software Architecture
“Why is more important
than how”
?
justification (the “why”)
tradeoffs and impact of decision
architecture decision records
"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards
collaboration
availability
scalability
performance
software architecture software development
software architecture software development
availability
scalability
performance
software architecture
software development
leadership
mentoring
availability
scalability
performance
if developers are not involved in the
decision, they will be less likely to follow it
“Do this because it
performs better.”
software
architect
development
team
“Okay.”
“We found a
better way to do
this.”
later…
“We’re going to use request/reply
messaging between our services because
it’s faster and more scalable.”
software
architect
“Actually, we decided to use REST
because it’s just as fast and it scales better
than messaging. Look it up on Google or
ChatGPT.”
development
team
the problem…
“But…but…this is my
decision…and messaging is faster
and more scalable in our
environment…”
software
architect
“Whatever. We’re
moving forward with
REST.”
development
team
the problem…
software
architect development
team
the problem…
“I ran some benchmarks between
REST and messaging in our production
environment. Take a look at this…”
software
architect development
team
demonstration defeats discussion
response
times
user load
REST
Messaging
This is our
expected load
Our production environment
This is our response
time SLA
demonstration defeats discussion
“Based on this, I’m thinking we
should probably use messaging to
communicate between our microservices.
What do you think?”
software
architect
“We were thinking of using REST,
but you’re right—based on this data,
messaging is a better choice.”
development
team
demonstration defeats discussion
proposed, accepted, superseded
architecture decision records
Status: RFC by 22 June
…
indicates request for
comments status prior to
the decision being made
with an end date
Accepted
Proposed
Status: RFC by 22 June
architecture risk
storming
architecture risk
storming
Microservices
Microservices
architectural
governance
“I hope the development team is
complying with the architecture decisions I
communicated through the ADR”
software
architect
development
team
“With all these coding changes, I
hope the architecture is still meeting its
scalability requirements.”
software
architect
development
team
“An architectural fitness function provides
an objective integrity assessment of some
architectural characteristic(s).”
architecture fitness functions
start
if (c1)
f1() f2()
if (c2)
f3() f4()
end
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
nodes
edges
response
times
!
threshold or trend reached
track
architecture fitness functions
average
duration
time
concurrent
users testing elasticity and scalability
operational characteristics
response time trend analysis
instances starting
instances started
only the business and service layers can access
the persistence layer to control change
throughout the architecture
structural integrity
https://www.archunit.org/
https://github.com/TNG/ArchUnit
https://search.maven.org/search?
q=g:com.tngtech.archunit
structural integrity
https://github.com/TNG/ArchUnitNET
NuGet: ArchUnitNET
structural integrity
H
https://github.com/BenMorris/NetArchTest
structural integrity
H
https://www.hello2morrow.com/products/
sonargraph/architect9
structural integrity
@Test
public void presentation_layer_cannot_access_persistence_layer() {
noClasses().that().resideInAPackage("..presentation..")
.should().accessClassesThat().resideInAPackage("..persistence..")
.because("we have a closed-layered architecture to control changes " +
"made in the database and persistence layer. Persistence " +
"layer can only communicate with the business layer.")
.check(myClasses);
}
structural integrity
public Presentation_Layer_Cannot_Access_Persistence_Layer() {
var result = Types.InCurrentDomain()
.That()
.ResideInNamespace("Myapp.Presentation")
.ShouldNot()
.HaveDependencyOn("Myapp.Persistence")
.GetResult().IsSuccessful;
}
structural integrity
"The Intersection of architecture and implementation", Mark Richards
“Developers should never take
components designed by
architects as the last word.
Rather, the initial design should
be viewed as a first draft, where
implementation will reveal more
details and refinements.”
embrace continuous
architecture change
"The Intersection of architecture and implementation", Mark Richards
1 of 81

Recommended

Software engineering the genesis by
Software engineering  the genesisSoftware engineering  the genesis
Software engineering the genesisPawel Szulc
377 views48 slides
Design Decisions For Understanding Software Architecture by
Design Decisions For Understanding Software ArchitectureDesign Decisions For Understanding Software Architecture
Design Decisions For Understanding Software ArchitectureTiffany Graham
2 views83 slides
Illogical engineers by
Illogical engineersIllogical engineers
Illogical engineersPawel Szulc
257 views161 slides
Illogical engineers by
Illogical engineersIllogical engineers
Illogical engineersPawel Szulc
1.2K views161 slides
Cloud computing - an architect's perspective by
Cloud computing - an architect's perspectiveCloud computing - an architect's perspective
Cloud computing - an architect's perspectiveHARMAN Services
780 views6 slides
Let's talk about... Microservices by
Let's talk about... MicroservicesLet's talk about... Microservices
Let's talk about... MicroservicesAlessandro Giorgetti
573 views73 slides

More Related Content

Similar to "The Intersection of architecture and implementation", Mark Richards

The Big Picture - Integrating Buzzwords by
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsAlessandro Giorgetti
563 views57 slides
Microservices Architecture by
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureAlessandro Giorgetti
269 views68 slides
Using patterns and pattern languages to make better architectural decisions by
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Chris Richardson
5.7K views48 slides
Microservices why? by
Microservices   why?Microservices   why?
Microservices why?Sascha Düpre
480 views41 slides
Software Modeling And Analysis Project by
Software Modeling And Analysis ProjectSoftware Modeling And Analysis Project
Software Modeling And Analysis ProjectPam Fenno
4 views49 slides
Advanced web application architecture Way2Web by
Advanced web application architecture Way2WebAdvanced web application architecture Way2Web
Advanced web application architecture Way2WebMatthias Noback
2.9K views60 slides

Similar to "The Intersection of architecture and implementation", Mark Richards(20)

Using patterns and pattern languages to make better architectural decisions by Chris Richardson
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions
Chris Richardson5.7K views
Software Modeling And Analysis Project by Pam Fenno
Software Modeling And Analysis ProjectSoftware Modeling And Analysis Project
Software Modeling And Analysis Project
Pam Fenno4 views
Advanced web application architecture Way2Web by Matthias Noback
Advanced web application architecture Way2WebAdvanced web application architecture Way2Web
Advanced web application architecture Way2Web
Matthias Noback2.9K views
Developing Actors in Azure with .net by Marco Parenzan
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
Marco Parenzan80 views
Agile architecture upload by The Real Dyl
Agile architecture uploadAgile architecture upload
Agile architecture upload
The Real Dyl550 views
A Software Problem (and a maybe-solution) by YangJerng Hwa
A Software Problem (and a maybe-solution)A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)
YangJerng Hwa470 views
Reengineering including reverse & forward Engineering by Muhammad Chaudhry
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
Muhammad Chaudhry15.5K views
Architecting for Change: An Agile Approach by Ben Stopford
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
Ben Stopford1.7K views
Microservices Architecture - Cloud Native Apps by Araf Karsh Hamid
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid1.4K views
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클 by Oracle Korea
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
Oracle Korea257 views
The elegant way of implementing microservices with istio by Inho Kang
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
Inho Kang1.9K views
2014_report by K SEZER
2014_report2014_report
2014_report
K SEZER529 views
Lecture 17 design concepts (2) by IIUI
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
IIUI604 views
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015 by Mozaic Works
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works1.6K views

More from Fwdays

"Package management in monorepos", Zoltan Kochan by
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan KochanFwdays
7 views18 slides
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell by
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
"Node.js vs workers — A comparison of two JavaScript runtimes", James M SnellFwdays
3 views30 slides
"AI and how to integrate ChatGPT as a customer support agent", Sergey Dyachok by
"AI and how to integrate ChatGPT as a customer support agent",  Sergey Dyachok"AI and how to integrate ChatGPT as a customer support agent",  Sergey Dyachok
"AI and how to integrate ChatGPT as a customer support agent", Sergey DyachokFwdays
8 views17 slides
"Node.js Development in 2024: trends and tools", Nikita Galkin by
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin Fwdays
5 views38 slides
"Running students' code in isolation. The hard way", Yurii Holiuk by
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk Fwdays
11 views34 slides
"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
8 views29 slides

More from Fwdays(20)

"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays7 views
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell by Fwdays
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
Fwdays3 views
"AI and how to integrate ChatGPT as a customer support agent", Sergey Dyachok by Fwdays
"AI and how to integrate ChatGPT as a customer support agent",  Sergey Dyachok"AI and how to integrate ChatGPT as a customer support agent",  Sergey Dyachok
"AI and how to integrate ChatGPT as a customer support agent", Sergey Dyachok
Fwdays8 views
"Node.js Development in 2024: trends and tools", Nikita Galkin by Fwdays
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin
Fwdays5 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays11 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays8 views
"The role of CTO in a classical early-stage startup", Eugene Gusarov by Fwdays
"The role of CTO in a classical early-stage startup", Eugene Gusarov"The role of CTO in a classical early-stage startup", Eugene Gusarov
"The role of CTO in a classical early-stage startup", Eugene Gusarov
Fwdays33 views
"Cross-functional teams: what to do when a new hire doesn’t solve the busines... by Fwdays
"Cross-functional teams: what to do when a new hire doesn’t solve the busines..."Cross-functional teams: what to do when a new hire doesn’t solve the busines...
"Cross-functional teams: what to do when a new hire doesn’t solve the busines...
Fwdays33 views
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad... by Fwdays
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad..."Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
Fwdays43 views
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur by Fwdays
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
Fwdays43 views
"Fast Start to Building on AWS", Igor Ivaniuk by Fwdays
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor Ivaniuk
Fwdays46 views
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ... by Fwdays
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
Fwdays37 views
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi by Fwdays
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
Fwdays28 views
"How we switched to Kanban and how it integrates with product planning", Vady... by Fwdays
"How we switched to Kanban and how it integrates with product planning", Vady..."How we switched to Kanban and how it integrates with product planning", Vady...
"How we switched to Kanban and how it integrates with product planning", Vady...
Fwdays67 views
"Bringing Flutter to Tide: a case study of a leading fintech platform in the ... by Fwdays
"Bringing Flutter to Tide: a case study of a leading fintech platform in the ..."Bringing Flutter to Tide: a case study of a leading fintech platform in the ...
"Bringing Flutter to Tide: a case study of a leading fintech platform in the ...
Fwdays24 views
"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov by Fwdays
"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov
"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov
Fwdays64 views
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy by Fwdays
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
Fwdays48 views
From “T” to “E”, Dmytro Gryn by Fwdays
From “T” to “E”, Dmytro GrynFrom “T” to “E”, Dmytro Gryn
From “T” to “E”, Dmytro Gryn
Fwdays36 views
"Why I left React in my TypeScript projects and where ", Illya Klymov by Fwdays
"Why I left React in my TypeScript projects and where ",  Illya Klymov"Why I left React in my TypeScript projects and where ",  Illya Klymov
"Why I left React in my TypeScript projects and where ", Illya Klymov
Fwdays250 views
"KillTech project: through innovation to a winning capability", Yelyzaveta B... by Fwdays
"KillTech project: through innovation to a winning capability",  Yelyzaveta B..."KillTech project: through innovation to a winning capability",  Yelyzaveta B...
"KillTech project: through innovation to a winning capability", Yelyzaveta B...
Fwdays230 views

Recently uploaded

virtual reality.pptx by
virtual reality.pptxvirtual reality.pptx
virtual reality.pptxG036GaikwadSnehal
11 views15 slides
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides
SAP Automation Using Bar Code and FIORI.pdf by
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdfVirendra Rai, PMP
23 views38 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
136 views15 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
248 views20 slides
PRODUCT LISTING.pptx by
PRODUCT LISTING.pptxPRODUCT LISTING.pptx
PRODUCT LISTING.pptxangelicacueva6
14 views1 slide

Recently uploaded(20)

SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri16 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman33 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson85 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker37 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi127 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst478 views

"The Intersection of architecture and implementation", Mark Richards