How I finally stopped worrying and learnt to love Conway’s · PDF fileHow I finally...

Preview:

Citation preview

1

How I finally stopped worrying and learnt to

love Conway’s Law James Lewis

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

2

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"

5

6

7

microservices should be:

cheap to replace

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

quick to scale

withstand failure

8

Difficulties I hear about a lot:

8

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

8

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

Independent deployment

8

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

Independent deployment

Service versioning / evolution

THE THING I MOST WORRY ABOUT IS NOT TESTING,

DEPLOYMENT OR VERSIONING

IT’S ORGANISATIONAL DESIGN

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

10

develop-ment

11

testing

architects

ops

PMO

HR

sales

marketing

finance

develop-ment

12

testing

architects

ops

PMO

HR

sales

marketing

finance

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

14

15

develop-ment

16

testing

architects

ops

PMO

HR

sales

marketing

finance

17

each of these chords represents a delay

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

18

CASE STUDY

19

20

21

Fulfilment

Retail

22

Fulfilment Retail

23

Fulfilment Retail

24

Fulfilment Retail

25

Fulfilment Retail

26

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

27

Fulfilment Retail

EACH CAPABILITY WAS BUILT BY A LARGE TEAM

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

28

Fulfilment Retail

WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS

29

AND THE SYSTEMS ENDED UP LOOKING LIKE THIS:

Feature starts dev

iteration 2

iteration 1

iteration 3

Feature deployed

regression testingperformance testing

deployment tests

cycle time

BUILT USING SCRUMERFALL

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

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

?

34

beware the distributed monolith!

this is a recipe for a nervous breakdown

this is not “as fast as possible”

WHAT MIGHT GOOD LOOK LIKE?

36

37

Pauline Cafferkey

39

Team at the Royal Free

infectious diseases

40

lab services

facilities

domestic services

physio

micro biology

estates

pharmacy

finance

Royal Free Hospital

Capabilities

<other><other>

infectious diseases

41

lab services

facilities

domestic services

physio

micro biologyestates

pharmacyfinance

42

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

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

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

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

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

“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

infectious diseases

47

lab services

facilities

domestic services

physio

micro biology

estates

pharmacy

finance

Royal Free Hospital

Capabilities

<other><other>

infectious diseases

48

Ebola treatment

49

single purposecross-functional teams

focussed entirely on ‘customer’ outcome

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.

51

This is true for Trauma teams in hospitals

And Formula 1 teams

And “reinforced battle groups”

A SOFTWARE EXISTENCE PROOF…

52

develop-ment

53

testing

architects

ops

PMO

HR

sales

marketing

finance

x-func teams organised around lines of business

54

ops

HR

sales

marketing

finance

insurance company

insurance company

separate lines of business

home motor life

separate lines of business

and cross-cutting capabilities

home motor life

my account

cross-functional teams delivering lines of business

x-func teams organised around lines of business

61

ops

HR

sales

marketing

finance

x-func teams organised around lines of business

62

ops

HR

sales

marketing

finance

x-func teams organised around lines of business

63

ops

HR

sales

marketing

finance

65

66

DEVOPS!!!

66

DEVOPS!!!Well, continuous delivery…

x-func teams organised around lines of business

67

ops

HR

sales

marketing

finance

68

ops

HR

sales

marketing

finance

Continuous Delivery

68

ops

HR

sales

marketing

finance

Continuous Delivery

Continuous Delivery

69

HR

sales

marketing

finance

Continuous Delivery

69

HR

sales

marketing

finance

each of these capabilities can be tested and deployed independently

and cross-cutting capabilities

home motor life

my account

CAN WE GO FURTHER?

72

Lines of business

72

Lines of business

73

Value streams

73

Value streams

74

teams

74

teams

each teamowns one or more services

76

76

~10-20

76

~160-200~10-20

76

~160-200~10-20

multiples thereof

77Thomas J. Allen, 1977

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

79

co-locate as much as possible

take advantage of serendipitous conversations

HOW DOES THIS HELP WITH TESTING AND DEPLOYMENT?

81

The microservice stability onion

82

Low change rate

inter-line of business

High stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

83

higher change rate

inter-value stream

lower stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

84

higher change rate

inter-team

lower stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

85

highest change rate

intra-team

lowest stability

Semantic Versioning

Contract Testing

Tolerant Reader

“Conversational change”

86

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

Thoughts to finish

87

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

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

THE THING I MOST WORRY ABOUT IS NOT TESTING,

DEPLOYMENT OR VERSIONING

IT’S ORGANISATIONAL DESIGN

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

91

Questions?

Please remember to evaluate via the GOTO Guide App

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

Recommended