how i finally stopped worrying and learnt to love conway’s · pdf filehow i finally...

108
1 How I finally stopped worrying and learnt to love Conway’s Law James Lewis

Upload: vuongdan

Post on 05-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

1

How I finally stopped worrying and learnt to

love Conway’s Law James Lewis

Page 2: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

“…ORGANIZATIONS WHICH DESIGN SYSTEMS … ARE CONSTRAINED TO PRODUCE DESIGNS WHICH ARE COPIES OF THE COMMUNICATION STRUCTURE OF THOSE ORGANIZATIONS”Melvyn Conway, 1968

2

Page 3: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification
Page 4: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

The mirroring phenomenon is consistent with two rival causal mechanisms. First, designs may evolve to reflect their development environments. In tightly-coupled organizations, dedicated teams employed by a single firm and located at a single site develop the design. Problems are solved by face-to-face interaction, and performance “tweaked” by taking advantage of the access that module developers have to information and solutions developed in other modules. Even if not an explicit managerial choice, the design naturally becomes more tightly-coupled.

By contrast, in loosely-coupled organizations, a large, distributed team of volunteers develops the design. Face-to-face communications are rare given most developers never meet. Hence fewer connections between modules are established. The architecture that evolves is more modular as a result of the limitations on communication between developers.

4http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf

"Exploring the Duality between Product and Organizational Architectures : A Test of the “Mirroring” Hypothesis"

Page 5: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

5

Page 6: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

6

Page 7: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

7

microservices should be:

cheap to replace

and should allow you to go as “fast as possible”?

quick to scale

withstand failure

Page 8: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

8

Difficulties I hear about a lot:

Page 9: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

8

Difficulties I hear about a lot: End-to-end testing

Page 10: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

8

Difficulties I hear about a lot: End-to-end testing

Independent deployment

Page 11: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

8

Difficulties I hear about a lot: End-to-end testing

Independent deployment

Service versioning / evolution

Page 12: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

THE THING I MOST WORRY ABOUT IS NOT TESTING,

DEPLOYMENT OR VERSIONING

IT’S ORGANISATIONAL DESIGN

Page 13: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

A TYPICAL COMPANYI got approximately 5 problems out of a maximum of about 20- I reckon

10

Page 14: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

develop-ment

11

testing

architects

ops

PMO

HR

sales

marketing

finance

Page 15: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

develop-ment

12

testing

architects

ops

PMO

HR

sales

marketing

finance

Page 16: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

13

Project(process(

1(

Business

IT Solutions

dev

QA

Support

Idea

High level Estimation

and decision to proceed

Deployment

Testing

Business Requirement Document

Business Case

Project Brief

Functional spec

Initiation Doc

reqs. matrix

Detailed Estimate

Project Approve

d

TDD

PM docs

Test Script

s

Change Request

Requirements

clarification and

estimation

1010100010100101011010 Dev

Kick off Coding (Dev)

Additional <thing> raised

>10%

CAPEX

<10%

CAPEX

Support handover

User Acceptance

Testing

Normal Flow

Data Flow

Alternate Process

Flow

KEY

Dropped requirements become

Enhancements

Page 17: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

14

Page 18: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

15

Page 19: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

develop-ment

16

testing

architects

ops

PMO

HR

sales

marketing

finance

Page 20: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

17

each of these chords represents a delay

Page 21: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

“There is nothing so useless as doing efficiently that which should not be done at all” Peter Drucker

18

Page 22: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

CASE STUDY

19

Page 23: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

20

Page 24: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

21

Fulfilment

Retail

Page 25: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

22

Fulfilment Retail

Page 26: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

23

Fulfilment Retail

Page 27: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

24

Fulfilment Retail

Page 28: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

25

Fulfilment Retail

Page 29: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

26

A capability is a combination of people, processes, systems that provides valueto customers (internal or external)

Page 30: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

27

Fulfilment Retail

EACH CAPABILITY WAS BUILT BY A LARGE TEAM

Page 31: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

Page 32: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

Page 33: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

Page 34: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

Page 35: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

Page 36: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

29

AND THE SYSTEMS ENDED UP LOOKING LIKE THIS:

Page 37: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification
Page 38: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

Feature starts dev

iteration 2

iteration 1

iteration 3

Feature deployed

regression testingperformance testing

deployment tests

cycle time

BUILT USING SCRUMERFALL

Page 39: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

32

Unit TestsBuild Service TestsService A

BuildService BEnd-to-end

Tests

BuildService C

BuildService D

Service TestsUnit Tests

Unit Tests

Unit Tests

Service Tests

Service Tests

NEEDED TO BE TESTED TOGETHER

Page 40: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

AND DEPLOYED TOGETHER

write spec

write code

test release

Without deploying into production, inventory is built up - inventory costs money and the more we have the more risky our deployments

?

Page 41: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

34

beware the distributed monolith!

Page 42: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

this is a recipe for a nervous breakdown

this is not “as fast as possible”

Page 43: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

WHAT MIGHT GOOD LOOK LIKE?

36

Page 44: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

37

Page 45: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

Pauline Cafferkey

Page 46: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

39

Team at the Royal Free

Page 47: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

infectious diseases

40

lab services

facilities

domestic services

physio

micro biology

estates

pharmacy

finance

Royal Free Hospital

Capabilities

<other><other>

Page 48: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

infectious diseases

41

lab services

facilities

domestic services

physio

micro biologyestates

pharmacyfinance

Page 49: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

42

“The approach favors agility over raw power <snip>”

http://en.wikipedia.org/wiki/OODA_loop

Page 50: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

43

1 Dr Rebecca Lester, Infectious diseases, Specialist registrar

2 Dr Damien Mack, Microbiology, Consultant

3 Dr Ruaridh Buchanan, Infectious diseases, Specialist registrar

4 Dr Simon Warren, Infectious diseases, Consultant

5 Oliver Carpenter, Infectious diseases, Nurse clinical practice educator

6 Breda Athanasopoulos, Infectious diseases, Senior matron lead high level isolation unit

7 Dr Tabitha Mahungu, Infectious diseases, Specialist registrar

8 Susan Coath, Infectious diseases, Ward sister

9 Zenaida Pandio, Domestic services, Housekeeper

10 Claire Harawa, Domestic services, Domestic team leader

11 Renato Pandio, Domestic services, Deep cleaner

12 Sheila Connolly, Patient environment, Head of patient environment

13 Peter Williams, Facilities, Security manager

14 Marchito Tumibay, Domestic services, Support worker

15 Michael Campo, Facilities, Porter

16 Lauren Geddes, Physiotherapy, Clinical lead cardiorespiratory care

17 Victoria Maddox, Laboratory service, Senior health care scientist

18 Nikki Williams, Infectious diseases, Ward sister

19 Dr Sanjay Bhagani, Infectious diseases, Consultant

20 Sarah Stanley, Patient at risk team, Nurse consultant

21 Dr Susan Hopkins, Infectious diseases and microbiology, Consultant

22 Torrain Exall, Physiotherapy, Clinical lead critical care

23 Dr Stephen Mepham, Infectious diseases and microbiology, Consultant

24 Dr Michael Jacobs, Infectious diseases, Consultant

25 Simon Rattenbury, Laboratory service, Head of laboratory service

26 Bryan O’Farrell, Pharmacy, Senior Pharmacist

27 Adrien Cooper, Estates, Director of estates

28 Robert Elliot-Cooke, Pharmacy, Senior pharmacist

29 Allan Harris, Estates, Engineering supervisor

30 Sumal Kuranaratne, Facilities, Support services manager

31 Dave Reavy, Facilities, Head of security and support services

32 Garba Ibrahim, Domestic services, Domestic team leader

33 Stephen King, Royal Free Charity, Head of finance

Page 51: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

44

1 Dr Rebecca Lester, Infectious diseases, Specialist registrar

2 Dr Damien Mack, Microbiology, Consultant

3 Dr Ruaridh Buchanan, Infectious diseases, Specialist registrar

4 Dr Simon Warren, Infectious diseases, Consultant

5 Oliver Carpenter, Infectious diseases, Nurse clinical practice educator

6 Breda Athanasopoulos, Infectious diseases, Senior matron lead high level isolation unit

7 Dr Tabitha Mahungu, Infectious diseases, Specialist registrar

8 Susan Coath, Infectious diseases, Ward sister

9 Zenaida Pandio, Domestic services, Housekeeper

10 Claire Harawa, Domestic services, Domestic team leader

11 Renato Pandio, Domestic services, Deep cleaner

12 Sheila Connolly, Patient environment, Head of patient environment

13 Peter Williams, Facilities, Security manager

14 Marchito Tumibay, Domestic services, Support worker

15 Michael Campo, Facilities, Porter

16 Lauren Geddes, Physiotherapy, Clinical lead cardiorespiratory care

17 Victoria Maddox, Laboratory service, Senior health care scientist

18 Nikki Williams, Infectious diseases, Ward sister

19 Dr Sanjay Bhagani, Infectious diseases, Consultant

20 Sarah Stanley, Patient at risk team, Nurse consultant

21 Dr Susan Hopkins, Infectious diseases and microbiology, Consultant

22 Torrain Exall, Physiotherapy, Clinical lead critical care

23 Dr Stephen Mepham, Infectious diseases and microbiology, Consultant

24 Dr Michael Jacobs, Infectious diseases, Consultant

25 Simon Rattenbury, Laboratory service, Head of laboratory service

26 Bryan O’Farrell, Pharmacy, Senior Pharmacist

27 Adrien Cooper, Estates, Director of estates

28 Robert Elliot-Cooke, Pharmacy, Senior pharmacist

29 Allan Harris, Estates, Engineering supervisor

30 Sumal Kuranaratne, Facilities, Support services manager

31 Dave Reavy, Facilities, Head of security and support services

32 Garba Ibrahim, Domestic services, Domestic team leader

33 Stephen King, Royal Free Charity, Head of finance

Page 52: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

45

1 Dr Rebecca Lester, Infectious diseases, Specialist registrar

2 Dr Damien Mack, Microbiology, Consultant

3 Dr Ruaridh Buchanan, Infectious diseases, Specialist registrar

4 Dr Simon Warren, Infectious diseases, Consultant

5 Oliver Carpenter, Infectious diseases, Nurse clinical practice educator

6 Breda Athanasopoulos, Infectious diseases, Senior matron lead high level isolation unit

7 Dr Tabitha Mahungu, Infectious diseases, Specialist registrar

8 Susan Coath, Infectious diseases, Ward sister

9 Zenaida Pandio, Domestic services, Housekeeper

10 Claire Harawa, Domestic services, Domestic team leader

11 Renato Pandio, Domestic services, Deep cleaner

12 Sheila Connolly, Patient environment, Head of patient environment

13 Peter Williams, Facilities, Security manager

14 Marchito Tumibay, Domestic services, Support worker

15 Michael Campo, Facilities, Porter

16 Lauren Geddes, Physiotherapy, Clinical lead cardiorespiratory care

17 Victoria Maddox, Laboratory service, Senior health care scientist

18 Nikki Williams, Infectious diseases, Ward sister

19 Dr Sanjay Bhagani, Infectious diseases, Consultant

20 Sarah Stanley, Patient at risk team, Nurse consultant

21 Dr Susan Hopkins, Infectious diseases and microbiology, Consultant

22 Torrain Exall, Physiotherapy, Clinical lead critical care

23 Dr Stephen Mepham, Infectious diseases and microbiology, Consultant

24 Dr Michael Jacobs, Infectious diseases, Consultant

25 Simon Rattenbury, Laboratory service, Head of laboratory service

26 Bryan O’Farrell, Pharmacy, Senior Pharmacist

27 Adrien Cooper, Estates, Director of estates

28 Robert Elliot-Cooke, Pharmacy, Senior pharmacist

29 Allan Harris, Estates, Engineering supervisor

30 Sumal Kuranaratne, Facilities, Support services manager

31 Dave Reavy, Facilities, Head of security and support services

32 Garba Ibrahim, Domestic services, Domestic team leader

33 Stephen King, Royal Free Charity, Head of finance

Page 53: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

“If you imagine all the functions a hospital has to have, not only the doctors and nurses and physiotherapists and pharmacists but estates management and food and facilities and laundry — they all have to be involved, and they all have to be specially trained to be safe to work in that environment. “ Dr Michael Jacobs - Consultant, infectious disease

46

Page 54: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

infectious diseases

47

lab services

facilities

domestic services

physio

micro biology

estates

pharmacy

finance

Royal Free Hospital

Capabilities

<other><other>

Page 55: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

infectious diseases

48

Ebola treatment

Page 56: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

49

single purposecross-functional teams

focussed entirely on ‘customer’ outcome

Page 57: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

50

In our study at a large Australian Telco, we found that stories leaving a team cycled 12 times slower than those that stayed in the team.

Page 58: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

51

This is true for Trauma teams in hospitals

And Formula 1 teams

And “reinforced battle groups”

Page 59: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

A SOFTWARE EXISTENCE PROOF…

52

Page 60: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

develop-ment

53

testing

architects

ops

PMO

HR

sales

marketing

finance

Page 61: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

x-func teams organised around lines of business

54

ops

HR

sales

marketing

finance

Page 62: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

insurance company

Page 63: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

insurance company

Page 64: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

separate lines of business

home motor life

Page 65: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

separate lines of business

and cross-cutting capabilities

home motor life

my account

Page 66: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

cross-functional teams delivering lines of business

Page 67: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification
Page 68: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

x-func teams organised around lines of business

61

ops

HR

sales

marketing

finance

Page 69: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

x-func teams organised around lines of business

62

ops

HR

sales

marketing

finance

Page 70: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

x-func teams organised around lines of business

63

ops

HR

sales

marketing

finance

Page 71: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification
Page 72: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

65

Page 73: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

66

DEVOPS!!!

Page 74: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

66

DEVOPS!!!Well, continuous delivery…

Page 75: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

x-func teams organised around lines of business

67

ops

HR

sales

marketing

finance

Page 76: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

68

ops

HR

sales

marketing

finance

Continuous Delivery

Page 77: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

68

ops

HR

sales

marketing

finance

Continuous Delivery

Page 78: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

Continuous Delivery

69

HR

sales

marketing

finance

Page 79: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

Continuous Delivery

69

HR

sales

marketing

finance

Page 80: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

each of these capabilities can be tested and deployed independently

and cross-cutting capabilities

home motor life

my account

Page 81: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

CAN WE GO FURTHER?

Page 82: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

72

Lines of business

Page 83: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

72

Lines of business

Page 84: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

73

Value streams

Page 85: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

73

Value streams

Page 86: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

74

teams

Page 87: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

74

teams

Page 88: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

each teamowns one or more services

Page 89: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

76

Page 90: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

76

~10-20

Page 91: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

76

~160-200~10-20

Page 92: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

76

~160-200~10-20

multiples thereof

Page 93: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

77Thomas J. Allen, 1977

Page 94: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

78

0 10 20 30 40 50 60 70 80 90 1000

0.05

0.10

0.15

0.20

0.25

0.30

m

Probability of weekly interaction

x

x x

x xxxxxxxxx

x

x xx

x xx x

The effect of distance on communication

Page 95: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

79

co-locate as much as possible

take advantage of serendipitous conversations

Page 96: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

HOW DOES THIS HELP WITH TESTING AND DEPLOYMENT?

Page 97: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

81

The microservice stability onion

Page 98: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

82

Low change rate

inter-line of business

High stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

Page 99: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

83

higher change rate

inter-value stream

lower stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

Page 100: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

84

higher change rate

inter-team

lower stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

Page 101: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

85

highest change rate

intra-team

lowest stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

Page 102: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

86

https://www.flickr.com/photos/snippets101/2686592689/https://creativecommons.org/licenses/by-nd/2.0/

Thoughts to finish

Page 103: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

87

The Inverse Conway ManoeuvreDesign the organisation you want, the architecture will follow (kicking and screaming).Evan Bottcher, ThoughtWorks

Page 104: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

WATCH OUT FOR SIGNALS:

constantly ordering work across capabilities

splitting stories between teams

moving people around

deploying in lock-step

fan-in for end-to-end testing

88

IT BECOMES MUCH EASIER TO TEST AND DEPLOY INDEPENDENTLY WITH CONWAY’S LAW HELPING

Page 105: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

THE THING I MOST WORRY ABOUT IS NOT TESTING,

DEPLOYMENT OR VERSIONING

IT’S ORGANISATIONAL DESIGN

Page 106: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

and that’s why I finally learned to stop worrying and love Conway’s Law

Page 107: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

91

Questions?

Please remember to evaluate via the GOTO Guide App

Page 108: How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally stopped worrying and learnt to love Conway’s Law ... Script s Change Request Requirement s clarification

FSM: Sarah Pierce. albinobloodsugar.deviantart.com

ebola virus: CDC/Cynthia Goldsmith - Public Health Image Library, #10816

Jez Humble face - Release! the game - https://inedo.com/release