Hacking Conway's Law

36
ADVANCED TECHNOLOGIES CENTER Raffi Krikorian @raffi HACKING CONWAY’S LAW

Transcript of Hacking Conway's Law

Page 1: Hacking Conway's Law

ADVANCED TECHNOLOGIES CENTERRaffi Krikorian @raffi

HACKING CONWAY’S LAW

Page 2: Hacking Conway's Law

Speed

Page 3: Hacking Conway's Law

This code looks like crap!

Engineering

Page 4: Hacking Conway's Law

We can’t ship things fast enough!‘Velocity’ is down!

Management

Page 5: Hacking Conway's Law
Page 6: Hacking Conway's Law

Advanced Technologies Center

Mapping Safety Autonomy

Page 7: Hacking Conway's Law

We're programmers. Programmers are, in their hearts, architects, and the first thing they want 

to do when they get to a site is to bulldoze the place flat and build something grand. 

We're not excited by incremental renovation: tinkering, improving, planting flower beds.

FOG CREEK SOFTWARE / STACK EXCHANGE NETWORK

Joel Spolsky

Page 8: Hacking Conway's Law

T-Bird

T-Flock + Haplo

Flock(s)

Gizmoduck

Monorail

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Monorail MySQL

Page 9: Hacking Conway's Law

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Redis

Memcache

Flock

T-Bird

MySQLTweet

User

Timeline

Social Graph

DMs

API

Web

Monorail

TFE

Page 10: Hacking Conway's Law

Single codebase All computational logic are in-memory Easy to scale horizontally Handled by a central operations team

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Monorail MySQL

Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Redis

Memcache

Flock

T-Bird

MySQLTweet

User

Timeline

Social Graph

DMs

API

Web

Monorail

TFE

Page 11: Hacking Conway's Law

0

500,000

20

11

20

12

20

13

20

14

20

15

0

18,000,000

20

11

20

12

20

13

20

14

20

15

500,000 18,000,000

Page 12: Hacking Conway's Law
Page 13: Hacking Conway's Law
Page 14: Hacking Conway's Law
Page 15: Hacking Conway's Law
Page 16: Hacking Conway's Law
Page 17: Hacking Conway's Law
Page 18: Hacking Conway's Law
Page 19: Hacking Conway's Law
Page 20: Hacking Conway's Law
Page 21: Hacking Conway's Law

Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Redis

Memcache

Flock

T-Bird

MySQLTweet

User

Timeline

Social Graph

DMs

API

Web

Monorail

TFE

Page 22: Hacking Conway's Law

Any organization that designs a system (defined more broadly here than just information

systems) will inevitably produce a design whose structure is a copy of the organization's

communication structure.

Melvin Conway

Page 23: Hacking Conway's Law

If you have four developers writing a compiler you will get a four-pass compiler.

Eric Raymond

Page 24: Hacking Conway's Law

Setting up the team says more about architecture than the architecture itself.

Me

Page 25: Hacking Conway's Law
Page 26: Hacking Conway's Law
Page 27: Hacking Conway's Law
Page 28: Hacking Conway's Law
Page 29: Hacking Conway's Law
Page 30: Hacking Conway's Law
Page 31: Hacking Conway's Law
Page 32: Hacking Conway's Law

Single codebase All computational logic are in-memory Easy to scale horizontally Handled by a central operations team

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Monorail MySQL

Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Redis

Memcache

Flock

T-Bird

MySQLTweet

User

Timeline

Social Graph

DMs

API

Web

Monorail

TFETeam

Page 33: Hacking Conway's Law

Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service

STORAGE & RETRIEVAL

LOGICPRESENTATIONROUTING

Redis

Memcache

Flock

T-Bird

MySQLTweet

User

Timeline

Social Graph

DMs

API

Web

Monorail

TFE

teams

team

Page 34: Hacking Conway's Law

Ways must be found to reward design managers for keeping their organizations lean and flexible. There is need for a philosophy of system design

management which is not based on the assumption that adding manpower simply adds

to productivity.

Melvin Conway

Page 35: Hacking Conway's Law

To solve technical problems, you often have to go outside the technical domain.

Me

Page 36: Hacking Conway's Law

0. It’s not all about the code!

1. Small teams can do big things.

2. Full stack teams keeps your architecture flexible.

3. Don’t fight Conway’s Law, work with it.

Me