how i finally stopped worrying and learnt to love conway’s · pdf filehow i finally...
TRANSCRIPT
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