This talk is a fictional work.
Any similarity to your projects might be deliberate.
@JulienTopcu
50 A.U.
FRANCE
@JulienTopcu
@JulienTopcu
@JulienTopcu
13th of July 1998
(28 A.U.)
@JulienTopcu
Jakob Nielsen, PhD
@JulienTopcu
C
.
E
.
O
@JulienTopcu
C-Level
Ego
Optimization
C
.
E
.
O
@JulienTopcu
@JulienTopcu
Nigel Bevan, PhD
April 1998
@JulienTopcu
38 A.U.
REDMOND (USA)
@JulienTopcu
@JulienTopcu
Model | Precision | Recall |
---|---|---|
Organizational Structure
Code Churn
Code Complexity
Dependencies
Code Coverage
Pre-Release Bugs
86,2%
78,6%
79,3%
74,4%
83,8%
73,8%
84,0%
79,9%
66,0%
69,9%
54,4%
62,9%
3404 Binaires
Windows Vista
50+ Million LOC
@JulienTopcu
January 2008
Organization eats Code Quality Tools at breakfast
@JulienTopcu
Product quality is strongly affected by organization structure
1975
@JulienTopcu
46 A.U.
LONDON
@JulienTopcu
UI
Rail Shopping
Rail Supply
@JulienTopcu
UI
Rail Shopping
Rail Supply
If
If
If
If
If
If
If
If
If
@JulienTopcu
UI
Rail Shopping
Rail Supply
Feature Team
#1
Feature Team
#2
Feature Team
#3
@JulienTopcu
User Experience
Product Design
Product & Code Quality
Architecture
are strongly impacted by your organization !
@JulienTopcu
HOW DO COMMITTEES INVENT?
by MELVIN E. CONWAY - April 1968
@JulienTopcu
User
Shopping
Payment
Billing
@JulienTopcu
User
Shopping
Payment
Billing
@JulienTopcu
User
Shopping
Payment
Billing
@JulienTopcu
Interface
User
Shopping
Payment
Billing
@JulienTopcu
Communication
Contract Negotiation
Coordinator
User
Shopping
Payment
Billing
Interface
@JulienTopcu
User
Billing
Payment
Shopping
User
Billing
Shopping
Payment
@JulienTopcu
User
Billing
Payment
Shopping
User
Billing
Shopping
Payment
@JulienTopcu
Homomorphism
User
Billing
Payment
Shopping
User
Billing
Shopping
Payment
User
Billing
Payment
Shopping
User
Billing
Shopping
Payment
@JulienTopcu
User
Billing
Payment
Shopping
@JulienTopcu
User
Billing
Payment
Shopping
Payment
Shopping
User
Billing
User
Billing
Shopping
Checkout
Payment
Checkout
@JulienTopcu
Payment
Billing
Shopping
User
Checkout
???
Checkout
Payment
Shopping
User
Billing
User
Billing
Payment
Shopping
@JulienTopcu
Choosing an organization is already constraining the structure of the system it will produce, even before having analyzed the possible solutions.
User
Billing
Payment
Shopping
@JulienTopcu
Cobol Compiler
Algol Compiler
@JulienTopcu
Cobol Compiler
Algol Compiler
@JulienTopcu
Cobol Compiler
Algol Compiler
@JulienTopcu
Cobol Compiler
@JulienTopcu
Cobol Compiler
@JulienTopcu
Cobol Compiler
Someone has to be the manager
Tom Cheatham - 1996
@JulienTopcu
Problem
@JulienTopcu
Problem
@JulienTopcu
Problem
@JulienTopcu
Problem
+
@JulienTopcu
Problem
+
+
Besoin/4
Besoin/4
Besoin/4
@JulienTopcu
The Bearing of a Child Takes 9 Months No Matter How Many Women Are Assigned
Frederick Brooks - The Mythical Man-Month 1975
@JulienTopcu
Problem
+
+
Besoin/4
Besoin/4
Besoin/4
Problem
Besoin/4
Besoin/4
Besoin/4
@JulienTopcu
Problem/2
Besoin/4
Problem/2
Besoin/2
@JulienTopcu
@JulienTopcu
Problem/4
Problem/4
Problem/4
Problem/4
@JulienTopcu
There is no such thing as a design group which is both organized and unbiased
Melvin Conway - How do Committees invent? 1968
@JulienTopcu
Problem/4
Problem/4
Problem/4
Problem/4
@JulienTopcu
Problem/4
Problem/4
Problem/4
Problem/4
@JulienTopcu
Problem/4
Problem/4
Problem/4
Problem/4
@JulienTopcu
Problem/4
Problem/4
Problem/4
Problem/4
@JulienTopcu
The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems
@JulienTopcu
Frederick Brooks - The Mythical Man-Month 1975
@JulienTopcu
Parkinson Law - 1955
Work expands so as to fill the time available for its completion
@JulienTopcu
It becomes necessary to restrict communication in order that people can get some "work" done
@JulienTopcu
@JulienTopcu
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations
@JulienTopcu
@JulienTopcu
UI
Rail Shopping
Rail Supply
Feature Team
#1
Feature Team
#2
Feature Team
#3
@JulienTopcu
Model | Precision | Recall |
---|---|---|
Organizational Structure
Code Churn
Code Complexity
Dependencies
Code Coverage
Pre-Release Bugs
86,2%
78,6%
79,3%
74,4%
83,8%
73,8%
84,0%
79,9%
66,0%
69,9%
54,4%
62,9%
Windows Vista
@JulienTopcu
Organizational Structure
A large loss of team members affects knowledge retention and therefore quality
The closer the person with decision-making power over a component is to the engineers who build it, the better the quality.
The more contributors to a component belong to the same team, the higher the quality
@JulienTopcu
@JulienTopcu
System
@JulienTopcu
Payment
Shopping
User
Billing
@JulienTopcu
Payment
Shopping
User
Billing
@JulienTopcu
Payment
Shopping
User
Billing
User
Billing
Payment
Shopping
@JulienTopcu
User
Billing
Payment
Shopping
Billing
Shopping
User
Payment
Checkout
@JulienTopcu
Billing
Shopping
User
Payment
Checkout
User
Billing
Payment
Shopping
Checkout
@JulienTopcu
Inverse Conway Maneuver
Dealing with creaky legacy platforms
Jonny LeRoy & Matt Simons - December 2010
Cutter IT Journal
@JulienTopcu
System A
System B
System C
James Lewis - 2015
@JulienTopcu
System A
System B
System C
James Lewis - 2015
@JulienTopcu
System A
System B
System C
James Lewis - 2015
@JulienTopcu
James Lewis - 2015
System A
System B
System C
@JulienTopcu
James Lewis - 2015
System A
System B
System C
@JulienTopcu
James Lewis - 2015
@JulienTopcu
B
P
O
A
Structure eats Strategy
Jan Bosch - 2017
@JulienTopcu
Nigel Bevan, PhD
Avril 1998
Usability issues in website design
- Define the business objectives of the site
- Site Structure and Content
- Page Design
- Evaluation Methods
- Management and Maintenance
@JulienTopcu
Usability issues in website design
- Define the business objectives of the site
- Site Structure and Content
- Page Design
- Evaluation Methods
- Management and Maintenance
Business
Architecture
Process
Organization
Nigel Bevan, PhD
@JulienTopcu
Architecture
B
A
P
O
@JulienTopcu
Domain-Driven Design
Problem Space
Solutions Space
B
A
@JulienTopcu
© Alberto Brandolini
Event Storming
B
@JulienTopcu
B
@JulienTopcu
B
Item
Catalogue
Cart
Price
Payment
ORder
@JulienTopcu
Shopping
Payment
B
A
@JulienTopcu
A
P
Supplier <- Customer
mutually dependent
Context Map
@JulienTopcu
A
P
Partnership
mutually dependent
Context Map
@JulienTopcu
B
P
O
A
Mapping the Business with an EventStorming
Strategic Domain-Driven Design
Make bounded-contexts emerge
Highlights the balance of power between contexts and possible communication processes
@JulienTopcu
But don't give much guidance on how to organize!
Strategic Domain-Driven Design
@JulienTopcu
P
O
@JulienTopcu
Limit the size of software services/products to the cognitive load that the team can handle
P
@JulienTopcu
Shopping
Payment
Shopping
User
Billing
Payment
P
O
User
Billing
@JulienTopcu
Stream-Aligned
O
(Bounded-Context)
@JulienTopcu
Shopping
Payment
Shopping
User
Billing
Payment
P
O
Checkout
@JulienTopcu
Payment
Shopping
User
Billing
Shopping
Payment
Collaboration
P
O
Checkout
@JulienTopcu
Shopping
Payment
Billing
Shopping
User
Payment
Checkout
Collaboration
P
O
@JulienTopcu
Shopping
Payment
Billing
Shopping
User
Payment
Checkout
Checkout
XaaS
XaaS
P
O
@JulienTopcu
Checkout
P
O
@JulienTopcu
Architecture
Facilitation
Checkout
P
O
@JulienTopcu
Architecture
Facilitation
Checkout
P
O
@JulienTopcu
P
O
Shopping
Payment
Checkout
Platform
XaaS
XaaS
XaaS
@JulienTopcu
Stream-Aligned
Enabling
Platform
Complicated Subsystem
O
(Bounded-Context)
XaaS
Facilitation
Collaboration
P
@JulienTopcu
source: teamtopologies.com
@JulienTopcu
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations
@JulienTopcu
User Experience
Product Design
Product & Code Quality
Architecture
@JulienTopcu
Inverse Conway Maneuver
A
B
P
O
@JulienTopcu
@JulienTopcu
The system design will mimic the communication structures of the organisation, but only as much as the flexibility of the design allows
Conway’s Law Doesn’t Apply to Rigid Designs (May 2022) - Mathias Verraes
@JulienTopcu
@JulienTopcu
beyondxscratch.com
craftsrecords.org
Julien Topçu
Tech Coach
@JulienTopcu
Conway's Law: When Best Practices Are Not Enough
By Julien Topçu
Conway's Law: When Best Practices Are Not Enough
Your users are still struggling to retrieve the information they need, despite you have done everything to model your domain and ease the user experience? Although you follow best practices, did you ever noticed that the software often deviates from the product design, the technical vision and sometimes the software quality is even below expectations? What if we told you that all of this is linked ? There is a force that has an important influence on your product, your user experience, the quality of your software and your architecture ! During this talk, come and discover the Conway's Law that has a magical power over what you build, whatever your job profile is. We will see the impacts of this law on the different aspects of the software based on scientific studies and feedbacks from the field collected over the years.
- 756