How I finally stopped worrying and learnt to love Conway’s Law
James Lewis
How I finally stopped worrying and learnt to love Conways Law - - PowerPoint PPT Presentation
How I finally stopped worrying and learnt to love Conways Law James Lewis 1 ORGANIZATIONS WHICH DESIGN SYSTEMS ARE CONSTRAINED TO PRODUCE DESIGNS WHICH ARE COPIES OF THE COMMUNICATION STRUCTURE OF THOSE ORGANIZATIONS Melvyn
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
2The mirroring phenomenon is consistent with two rival causal
employed by a single firm and located at a single site develop the
performance “tweaked” by taking advantage of the access that module developers have to information and solutions developed in
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.
4 http://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"
microservices should be:
cheap to replace and should allow you to go as “fast as possible”? quick to scale withstand failure
Difficulties I hear about a lot:
Difficulties I hear about a lot:
End-to-end testing
Difficulties I hear about a lot:
End-to-end testing Independent deployment
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 COMPANY
I got approximately 5 problems out of a maximum of about 20- I reckon
10develop- ment
11testing architects
PMO HR sales marketing finance
develop- ment
12testing architects
PMO HR sales marketing finance
develop- ment
16testing architects
PMO HR sales marketing finance
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
18CASE STUDY
19Fulfilment Retail
Fulfilment Retail
Fulfilment Retail
Fulfilment Retail
Fulfilment Retail
A capability is a combination of people, processes, systems that provides value to customers (internal or external)
Fulfilment Retail
EACH CAPABILITY WAS BUILT BY A LARGE TEAM
Fulfilment Retail
WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS
Fulfilment Retail
WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS
Fulfilment Retail
WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS
Fulfilment Retail
WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS
Fulfilment Retail
WHICH WERE FORMED INTO SHORT-LIVED PROJECT TEAMS
AND THE SYSTEMS ENDED UP LOOKING LIKE THIS:
Feature starts dev
iteration 2 iteration 1 iteration 3
Feature deployed
regression testing performance testing deployment tests
cycle time
BUILT USING SCRUMERFALL
Service A
BuildService B
End-to-end Tests BuildService C
BuildService D
Service Tests Unit Tests Unit Tests Unit Tests Service Tests Service TestsNEEDED 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 deploymentsthis is a recipe for a nervous breakdown
this is not “as fast as possible”
WHAT MIGHT GOOD LOOK LIKE?
36Pauline Cafferkey
Team at the Royal Free
infectious diseases
40lab services facilities domestic services physio micro biology estates pharmacy finance
Royal Free Hospital Capabilities
<other> <other>
infectious diseases
41lab services facilities domestic services physio micro biology estates pharmacy finance
“The approach favors agility over raw power <snip>”
http://en.wikipedia.org/wiki/OODA_loop“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
46infectious diseases
47lab services facilities domestic services physio micro biology estates pharmacy finance
Royal Free Hospital Capabilities
<other> <other>
infectious diseases
48Ebola treatment
single purpose
cross-functional teams
focussed entirely on ‘customer’ outcome
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.
This is true for Trauma teams in hospitals And Formula 1 teams And “reinforced battle groups”
A SOFTWARE EXISTENCE PROOF…
52develop- ment
53testing architects
PMO HR sales marketing finance
x-func teams organised around lines of business
54HR 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
61HR sales marketing finance
x-func teams organised around lines of business
62HR sales marketing finance
x-func teams organised around lines of business
63HR sales marketing finance
Well, continuous delivery…
x-func teams organised around lines of business
67HR sales marketing finance
HR sales marketing finance Continuous Delivery
HR sales marketing finance
Continuous Delivery
Continuous Delivery
69HR sales marketing finance
Continuous Delivery
69HR 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?
Lines of business
Lines of business
Value streams
Value streams
teams
teams
Thomas J. Allen, 1977
10 20 30 40 50 60 70 80 90 100 0.05 0.10 0.15 0.20 0.25 0.30 m Probability of weekly interaction
x x x x x xxxxxxxx x x x x x x x x
The effect of distance on communication
co-locate as much as possible
take advantage of serendipitous conversations
HOW DOES THIS HELP WITH TESTING AND DEPLOYMENT?
The microservice stability onion
Low change rate
inter-line of business
High stability Semantic Versioning Contract Testing Tolerant Reader “Conversational change”
higher change rate
inter-value stream
lower stability Semantic Versioning Contract Testing Tolerant Reader “Conversational change”
higher change rate
inter-team
lower stability Semantic Versioning Contract Testing Tolerant Reader “Conversational change”
highest change rate
intra-team
lowest stability Semantic Versioning Contract Testing Tolerant Reader “Conversational change”
https://www.flickr.com/photos/snippets101/2686592689/ https://creativecommons.org/licenses/by-nd/2.0/
Thoughts to finish
The Inverse Conway Manoeuvre
Design 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
88IT 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
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