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

  1. Define the business objectives of the site
  2. Site Structure and Content
  3. Page Design
  4. Evaluation Methods
  5. Management and Maintenance

@JulienTopcu

Usability issues in website design

  1. Define the business objectives of the site
  2. Site Structure and Content
  3. Page Design
  4. Evaluation Methods
  5. 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.

  • 535