In a world of rapid changes and increasing uncertainties, organizations have to continuously adapt and evolve to remain competitive and excel in the market.
In such a dynamic business landscape organizations need to design for adaptability. Designing for adaptability requires understanding the landscape organizations are operating in, identifying patterns of change, applying principles for organizational fitness, and making mindful strategic decisions to adapt to change.
Organizations need to aim for building systems and team organizations aligned to the business needs and business strategy and evolving them for adaptability to new changes and unknown environments.
This talk brings different perspectives and techniques together from business strategy (Wardley Mapping), software architecture and design (Domain-Driven Design), and team organization (Team Topologies) as a powerful toolset to design, build and evolve adaptive systems and team structures for a fast flow of change.
3. “A system is more than the sum of its parts, it’s a product of their interactions.” *
“Until managers take into accout 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
10. Value
Chain
Invisible
Visible
Evaluate
Manage
Organizer
Build & Publish Communicate Signup/Signin
Speaker
Submit
@suksr
Schedule
Session CfP Submission w/ Speakers
Compute
Platform
VM
Message
Broker
Search
Engine
Data Storage
Conference
Event Planner
Wardley Map – Example
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
Landscape
11. Determine
dependencies
and position of
the components
in the
value chain
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Evaluate
Manage
Organizer
Build & Publish Communicate Signup/Signin
Speaker
Submit
@suksr
Schedule
Session CfP Submission w/ Speakers
Compute
Platform
VM
Message
Broker
Search Engine
Data Storage
Conference
Event Planner
Determine
stage of
evolution for
every
component
5
Wardley Map – Example
Identify
users
Identify
components
fulfilling
user needs
Identify
user
needs
1
2
3
4
3
Landscape
18. Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Efficiency enables innovation
Uncharted Industrialised
Climate
@suksr
The Climatic Patterns (extract)
Higher order systems
create new source of
value
22. Full transition to
Smartphones
Past success
breeds inertia
Inertia can kill an organisation
Success of old
cell phones
Competitors’ actions will
change the game
Increasing
importance of
software
@suksr
Competitors’ Actions and Inertia to Change
Climate
23. Climate
“Understanding
climatic patterns
is important when
anticipating
change.”
- Simon Wardley
Climatic patterns
give you an idea
what can change
and where to
invest
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Evaluate
Manage
Organizer
Build & Publish Communicate Signup/Signin
Speaker
Submit
Schedule
Session CfP Submission w/ Speakers
Compute
Platform
VM
Message
Broker
Search Engine
Data Storage
Conference
Event Planner
Cloud-hosted Services
Serverless
Points of potential
change /
where to invest? Everything
evolves through
supply and
demand
competition
Understanding Climatic Patterns
@suksr
24. Climate
“Understanding
climatic patterns
is important when
anticipating
change.”
- Simon Wardley
Climatic patterns
give you an idea
what can change
and where to
invest
Value
Chain
Invisible
Visible
Custom-Built Product (+rental) Commodity (+utility)
Evolution
Evaluate
Manage
Organizer
Build & Publish Communicate Signup/Signin
Speaker
Submit
Schedule
Session CfP Submission w/ Speakers
Compute
Platform
VM
Message
Broker
Search Engine
Data Storage
Conference
Event Planner
Cloud-hosted Services
Serverless
Attendee
Rate
Session
Points of potential
change /
where to invest?
+ Efficiency
+ Efficiency
+ Worth
Everything
evolves through
supply and
demand
competition
Efficiency
enables
innovation
Higher order
systems create
new source
of value
Understanding Climatic Patterns
Genesis
@suksr
25. Climate
“Understanding
climatic patterns
is important when
anticipating
change.”
- Simon Wardley
Climatic patterns
give you an idea
what can change
and where to
invest
Value
Chain
Invisible
Visible
Custom-Built Product (+rental) Commodity (+utility)
Evolution
Evaluate
Manage
Organizer
Build & Publish Communicate Signup/Signin
Speaker
Submit
Schedule
Session CfP Submission w/ Speakers
Compute
Platform
VM
Message
Broker
Search Engine
Data Storage
Conference
Event Planner
Cloud-hosted Services
Serverless
Attendee
Rate
Session
Points of potential
change /
where to invest?
+ Inertia
+ Efficiency
+ Efficiency
+ Inertia
+ Worth
Everything
evolves through
supply and
demand
competition
Success
breeds
inertia
Efficiency
enables
innovation
Higher order
systems create
new source
of value
Understanding Climatic Patterns
Genesis
@suksr
26. Purpose
Landscape
Climate
Doctrine
Leadership Our Why
A map of the
competitive
environment
External forces
impacting
the landscape
Universal principles
applicable regardless
of landscape
@suksr
The Strategy Cycle of Wardley Mapping
38. Purpose
Landscape
Climate
Doctrine
Leadership Our Why
A map of the
competitive
environment
External forces
impacting
the landscape
Universal applicable
principles regardless
of landscape
Context dependent
strategic decisions
@suksr
The Strategy Cycle of Wardley Mapping
39. 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
Understanding
the Why of
our business
1
Understanding
the landscape
we are operating
in visualized by
a Wardley Map
2
Being able to
anticipate some
forms of change
due to climatic
patterns
3
Understanding
basic universal
doctrine that helps
to structure an
organization for
adapting flow of
change
4
Learning context
specific forms of
gameplay which are
the heart of
strategy
5
Then we will be
ready to act
...
6
@suksr
45. Analyse
&
Discover
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core subdomain
Core
Domain
Problem Domain
Strategic Design (Problem Space)
Supporting
Subdomain
Generic
Subdomain
@suksr
Problem
Space
Strategic
Design
DDD & Wardley Map
DDD & Wardley Map
46. Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core subdomain
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
47. Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core subdomain
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
Subdomain
Supporting
Subdomain
Generic
Subdomain
Problem Domain
Strategic Design (Problem Space)
DDD & Wardley Map
48. Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Distilling the problem
domain & discovering the
core subdomain
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
49. Decompose
&
Map
Analyse
&
Discover
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Evolution
Development
Teams
Domain
Experts
Ubiquitous
Language
Analysis
Model
Code
Model
Domain Model
Problem Domain
abstracted by
@suksr
Problem
Space
Solution
Space
Strategic
Design Core
Domain
Supporting
Subdomain
Generic
Subdomain
Domain Models
50. 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 model
cannot exist
without a
boundary
A bounded
context defines
where a single
domain model
can be applied
A bounded
context forms
a unit of
mastery,
purpose,
autonomy
Bounded Contexts
51. Doctrine
Challenge assumptions
Know the details
Use a common language
Ubiquitous Language
Domain Knowledge
Domain
Experts
Development
Teams
Collaboration
Gaining domain knowledge
@suksr
Strategic DDD & Doctrine
52. Doctrine
Challenge assumptions
Know the details
Use a common language
Ubiquitous Language
Domain Knowledge
Domain
Experts
Development
Teams
Collaboration
Gaining domain knowledge
Focus on high situational
awareness
Core
Domain
Discovering the
core domain
@suksr
Strategic DDD & Doctrine
53. Doctrine
Challenge assumptions
Know the details
Use a common language
Think small (as in contracts)
Ubiquitous Language
Domain Knowledge
Domain
Experts
Development
Teams
Collaboration
Gaining domain knowledge
Focus on high situational
awareness
Core
Domain
Discovering the
core domain
Decomposing into modular
components (Bounded Contexts)
@suksr
Provide purpose, mastery,
and autonomy
Strategic DDD & Doctrine
54. Doctrine
Challenge assumptions
Know the details
Use a common language
Think small (as in contracts)
Ubiquitous Language
Domain Knowledge
Domain
Experts
Development
Teams
Collaboration
Gaining domain knowledge
Focus on high situational
awareness
Core
Domain
Discovering the
core domain
Decomposing into modular
components (Bounded Contexts)
@suksr
Provide purpose, mastery,
and autonomy
Subdomain categories can be
mapped to evolution stages
Use appropriate methods
Strategic DDD & Doctrine
55. "Any organization that designs a
system […] will produce a design whose
structure is a copy of the organization's
communication structure.”
Conway’s Law
Melvin Conway
@suksr
56. restricting communication
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 requires …
58. “Overall, the Team Topologies approach
advocates for organization design that
optimizes for flow of change and feedback
from running systems.”
@suksr
Team Topologies
67. Collaboration X-as-a-Service
Facilitating
Stream-aligned team Platform team
Enabling team Complicated subsystem team
API
Doctrine
Think small teams
Optimize flow
Provide purpose,
mastery & autonomy
Design for constant evolution
@suksr
Team Topologies & Doctrine
68. Evolving a Legacy System
Purpose
Source: https://www.food-management.com
Providing high-quality education for junior students everywhere
and help teachers to engage with their students online
@suksr
70. Value
Chain
Invisible
Visible
Planning
Create
Teacher
Helping Evaluating Signup/Signin
Student
Students
Course Class Students
Content
BBoM
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Data Storage
Message
Broker
Search Engine
Compute
VM
Online School
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
71. UI Team
Backend Team
Infrastructure Team
Handover
Handover
Handover
requires
communication
and coordination
efforts between
teams
Bottlenecks
impede
delivery
performance
BBoM
Online School
Data
Storage
Search
Engine Message
Broker
Compute
VM
SMTP
Server
High team
cognitive
load
No clear
ownership
boundaries
High
operational
efforts for
on-premises
infrastructure
High cost of
change due
to tight
change
coupling
High amount
of effort to
understand
a piece of code
Architecture For Flow
Starting
with the
team
@suksr
73. 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
Support of Purpose high
Complexity high
Change Rate high
Ubiquity low
Strategic Investment high
Starting
with the
team
Finding
suitable
streams
of change
@suksr
74. 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 Supporting
Differentiation high low
Support of Purpose high medium
Complexity high low
Change Rate high low-medium
Ubiquity low medium
Strategic Investment high low-medium
Starting
with the
team
Finding
suitable
streams
of change
@suksr
75. 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 Supporting Generic
Differentiation high low low
Support of Purpose high medium low
Complexity high low medium-high
Change Rate high low-medium low
Ubiquity low medium high
Strategic Investment high low-medium low
Starting
with the
team
Finding
suitable
streams
of change
@suksr
76. 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
Domain
Experts
Development
Teams
Collaboration
Available Techniques:
- EventStorming
- Domain Storytelling
- Example Mapping
- Userstory Mapping
- etc.
BBoM
Online School
Decomposing
the BBoM
into
Bounded
Contexts
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Starting
with the
team
Finding
suitable
streams
of change
@suksr
77. 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
Starting
with the
team
Finding
suitable
streams
of change
@suksr
78. 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
Mind
Conway’s
Law
Discovering
the
Core
Partitioning
the problem
domain into
subdomains
Decompose
into
Bounded
Contexts
Starting
with the
team
Finding
suitable
streams
of change
@suksr
79. 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
Mind
Conway’s
Law
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
Starting
with the
team
Finding
suitable
streams
of change
@suksr
80. 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
81. 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
Mind
Conway’s
Law
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
Starting
with the
team
Finding
suitable
streams
of change
@suksr
82. 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
Mind
Conway’s
Law
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
Starting
with the
team
Finding
suitable
streams
of change
@suksr
83. 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
Starting
with the
team
Finding
suitable
streams
of change
Find
suitable
team
boundaries
Bounded
Contexts as
team
boundaries for
stream-
aligned teams
Providing
purpose,
mastery,
autonomy
Mind
Conway’s
Law
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
84. 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
85. 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
Identifying
potential
efficiency
gaps
@suksr
86. 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)
BBoM
DBaaS
MBaaS
SEaaS
Elastic
Compute
Online School
SMTPaaS
UI Team
Backend Team
Platform team
Platform team
Determining
migration
path
Assessing
cloud
migration
strategies
Determining
new platform
Modifying
underlying
infrastructure
Replatforming
Cloud migration
through
evolution of
team topologies
Evolving a Legacy System
@suksr
87. Value
Chain
Invisible
Visible
Evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
BBoM
DBaaS
MBaaS
SEaaS
Elastic
Compute
Online School
SMTPaaS
UI Team
Backend Team
Platform team
Evolution of the
Refactoring
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
Platform team
Stream-aligned team 1
Serverless
Compute
Stream-aligned team 1
Platform team API
Stream-aligned team 1
Platform team
Discover Establish Use
Close Collaboration Limited Collaboration X-As-A-Service
Cloud migration
through
evolution of
team topologies
Evolving a Legacy System
@suksr
88. 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
Implementing For Flow
Refactoring
Value
Chain
Invisible
Visible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Stream-aligned team 2
Platform team
Stream-aligned team 3
Facilitating Facilitating
Cloud migration
through
evolution of
team topologies
Stream-aligned team 1
Serverless
Compute
Stream-aligned team 1
Stream-aligned team 4
Facilitating
Stream-aligned team 1
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
IDPaaS
SA team 1 SA team 2
SA team 3
SA team 4 Platform team(s)
Evolving a Legacy System
@suksr
89. 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
DBaaS
MBaaS
SEaaS
Serverless
Compute
SMTPaaS
Stream-aligned
team 1
Stream-aligned
team 2
Stream-aligned
team 3
Notification H.
Stream-aligned
team 4
Platform team(s)
IDPaaS
Evolving a Legacy System
Core Domain
Supporting Subdomain
Generic Subdomain
Build in-house
Use/buy off-the-shelf product
Outsource to utility suppliers
@suksr