SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
Architecture for Flow w/ Wardley
Mapping, DDD, Team Topologies
Susanne Kaiser
Independent Tech Consultant
@suksr
Your
local
optimization
Problem with Local Optimization
@suksr
“A system is more than the sum of its parts, it’s a product of their interactions.” *
“Until managers take into account the systemic nature of their organizations,
most of their efforts to improve their performance are doomed to failure.” *
*) Dr. Russell Ackoff
Your
system
Your
local
optimization
Challenges of Building Systems
Building the right thing Building the thing right
How aligned is
our solution to
business / user
needs?
Have we
understood
the
problem?
Do we share
the same
common
understanding?
How efficient
are our
engineering
practices?
How easy and
fast
can we
change and
adapt?
How fast
can we deliver
changes?
Effectiveness Efficiency
“Doing the wrong thing right is not nearly as good as doing the right thing wrong”
Dr. Russell Ackoff
@suksr
Business-Strategy Software-Design/
-Architecture
Team-Organization
w/ Wardley Mapping w/ Domain-Driven Design w/ Team Topologies
@suksr
Three Perspectives to Build Adaptive Systems
Evolving a Legacy System
Source: https://www.food-management.com
@suksr
BBoM
Data
Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
Backend-Team
Infrastructure-Team
UI-Team
Handover
Handover
Functional
silo teams w/
handover
require high
communication
and coordination
effort between
teams
BBoM leads to
high cognitive
load
Messy model
and fuzzy
boundaries
create high
change coupling
No clear
ownership
boundaries
High amount
of effort to
understand
a piece of code
On-premises
infrastructure
requires high
operational
effort
Their Current Challenges
“Local optimization does not improve the performance of the whole.”
Dr. Russell Ackoff
Delivery
bottlenecks
impeding
software
delivery
performance
@suksr
Value
Chain
Invisible
Visible
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Position
Movement
Landscape
@suksr
Visualizing the Landscape w/ a Wardley Map
Purpose
Landscape
Climate
Doctrine
Leadership Our Why
A map of the
competitive
environment
Universal applicable
principles regardless
of landscape
External forces
impacting
the landscape
Context dependent
strategic decisions
@suksr
The Strategy Cycle of Wardley Mapping
“A strategy cycle
is a represenation
of change and
how we need to
react to it.”
- Simon Wardley
Purpose
Landscape
Climate
Doctrine
Leadership Our Why
A map of the
competitive
environment
Universal applicable
principles regardless
of landscape
External forces
impacting
the landscape
Context dependent
strategic decisions
@suksr
The Strategy Cycle of Wardley Mapping
Providing high-quality education
for junior students everywhere
and help teachers to engage
with their students online.
Wardley Map
“A strategy cycle
is a represenation
of change and
how we need to
react to it.”
- Simon Wardley
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Landscape
The Landscape of the Current State
Identify
users
Identify
user
needs
1
2
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Students
Course Class Students
Content
BBoM
Data
Storage
Message
Broker
Search
Engine
Compute
Online School
SMTP
Server
Landscape
The Landscape of the Current State
Determine
dependencies
and position of
the components
in the
value chain
Identify
users
Identify
components
fulfilling
user needs
Identify
user
needs
1
2
3
4
3
Asking
for Help
Receiving
Evaluation
Feedback
Studying
Courses
@suksr
VM
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Students
Course Class Students
Content
BBoM
Data
Storage
Message
Broker
Search
Engine
Compute
VM
Online School
SMTP
Server
Landscape
The Landscape of the Current State
Identify
users
Identify
user
needs
1
2
Asking
for Help
Receiving
Evaluation
Feedback
Studying
Courses
@suksr
Determine
dependencies
and position of
the components
in the
value chain
Determine
stage of
evolution for
every
component
5
Identify
components
fulfilling
user needs
4
3
Invisible
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Everything evolves
Past Current Future
Supply Competition
Demand Competition
Movement
@suksr
Climate
The Climatic Patterns (extract)
“Understanding
climatic patterns
is important when
anticipating
change.”
- Simon Wardley
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Past Current Future
Characteristics change
Uncharted
Undefined market
Uncertain
Unpredictable
Rare
Poorly understood
Chaotic
Forming market
Learning on use
Increasing understanding
Slowly increasing
consumption
Rapid increases in learning
Domain of experts
Growing market
Learning on operation
Increasing education
Rapidly increasing
consumption
Rapid increase in use
Increasing expectation of use
Mature market
Known / accepted
Stable
Widespread and stabilising
Commonly understood
Ordered
Industrialised
Movement
@suksr
Climate
The Climatic Patterns (extract)
“Understanding
climatic patterns
is important when
anticipating
change.”
- Simon Wardley
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Students
Course Class Students
Content
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Data Storage
Message
Broker
Search Engine
Compute
VM
SMTP
Server
Landscape
The Landscape of the Current State
Determine
dependencies
and position of
the components
in the
value chain
Determine
stage of
evolution for
every
component
5
Identify
users
Identify
components
fulfilling
user needs
Identify
user
needs
1
2
3
4
3
Asking
for Help
Receiving
Evaluation
Feedback
Studying
Courses
@suksr
BBoM
Uncharted Industrialised
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
@suksr
Doctrine
Use appropriate methods
per evolution stage
Build in-house Agile
Applying Doctrinal Principles Universal
principles an
organization
should apply
to be able to
respond to
changes
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
@suksr
Doctrine
Build in-house
Use/buy off-the-shelf product Lean
Agile
Use appropriate methods
per evolution stage
Applying Doctrinal Principles Universal
principles an
organization
should apply
to be able to
respond to
changes
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
@suksr
Doctrine
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
Lean
Agile
Six Sigma
Use appropriate methods
per evolution stage
Applying Doctrinal Principles Universal
principles an
organization
should apply
to be able to
respond to
changes
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Students
Course Class Students
Content
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Data Storage
Message
Broker
Search Engine
Compute
VM
SMTP
Server
Applying Doctrinal Principles
Asking
for Help
Receiving
Evaluation
Feedback
Studying
Courses
@suksr
BBoM
Build in-house / Agile
Use/buy off-the-shelf product / Lean
Outsource to utility suppliers / Six Sigma
Use
appropriate
methods
Doctrine
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Students
Course Class Students
Content
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Data Storage
Message
Broker
Search Engine
Compute
VM
SMTP
Server
Applying Doctrinal Principles
Asking
for Help
Receiving
Evaluation
Feedback
Studying
Courses
@suksr
BBoM
Build in-house / Agile
Use/buy off-the-shelf product / Lean
Outsource to utility suppliers / Six Sigma
Use
appropriate
methods
Focus on
user needs
Know your
users
Know
the
details
Doctrine
Use a
common
language
Challenge
assumptions
restricting high, on-going
communication bandwidth
between teams
no handover between teams
cross-functional,
autonomous teams
small, long-lived teams
minimizing cognitive load team ownership
@suksr
To optimize for flow of change from a team perspective requires …
Stream-aligned
team
Fast flow
of change
@suksr
Four Team Types of Team Topologies
Stream-aligned
team
Platform
team
Fast flow
of change
@suksr
Four Team Types of Team Topologies
Stream-aligned
team
Platform
team
Enabling
team
Fast flow
of change
@suksr
Four Team Types of Team Topologies
Stream-aligned
team
Platform
team
Enabling
team
Complicated
subsystem team
Fast flow
of change
@suksr
Four Team Types of Team Topologies
Stream-aligned
team
Platform
team
Enabling
team
Complicated
subsystem team
Increasing autonomy
Reducing cognitive load
Fast flow
of change
@suksr
Four Team Types of Team Topologies
Collaboration
Rapid discovery
@suksr
Three Interaction Modes
Collaboration X-as-a-Service
API
Rapid discovery Predictable
delivery
@suksr
Three Interaction Modes
Collaboration X-as-a-Service Facilitating
API
Rapid discovery Predictable
delivery
Active help
@suksr
Three Interaction Modes
Collaboration X-as-a-Service
Facilitating
Stream-aligned team Platform team
Enabling team Complicated subsystem team
API
Team Topologies
Promotes
organizational
effectiveness
Applies
Wardley’s
Doctrinal
Principles
Doctrine
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
BBoM
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
Architecture For Flow
Finding
suitable
streams
of change
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Architecture For Flow
Problem Domain Student
Understanding
the problem
domain and
partitioning
it into
subdomains
Finding
suitable
streams
of change
@suksr
Business Domain Needs Strategy
Software Design
@suksr
Domain-Driven Design (DDD)
Doctrine
Analyse
&
Discover
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core domain
Core
Domain
Problem Domain
Strategic Design (Problem Space)
Supporting
Subdomain
Generic
Subdomain
@suksr
Problem
Space
Strategic
Design
DDD & Wardley Map
DDD & Wardley Map
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core domain
Problem Domain
Competitive advantage
Complex
Changes often
Build in-house
@suksr
Analyse
&
Discover
Problem
Space
Strategic
Design
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
Core
Domain
Problem Domain
Supporting
Subdomain
Generic
Subdomain
Strategic Design (Problem Space)
DDD & Wardley Map
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core domain
Competitive advantage
Complex
Changes often
Build in-house
No competitive advantage
Quite simple
Does not change often
Prefer to buy/use off-the-shelf
@suksr
Analyse
&
Discover
Problem
Space
Strategic
Design
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
Core
Domain
Supporting
Subdomain
Generic
Subdomain
Problem Domain
Strategic Design (Problem Space)
DDD & Wardley Map
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core domain
Problem Domain
Competitive advantage
Complex
Changes often
Build in-house
No competitive advantage
Quite simple
Does not change often
Prefer to buy/use off-the-shelf
No competitive advantage
Generally complex
Does not change often
Buy/use off-the-shelf / outsource
@suksr
Analyse
&
Discover
Problem
Space
Strategic
Design
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
Core
Domain
Supporting
Subdomain
Generic
Subdomain
Strategic Design (Problem Space)
DDD & Wardley Map
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Architecture For Flow
Analyse
&
Discover
Problem
Space
Strategic
Design
Problem Domain Student
Partitioning
the Problem
Domain into
Subdomains
Discovering
the Core
Core
Differentiation high
Complexity high
Change Rate high
Ubiquity low
Strategic Investment high
Finding
suitable
streams
of change
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Architecture For Flow
Analyse
&
Discover
Problem
Space
Strategic
Design
Problem Domain Student
Core Supporting
Differentiation high low
Complexity high low
Change Rate high low-medium
Ubiquity low medium
Strategic Investment high low-medium
Finding
suitable
streams
of change
@suksr
Discovering
the Core
Partitioning
the Problem
Domain into
Subdomains
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Architecture For Flow
Analyse
&
Discover
Problem
Space
Strategic
Design
Problem Domain Student
Core Supporting Generic
Differentiation high low low
Complexity high low medium-high
Change Rate high low-medium low
Ubiquity low medium high
Strategic Investment high low-medium low
Finding
suitable
streams
of change
@suksr
Discovering
the Core
Partitioning
the Problem
Domain into
Subdomains
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Decompose
&
Map
Analyse
&
Discover
Problem
Space
Strategic
Design
Solution
Space
BBoM
Online School
Decomposing
the BBoM
into
Bounded
Contexts
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Finding
suitable
streams
of change
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Boundary Types
Problem Domain
Linguistic consistency
boundary
Ownership boundary
Physical boundary
Different architectural
and business logic
implementation patterns
per context possible
@suksr
Decompose
&
Map
Analyse
&
Discover
Problem
Space
Strategic
Design
Solution
Space
Supporting
Subdomain
Generic
Subdomain
Core
Domain
A bounded
context defines
where a single
domain model
can be applied
A bounded
context forms
a unit of
mastery,
purpose,
autonomy
Bounded Contexts
A bounded
context can
provide
different types
of boundaries
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Decompose
&
Map
Analyse
&
Discover
Problem
Space
Strategic
Design
Solution
Space
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Notification H.
Course
Studies
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Finding
suitable
streams
of change
@suksr
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
Bounded Context
Core Domain
Supporting Subdomain
Generic Subdomain
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Notification H.
Course
Studies
Find
suitable
team
boundaries
Bounded
Contexts as
team
boundaries for
stream-
aligned teams
Providing
purpose,
mastery,
autonomy
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Finding
suitable
streams
of change
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Notification H.
Course
Studies
Find
suitable
team
boundaries
Bounded
Contexts as
team
boundaries for
stream-
aligned teams
Providing
purpose,
mastery,
autonomy
Optimize
for team
cognitive
load
Limit the
number, type,
size of
components
per team
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Finding
suitable
streams
of change
@suksr
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Rate of Change
Path to action
High Low
Clear
Unclear
Uncertainty
High Low
Novel
Practices
Emerging
Practices
Good
Practices
Best
Practices
High Low
Cognitive Load
Number and/or Size of Components a Single Team can handle
Architecture For Flow
Optimizing
Team
Cognitive
Load
Limit the
number, type,
size of
components
per team
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Notification H.
Course
Studies
Find
suitable
team
boundaries
Bounded
Contexts as
team
boundaries for
stream-
aligned teams
Providing
purpose,
mastery,
autonomy
Optimize
for team
cognitive
load
Create clear
ownership
boundaries
Limit the
number, type,
size of
components
per team
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Finding
suitable
streams
of change
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Core Domain
Supporting Subdomain
Generic Subdomain
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
User
User need User need User need User need User need
Context Map Relationship
Clear
responsibility
boundaries
Bounded
contexts
assigned to
a single team
One team
can own
several
bounded
contexts
Bounded
contexts
not shared
across teams
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Notification H.
Course
Studies
& Scoring
Data Storage
Message
Broker
Search Engine
Compute
SMTP
Server
VM
Aim for
Thinnest
Viable
Platform
(TVP)
Identify
services
needed to
support reliable
flow of change
Services form
platform-as-
a-service
for stream-
aligned teams
Digital platform
with self-
service APIs,
tools, services,
knowledge,
support
Find
suitable
team
boundaries
Bounded
Contexts as
team
boundaries for
stream-
aligned teams
Providing
purpose,
mastery,
autonomy
Optimize
for team
cognitive
load
Create clear
ownership
boundaries
Limit the
number, type,
size of
components
per team
Finding
suitable
streams
of change
@suksr
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Notification H.
Course
Studies
& Scoring
Data Storage
Message
Broker
Search Engine
Compute
SMTP
Server
VM
Aim for
Thinnest
Viable
Platform
(TVP)
Identify
services
needed to
support reliable
flow of change
Services form
platform-as-
a-service
for stream-
aligned teams
Digital platform
with self-
service APIs,
tools, services,
knowledge,
support
Finding
suitable
streams
of change
Find
suitable
team
boundaries
Bounded
Contexts as
team
boundaries for
stream-
aligned teams
Providing
purpose,
mastery,
autonomy
Optimize
for team
cognitive
load
Create clear
ownership
boundaries
Limit the
number, type,
size of
components
per team
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Mind
dependencies &
communication
bandwidth
between
teams
Identify
Capability
Gaps
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Course
Studies
Data Storage
Message
Broker
Search E.
Compute
SMTP
Server
Stream-aligned
team 1
Stream-aligned
team 2
Stream-aligned
team 3
Notification H.
Stream-aligned
team 4
Platform team(s)
A
possible
team
constellation
VM
@suksr
Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Asking
Students for Help
Course Class Students
Content
Receiving
Evaluation
Feedback
Studying
Courses
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Architecture For Flow
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Identity &
Access
Course
Studies
Data Storage
Message
Broker
Search E.
Compute
SMTP
Server
Notification H.
VM
Closing
potential
efficiency
gaps
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
UI Team
Backend Team
Infrastructure Team
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team(s)

How to transition?
@suksr
Backend team
Infrastructure team
New platform team
Implementing Flow Optimization
Assessing
cloud
migration
strategies
@suksr
Determining
migration
path
Assessing
cloud
migration
strategies
Determining
new platform
Modifying
underlying
infrastructure
Backend team
Infrastructure team
New platform team
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
DBaaS
MBaaS
SEaaS
Elastic
Compute
Online School
SMTPaaS
Replatfoming
Implementing Flow Optimization
@suksr
Remaining
infrastructure team
Merged platform team
Previous platform team
Implementing Flow Optimization
Can split
later into
smaller
teams
Shares
previously
gained
cloud
knowledge
@suksr
Implementing Flow Optimization
BBoM
Online School
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Course
Studies
Notification H.
Identity &
Access
Refactoring
@suksr
Backend team
Frontend team
Stream-aligned team 1
Starts the
refactoring
journey
Implementing Flow Optimization
BBoM
Online School
Content
Creation
Class
Mngmnt.
Learning
Support
Student
Evaluation
Course
Studies
Notification H.
Identity &
Access
Refactoring
@suksr
Stream-aligned team 1
Platform team
Stream-aligned team 1
Platform team API
Stream-aligned team 1
Platform team
Discover Establish Use
Close Collaboration
Limited Collaboration / Facilitating
X-As-A-Service
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
DBaaS
MBaaS
SEaaS
Elastic
Compute
Online School
SMTPaaS
UI Team
Backend Team
Platform team
Stream-aligned team 1
Serverless
Compute
Refactoring
Implementing Flow Optimization
discover and
assess cloud
options for the
future bounded
context
occasional
on-demand
collaboration
and help
best practices,
standards,
tools, APIs
to easily
consume
cloud services
@suksr
Remaining backend team
Remaining frontend team
Stream-aligned team 2
Merged team
Stream-aligned team 3
Stream-aligned team 4
Implementing Flow Optimization
takes care
of the
remaining
monolith
as one team
splits into
stream-aligned
teams
@suksr
Genesis Custom-Built Product (+rental) Commodity (+utility)
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team
Refactoring
Stream-aligned team 2
Platform team
Stream-aligned team 3
Facilitating Facilitating
Stream-aligned team 1
Stream-aligned team 4
Facilitating
Stream-aligned team 1
Implementing Flow Optimization
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
UI Team
Backend Team
Infrastructure Team
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team(s)
Functional
silo teams
w/ handover
High
communication
& coordination
effort between
teams
Team
Topologies
Restricted
communication
bandwidth
between
teams
What are we leaving behind? What are we adopting?
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
UI Team
Backend Team
Infrastructure Team
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team(s)
Functional
silo teams
w/ handover
Monolithic big
ball of mud w/
messy model
and fuzzy
boundaries
No clear
ownership
boundaries
High
communication
& coordination
effort between
teams
Team
Topologies
Decomposed
system w/
clear models &
bounded
contexts
Clear team
ownership
boundaries
Restricted
communication
bandwidth
between
teams
What are we leaving behind? What are we adopting?
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
UI Team
Backend Team
Infrastructure Team
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team(s)
Functional
silo teams
w/ handover
Monolithic big
ball of mud w/
messy model
and fuzzy
boundaries
No clear
ownership
boundaries
High
communication
& coordination
effort between
teams
Tight
change
coupling
High
team cognitve
load
Team
Topologies
Decomposed
system w/
clear models &
bounded
contexts
Clear team
ownership
boundaries
Restricted
communication
bandwidth
between
teams
Loosely
coupled
system
What are we leaving behind? What are we adopting?
Optimized
team cognitive
load
@suksr
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
SMTP
Server
UI Team
Backend Team
Infrastructure Team
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team(s)
Functional
silo teams
w/ handover
Monolithic big
ball of mud w/
messy model
and fuzzy
boundaries
No clear
ownership
boundaries
High
communication
& coordination
effort between
teams
Tight
change
coupling
High
team cognitve
load
High
operational
efforts due to
management
of on-premises
infrastructure
Delivery
bottlenecks
and impeded
software
delivery
performance
Team
Topologies
Decomposed
system w/
clear models &
bounded
contexts
Clear team
ownership
boundaries
Restricted
communication
bandwidth
between
teams
Loosely
coupled
system
What are we leaving behind? What are we adopting?
Optimized
team cognitive
load
Offloading
management
of infrastructure
components
to cloud
providers
Eliminating
delivery
bottlenecks
and increasing
software delivery
performance
@suksr
Key Takeaways
• Understanding the environment an organization is
operating & competing in
• Gaining domain knowledge & discovering the core
• Knowing what components to build, buy/use, or
outsource
• Decomposing the problem domain into modular
boundext contexts
• Aligning teams and evolving their interactions to
the system we build & the strategy we plan
Wardley Mapping Domain-Driven Design Team Topologies
@suksr
Key Takeaways
• Understanding the environment an organization is
operating & competing in
• Gaining domain knowledge & discovering the core
• Knowing what components to build, buy/use, or
outsource
• Decomposing the problem domain into modular
boundext contexts
• Aligning teams and evolving their interactions to
the system we build & the strategy we plan
• Identifying potential efficiency gaps
• Eliminating bottlenecks & increasing software
delivery performance
• Being able to respond to changes quickly
• Optimizing for a a fast flow of change with the
focus on improving the performance of a system as
a whole
Wardley Mapping Domain-Driven Design Team Topologies
@suksr
https://medium.com/wardleymaps
https://learnwardleymapping.com/
https://github.com/wardley-maps-
community/awesome-wardley-maps
https://githup.com/ddd-crew
https://www.dddheuristics.com
Some References
@suksr
If you are interested in more details ...
Susanne Kaiser
Independent Tech Consultant
@suksr
susanne@susannekaiser.net

Weitere ähnliche Inhalte

Was ist angesagt?

Product Canvas Step-by-Step
Product Canvas Step-by-StepProduct Canvas Step-by-Step
Product Canvas Step-by-StepGiulio Roggero
 
The Art of Discovering Bounded Contexts
The Art of Discovering Bounded ContextsThe Art of Discovering Bounded Contexts
The Art of Discovering Bounded ContextsNick Tune
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Agile India
 
Designing a Serverless Application with Domain Driven Design
 Designing a Serverless Application with Domain Driven Design  Designing a Serverless Application with Domain Driven Design
Designing a Serverless Application with Domain Driven Design Susanne Kaiser
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)Tom Kocjan
 
Dapr - A 10x Developer Framework for Any Language
Dapr - A 10x Developer Framework for Any LanguageDapr - A 10x Developer Framework for Any Language
Dapr - A 10x Developer Framework for Any LanguageBilgin Ibryam
 
Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...
Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...
Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...Amazon Web Services
 
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...Chris Richardson
 
Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.Mohammad Asif
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우NAVER D2
 
Microservices design patterns
Microservices design patternsMicroservices design patterns
Microservices design patternsMasashi Narumoto
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledNicola Costantino
 
Cloud Operating Model Design
Cloud Operating Model DesignCloud Operating Model Design
Cloud Operating Model DesignJoseph Schwartz
 
When apache pulsar meets apache flink
When apache pulsar meets apache flinkWhen apache pulsar meets apache flink
When apache pulsar meets apache flinkStreamNative
 

Was ist angesagt? (20)

Model storming
Model stormingModel storming
Model storming
 
Product Canvas Step-by-Step
Product Canvas Step-by-StepProduct Canvas Step-by-Step
Product Canvas Step-by-Step
 
The Art of Discovering Bounded Contexts
The Art of Discovering Bounded ContextsThe Art of Discovering Bounded Contexts
The Art of Discovering Bounded Contexts
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
 
Designing a Serverless Application with Domain Driven Design
 Designing a Serverless Application with Domain Driven Design  Designing a Serverless Application with Domain Driven Design
Designing a Serverless Application with Domain Driven Design
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Dapr - A 10x Developer Framework for Any Language
Dapr - A 10x Developer Framework for Any LanguageDapr - A 10x Developer Framework for Any Language
Dapr - A 10x Developer Framework for Any Language
 
Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...
Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...
Reduce Costs and Build a Strong Operational Foundation with the AWS Migration...
 
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
 
Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.
 
Creating a Product Vision
Creating a Product VisionCreating a Product Vision
Creating a Product Vision
 
Observability driven development
Observability driven developmentObservability driven development
Observability driven development
 
Domain Driven Design
Domain Driven Design Domain Driven Design
Domain Driven Design
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우
 
Microservices design patterns
Microservices design patternsMicroservices design patterns
Microservices design patterns
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) Distilled
 
Cloud Operating Model Design
Cloud Operating Model DesignCloud Operating Model Design
Cloud Operating Model Design
 
When apache pulsar meets apache flink
When apache pulsar meets apache flinkWhen apache pulsar meets apache flink
When apache pulsar meets apache flink
 

Ähnlich wie Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topologies

Adaptive Socio-Technical Systems w/ Architecture for Flow
Adaptive Socio-Technical Systems w/ Architecture for FlowAdaptive Socio-Technical Systems w/ Architecture for Flow
Adaptive Socio-Technical Systems w/ Architecture for FlowSusanne Kaiser
 
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016Amazon Web Services
 
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Amazon Web Services
 
The Role Of Analytics in Healthcare.
The Role Of Analytics in Healthcare.The Role Of Analytics in Healthcare.
The Role Of Analytics in Healthcare.Techugo
 
KSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdfKSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdfJack Zheng
 
GOTPresentation (1).pptx
GOTPresentation (1).pptxGOTPresentation (1).pptx
GOTPresentation (1).pptxSylviaMManzano
 
Evolution of an Enterprise Student Org
Evolution of an Enterprise Student OrgEvolution of an Enterprise Student Org
Evolution of an Enterprise Student OrgSalesforce.org
 
LMS: Selecting the Right Tool
LMS: Selecting the Right ToolLMS: Selecting the Right Tool
LMS: Selecting the Right ToolKevin Corcoran
 
Placement Management System
Placement Management SystemPlacement Management System
Placement Management SystemIRJET Journal
 
KSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 UpdateKSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 UpdateJack Zheng
 
Scott Youngbloom - Guide to CCMS Implementation Success
Scott Youngbloom - Guide to CCMS Implementation SuccessScott Youngbloom - Guide to CCMS Implementation Success
Scott Youngbloom - Guide to CCMS Implementation SuccessLavaConConference
 
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...IT Arena
 
Lean Business Analysis and UX Runway - Natalie Warnert
Lean Business Analysis and UX Runway - Natalie WarnertLean Business Analysis and UX Runway - Natalie Warnert
Lean Business Analysis and UX Runway - Natalie WarnertNatalie Warnert
 
(ISM203) Enterprise Cloud Adoption Strategies in Higher Education
(ISM203) Enterprise Cloud Adoption Strategies in Higher Education(ISM203) Enterprise Cloud Adoption Strategies in Higher Education
(ISM203) Enterprise Cloud Adoption Strategies in Higher EducationAmazon Web Services
 
AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)
AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)
AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)Amazon Web Services
 
A comprehensive approach to digital transformation at the University of South...
A comprehensive approach to digital transformation at the University of South...A comprehensive approach to digital transformation at the University of South...
A comprehensive approach to digital transformation at the University of South...MuleSoft
 
Micro Instructional Design for Problem-Based and Game-Based Learning
Micro Instructional Design for Problem-Based and Game-Based LearningMicro Instructional Design for Problem-Based and Game-Based Learning
Micro Instructional Design for Problem-Based and Game-Based LearningAndy Petroski
 

Ähnlich wie Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topologies (20)

Adaptive Socio-Technical Systems w/ Architecture for Flow
Adaptive Socio-Technical Systems w/ Architecture for FlowAdaptive Socio-Technical Systems w/ Architecture for Flow
Adaptive Socio-Technical Systems w/ Architecture for Flow
 
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016The People Model and Cloud Transformation | AWS Public Sector Summit 2016
The People Model and Cloud Transformation | AWS Public Sector Summit 2016
 
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
 
The Role Of Analytics in Healthcare.
The Role Of Analytics in Healthcare.The Role Of Analytics in Healthcare.
The Role Of Analytics in Healthcare.
 
KSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdfKSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdf
 
GOTPresentation (1).pptx
GOTPresentation (1).pptxGOTPresentation (1).pptx
GOTPresentation (1).pptx
 
Evolution of an Enterprise Student Org
Evolution of an Enterprise Student OrgEvolution of an Enterprise Student Org
Evolution of an Enterprise Student Org
 
LMS: Selecting the Right Tool
LMS: Selecting the Right ToolLMS: Selecting the Right Tool
LMS: Selecting the Right Tool
 
Placement Management System
Placement Management SystemPlacement Management System
Placement Management System
 
KSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 UpdateKSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 Update
 
What is sola
What is solaWhat is sola
What is sola
 
Scott Youngbloom - Guide to CCMS Implementation Success
Scott Youngbloom - Guide to CCMS Implementation SuccessScott Youngbloom - Guide to CCMS Implementation Success
Scott Youngbloom - Guide to CCMS Implementation Success
 
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
Lean Business Analysis and UX Runway: Managing Value by Reducing Waste (Natal...
 
Lean Business Analysis and UX Runway - Natalie Warnert
Lean Business Analysis and UX Runway - Natalie WarnertLean Business Analysis and UX Runway - Natalie Warnert
Lean Business Analysis and UX Runway - Natalie Warnert
 
Portfolio
PortfolioPortfolio
Portfolio
 
Resume gaurav a
Resume gaurav   aResume gaurav   a
Resume gaurav a
 
(ISM203) Enterprise Cloud Adoption Strategies in Higher Education
(ISM203) Enterprise Cloud Adoption Strategies in Higher Education(ISM203) Enterprise Cloud Adoption Strategies in Higher Education
(ISM203) Enterprise Cloud Adoption Strategies in Higher Education
 
AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)
AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)
AWS re:Invent 2016: Governance Strategies for Cloud Transformation (WWPS302)
 
A comprehensive approach to digital transformation at the University of South...
A comprehensive approach to digital transformation at the University of South...A comprehensive approach to digital transformation at the University of South...
A comprehensive approach to digital transformation at the University of South...
 
Micro Instructional Design for Problem-Based and Game-Based Learning
Micro Instructional Design for Problem-Based and Game-Based LearningMicro Instructional Design for Problem-Based and Game-Based Learning
Micro Instructional Design for Problem-Based and Game-Based Learning
 

Kürzlich hochgeladen

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Kürzlich hochgeladen (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topologies

  • 1. Architecture for Flow w/ Wardley Mapping, DDD, Team Topologies Susanne Kaiser Independent Tech Consultant @suksr
  • 3. “A system is more than the sum of its parts, it’s a product of their interactions.” * “Until managers take into account the systemic nature of their organizations, most of their efforts to improve their performance are doomed to failure.” * *) Dr. Russell Ackoff Your system Your local optimization
  • 4. Challenges of Building Systems Building the right thing Building the thing right How aligned is our solution to business / user needs? Have we understood the problem? Do we share the same common understanding? How efficient are our engineering practices? How easy and fast can we change and adapt? How fast can we deliver changes? Effectiveness Efficiency “Doing the wrong thing right is not nearly as good as doing the right thing wrong” Dr. Russell Ackoff @suksr
  • 5. Business-Strategy Software-Design/ -Architecture Team-Organization w/ Wardley Mapping w/ Domain-Driven Design w/ Team Topologies @suksr Three Perspectives to Build Adaptive Systems
  • 6. Evolving a Legacy System Source: https://www.food-management.com @suksr
  • 7. BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server Backend-Team Infrastructure-Team UI-Team Handover Handover Functional silo teams w/ handover require high communication and coordination effort between teams BBoM leads to high cognitive load Messy model and fuzzy boundaries create high change coupling No clear ownership boundaries High amount of effort to understand a piece of code On-premises infrastructure requires high operational effort Their Current Challenges “Local optimization does not improve the performance of the whole.” Dr. Russell Ackoff Delivery bottlenecks impeding software delivery performance @suksr
  • 8. Value Chain Invisible Visible Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Position Movement Landscape @suksr Visualizing the Landscape w/ a Wardley Map
  • 9. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment Universal applicable principles regardless of landscape External forces impacting the landscape Context dependent strategic decisions @suksr The Strategy Cycle of Wardley Mapping “A strategy cycle is a represenation of change and how we need to react to it.” - Simon Wardley
  • 10. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment Universal applicable principles regardless of landscape External forces impacting the landscape Context dependent strategic decisions @suksr The Strategy Cycle of Wardley Mapping Providing high-quality education for junior students everywhere and help teachers to engage with their students online. Wardley Map “A strategy cycle is a represenation of change and how we need to react to it.” - Simon Wardley
  • 11. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Landscape The Landscape of the Current State Identify users Identify user needs 1 2 @suksr
  • 12. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Students Course Class Students Content BBoM Data Storage Message Broker Search Engine Compute Online School SMTP Server Landscape The Landscape of the Current State Determine dependencies and position of the components in the value chain Identify users Identify components fulfilling user needs Identify user needs 1 2 3 4 3 Asking for Help Receiving Evaluation Feedback Studying Courses @suksr VM
  • 13. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Students Course Class Students Content BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server Landscape The Landscape of the Current State Identify users Identify user needs 1 2 Asking for Help Receiving Evaluation Feedback Studying Courses @suksr Determine dependencies and position of the components in the value chain Determine stage of evolution for every component 5 Identify components fulfilling user needs 4 3 Invisible Evolution Genesis Custom-Built Product (+rental) Commodity (+utility)
  • 14. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Everything evolves Past Current Future Supply Competition Demand Competition Movement @suksr Climate The Climatic Patterns (extract) “Understanding climatic patterns is important when anticipating change.” - Simon Wardley
  • 15. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Past Current Future Characteristics change Uncharted Undefined market Uncertain Unpredictable Rare Poorly understood Chaotic Forming market Learning on use Increasing understanding Slowly increasing consumption Rapid increases in learning Domain of experts Growing market Learning on operation Increasing education Rapidly increasing consumption Rapid increase in use Increasing expectation of use Mature market Known / accepted Stable Widespread and stabilising Commonly understood Ordered Industrialised Movement @suksr Climate The Climatic Patterns (extract) “Understanding climatic patterns is important when anticipating change.” - Simon Wardley
  • 16. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Students Course Class Students Content Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Data Storage Message Broker Search Engine Compute VM SMTP Server Landscape The Landscape of the Current State Determine dependencies and position of the components in the value chain Determine stage of evolution for every component 5 Identify users Identify components fulfilling user needs Identify user needs 1 2 3 4 3 Asking for Help Receiving Evaluation Feedback Studying Courses @suksr BBoM Uncharted Industrialised
  • 17. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr Doctrine Use appropriate methods per evolution stage Build in-house Agile Applying Doctrinal Principles Universal principles an organization should apply to be able to respond to changes
  • 18. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr Doctrine Build in-house Use/buy off-the-shelf product Lean Agile Use appropriate methods per evolution stage Applying Doctrinal Principles Universal principles an organization should apply to be able to respond to changes
  • 19. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr Doctrine Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Lean Agile Six Sigma Use appropriate methods per evolution stage Applying Doctrinal Principles Universal principles an organization should apply to be able to respond to changes
  • 20. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Students Course Class Students Content Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Data Storage Message Broker Search Engine Compute VM SMTP Server Applying Doctrinal Principles Asking for Help Receiving Evaluation Feedback Studying Courses @suksr BBoM Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma Use appropriate methods Doctrine
  • 21. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Students Course Class Students Content Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Data Storage Message Broker Search Engine Compute VM SMTP Server Applying Doctrinal Principles Asking for Help Receiving Evaluation Feedback Studying Courses @suksr BBoM Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma Use appropriate methods Focus on user needs Know your users Know the details Doctrine Use a common language Challenge assumptions
  • 22. restricting high, on-going communication bandwidth between teams no handover between teams cross-functional, autonomous teams small, long-lived teams minimizing cognitive load team ownership @suksr To optimize for flow of change from a team perspective requires …
  • 27. Stream-aligned team Platform team Enabling team Complicated subsystem team Increasing autonomy Reducing cognitive load Fast flow of change @suksr Four Team Types of Team Topologies
  • 29. Collaboration X-as-a-Service API Rapid discovery Predictable delivery @suksr Three Interaction Modes
  • 30. Collaboration X-as-a-Service Facilitating API Rapid discovery Predictable delivery Active help @suksr Three Interaction Modes
  • 31. Collaboration X-as-a-Service Facilitating Stream-aligned team Platform team Enabling team Complicated subsystem team API Team Topologies Promotes organizational effectiveness Applies Wardley’s Doctrinal Principles Doctrine @suksr
  • 32. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses BBoM Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Data Storage Message Broker Search Engine Compute VM Online School SMTP Server Architecture For Flow Finding suitable streams of change @suksr
  • 33. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Problem Domain Student Understanding the problem domain and partitioning it into subdomains Finding suitable streams of change @suksr
  • 34. Business Domain Needs Strategy Software Design @suksr Domain-Driven Design (DDD) Doctrine
  • 35. Analyse & Discover Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core domain Core Domain Problem Domain Strategic Design (Problem Space) Supporting Subdomain Generic Subdomain @suksr Problem Space Strategic Design DDD & Wardley Map DDD & Wardley Map
  • 36. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core domain Problem Domain Competitive advantage Complex Changes often Build in-house @suksr Analyse & Discover Problem Space Strategic Design Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Core Domain Problem Domain Supporting Subdomain Generic Subdomain Strategic Design (Problem Space) DDD & Wardley Map
  • 37. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core domain Competitive advantage Complex Changes often Build in-house No competitive advantage Quite simple Does not change often Prefer to buy/use off-the-shelf @suksr Analyse & Discover Problem Space Strategic Design Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Core Domain Supporting Subdomain Generic Subdomain Problem Domain Strategic Design (Problem Space) DDD & Wardley Map
  • 38. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core domain Problem Domain Competitive advantage Complex Changes often Build in-house No competitive advantage Quite simple Does not change often Prefer to buy/use off-the-shelf No competitive advantage Generally complex Does not change often Buy/use off-the-shelf / outsource @suksr Analyse & Discover Problem Space Strategic Design Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Core Domain Supporting Subdomain Generic Subdomain Strategic Design (Problem Space) DDD & Wardley Map
  • 39. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Analyse & Discover Problem Space Strategic Design Problem Domain Student Partitioning the Problem Domain into Subdomains Discovering the Core Core Differentiation high Complexity high Change Rate high Ubiquity low Strategic Investment high Finding suitable streams of change @suksr
  • 40. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Analyse & Discover Problem Space Strategic Design Problem Domain Student Core Supporting Differentiation high low Complexity high low Change Rate high low-medium Ubiquity low medium Strategic Investment high low-medium Finding suitable streams of change @suksr Discovering the Core Partitioning the Problem Domain into Subdomains
  • 41. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Analyse & Discover Problem Space Strategic Design Problem Domain Student Core Supporting Generic Differentiation high low low Complexity high low medium-high Change Rate high low-medium low Ubiquity low medium high Strategic Investment high low-medium low Finding suitable streams of change @suksr Discovering the Core Partitioning the Problem Domain into Subdomains
  • 42. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Decompose & Map Analyse & Discover Problem Space Strategic Design Solution Space BBoM Online School Decomposing the BBoM into Bounded Contexts Discovering the Core Partitioning the problem domain into subdomains Finding suitable streams of change @suksr
  • 43. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Boundary Types Problem Domain Linguistic consistency boundary Ownership boundary Physical boundary Different architectural and business logic implementation patterns per context possible @suksr Decompose & Map Analyse & Discover Problem Space Strategic Design Solution Space Supporting Subdomain Generic Subdomain Core Domain A bounded context defines where a single domain model can be applied A bounded context forms a unit of mastery, purpose, autonomy Bounded Contexts A bounded context can provide different types of boundaries
  • 44. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Decompose & Map Analyse & Discover Problem Space Strategic Design Solution Space Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Finding suitable streams of change @suksr Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Bounded Context Core Domain Supporting Subdomain Generic Subdomain
  • 45. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Finding suitable streams of change @suksr
  • 46. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Optimize for team cognitive load Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Finding suitable streams of change @suksr
  • 47. Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Rate of Change Path to action High Low Clear Unclear Uncertainty High Low Novel Practices Emerging Practices Good Practices Best Practices High Low Cognitive Load Number and/or Size of Components a Single Team can handle Architecture For Flow Optimizing Team Cognitive Load Limit the number, type, size of components per team @suksr
  • 48. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Optimize for team cognitive load Create clear ownership boundaries Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Finding suitable streams of change @suksr
  • 49. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Core Domain Supporting Subdomain Generic Subdomain Build in-house Use/buy off-the-shelf product Outsource to utility suppliers User User need User need User need User need User need Context Map Relationship Clear responsibility boundaries Bounded contexts assigned to a single team One team can own several bounded contexts Bounded contexts not shared across teams @suksr
  • 50. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies & Scoring Data Storage Message Broker Search Engine Compute SMTP Server VM Aim for Thinnest Viable Platform (TVP) Identify services needed to support reliable flow of change Services form platform-as- a-service for stream- aligned teams Digital platform with self- service APIs, tools, services, knowledge, support Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Optimize for team cognitive load Create clear ownership boundaries Limit the number, type, size of components per team Finding suitable streams of change @suksr Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts
  • 51. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies & Scoring Data Storage Message Broker Search Engine Compute SMTP Server VM Aim for Thinnest Viable Platform (TVP) Identify services needed to support reliable flow of change Services form platform-as- a-service for stream- aligned teams Digital platform with self- service APIs, tools, services, knowledge, support Finding suitable streams of change Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Optimize for team cognitive load Create clear ownership boundaries Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Mind dependencies & communication bandwidth between teams Identify Capability Gaps @suksr
  • 52. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Course Studies Data Storage Message Broker Search E. Compute SMTP Server Stream-aligned team 1 Stream-aligned team 2 Stream-aligned team 3 Notification H. Stream-aligned team 4 Platform team(s) A possible team constellation VM @suksr
  • 53. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Course Studies Data Storage Message Broker Search E. Compute SMTP Server Notification H. VM Closing potential efficiency gaps @suksr
  • 54. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server UI Team Backend Team Infrastructure Team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team(s)  How to transition? @suksr
  • 55. Backend team Infrastructure team New platform team Implementing Flow Optimization Assessing cloud migration strategies @suksr
  • 56. Determining migration path Assessing cloud migration strategies Determining new platform Modifying underlying infrastructure Backend team Infrastructure team New platform team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM DBaaS MBaaS SEaaS Elastic Compute Online School SMTPaaS Replatfoming Implementing Flow Optimization @suksr
  • 57. Remaining infrastructure team Merged platform team Previous platform team Implementing Flow Optimization Can split later into smaller teams Shares previously gained cloud knowledge @suksr
  • 58. Implementing Flow Optimization BBoM Online School Content Creation Class Mngmnt. Learning Support Student Evaluation Course Studies Notification H. Identity & Access Refactoring @suksr
  • 59. Backend team Frontend team Stream-aligned team 1 Starts the refactoring journey Implementing Flow Optimization BBoM Online School Content Creation Class Mngmnt. Learning Support Student Evaluation Course Studies Notification H. Identity & Access Refactoring @suksr
  • 60. Stream-aligned team 1 Platform team Stream-aligned team 1 Platform team API Stream-aligned team 1 Platform team Discover Establish Use Close Collaboration Limited Collaboration / Facilitating X-As-A-Service Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM DBaaS MBaaS SEaaS Elastic Compute Online School SMTPaaS UI Team Backend Team Platform team Stream-aligned team 1 Serverless Compute Refactoring Implementing Flow Optimization discover and assess cloud options for the future bounded context occasional on-demand collaboration and help best practices, standards, tools, APIs to easily consume cloud services @suksr
  • 61. Remaining backend team Remaining frontend team Stream-aligned team 2 Merged team Stream-aligned team 3 Stream-aligned team 4 Implementing Flow Optimization takes care of the remaining monolith as one team splits into stream-aligned teams @suksr
  • 62. Genesis Custom-Built Product (+rental) Commodity (+utility) DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team Refactoring Stream-aligned team 2 Platform team Stream-aligned team 3 Facilitating Facilitating Stream-aligned team 1 Stream-aligned team 4 Facilitating Stream-aligned team 1 Implementing Flow Optimization @suksr
  • 63. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server UI Team Backend Team Infrastructure Team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team(s) Functional silo teams w/ handover High communication & coordination effort between teams Team Topologies Restricted communication bandwidth between teams What are we leaving behind? What are we adopting? @suksr
  • 64. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server UI Team Backend Team Infrastructure Team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team(s) Functional silo teams w/ handover Monolithic big ball of mud w/ messy model and fuzzy boundaries No clear ownership boundaries High communication & coordination effort between teams Team Topologies Decomposed system w/ clear models & bounded contexts Clear team ownership boundaries Restricted communication bandwidth between teams What are we leaving behind? What are we adopting? @suksr
  • 65. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server UI Team Backend Team Infrastructure Team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team(s) Functional silo teams w/ handover Monolithic big ball of mud w/ messy model and fuzzy boundaries No clear ownership boundaries High communication & coordination effort between teams Tight change coupling High team cognitve load Team Topologies Decomposed system w/ clear models & bounded contexts Clear team ownership boundaries Restricted communication bandwidth between teams Loosely coupled system What are we leaving behind? What are we adopting? Optimized team cognitive load @suksr
  • 66. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server UI Team Backend Team Infrastructure Team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team(s) Functional silo teams w/ handover Monolithic big ball of mud w/ messy model and fuzzy boundaries No clear ownership boundaries High communication & coordination effort between teams Tight change coupling High team cognitve load High operational efforts due to management of on-premises infrastructure Delivery bottlenecks and impeded software delivery performance Team Topologies Decomposed system w/ clear models & bounded contexts Clear team ownership boundaries Restricted communication bandwidth between teams Loosely coupled system What are we leaving behind? What are we adopting? Optimized team cognitive load Offloading management of infrastructure components to cloud providers Eliminating delivery bottlenecks and increasing software delivery performance @suksr
  • 67. Key Takeaways • Understanding the environment an organization is operating & competing in • Gaining domain knowledge & discovering the core • Knowing what components to build, buy/use, or outsource • Decomposing the problem domain into modular boundext contexts • Aligning teams and evolving their interactions to the system we build & the strategy we plan Wardley Mapping Domain-Driven Design Team Topologies @suksr
  • 68. Key Takeaways • Understanding the environment an organization is operating & competing in • Gaining domain knowledge & discovering the core • Knowing what components to build, buy/use, or outsource • Decomposing the problem domain into modular boundext contexts • Aligning teams and evolving their interactions to the system we build & the strategy we plan • Identifying potential efficiency gaps • Eliminating bottlenecks & increasing software delivery performance • Being able to respond to changes quickly • Optimizing for a a fast flow of change with the focus on improving the performance of a system as a whole Wardley Mapping Domain-Driven Design Team Topologies @suksr
  • 70. If you are interested in more details ...
  • 71. Susanne Kaiser Independent Tech Consultant @suksr susanne@susannekaiser.net