and the inverse Conway manoeuvre
- microservices -
- microservices - and the inverse Conway manoeuvre - - PowerPoint PPT Presentation
- microservices - and the inverse Conway manoeuvre jalewis@thoughtworks.com @boicy 1 organizations which design systems are constrained to produce designs which are copies of the communication structure of those organizations
and the inverse Conway manoeuvre
“…organizations which design systems … are constrained to produce designs which are copies of the communication structure of those organizations”
Melvyn Conway, 1968
The 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 other
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"2007
The 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 other
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.
5 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"The 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 other
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.
6 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"loosely-coupled organizations ⇒,design is more modular as a result of the limitations on communication between developers.
7 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"tightly-coupled organizations ⇒ design becomes more tightly-coupled.
componentisation via services products not projects smart endpoints and dumb pipes decentralised governance decentralised data management infrastructure automation evolutionary design designed for failure
How big are they? But first…
microservices should be:
cheap to replace and should allow you to go as “fast as possible”? quick to scale withstand failure
THE 20TH CENTURY ORGANISATION
15develop- ment
16testing architects
PMO HR sales marketing finance
develop- ment
21testing 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
23INTRODUCING BUSINESS CAPABILITIES
(nothing new to see here, move along now folks)
24A capability is a combination of people, processes, systems that provides value to customers (internal or external)
Retail Customers
Customers Retail
Customers Retail
Customers Retail
Customers Retail
THE TROUBLE WITH PROJECTS
32Customers Retail
THE CAPABILITIES WERE BUILT BY LARGE TEAMS
Customers Retail
USING PROJECT-THINKING, NOT SERVICE THINKING*
* http://lmgtfy.com/?q=GDS+service+thinking
AND THE DECOUPLED CAPABILITIES END UP AS A TANGLED MESS OF “MICROSERVICES”
Feature starts dev
iteration 2 iteration 1 iteration 3
Feature deployed
regression testing performance testing deployment tests
cycle time
ANYONE SEEN 6 WEEK PERIODS OF “HARDENING”?
Service A
BuildService B
End-to-end Tests BuildService C
BuildService D
Service Tests Unit Tests Unit Tests Unit Tests Service Tests Service TestsANYONE SEEN “FAN-IN” TO END TO END TESTS?
ANYONE HAD TO DEPLOY EVERYTHING ALL AT ONCE?
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?
42Pauline Cafferkey, early 2015
Team at the Royal Free
infectious diseases
46lab services facilities domestic services physio micro biology estates pharmacy finance
Royal Free Hospital Capabilities
<other> <other>
infectious diseases
47lab 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
52infectious diseases
53lab services facilities domestic services physio micro biology estates pharmacy finance
Royal Free Hospital Capabilities
<other> <other>
infectious diseases
54Ebola 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…
58develop- ment
59testing architects
PMO HR sales marketing finance
x-func teams organised around lines of business
60HR 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
67HR sales marketing finance
x-func teams organised around lines of business
68HR sales marketing finance
x-func teams organised around lines of business
69HR sales marketing finance
Well, continuous delivery…
x-func teams organised around lines of business
73HR sales marketing finance
HR sales marketing finance Continuous Delivery
Continuous Delivery
75HR 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?
“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
Continuous Delivery
78HR sales marketing finance
teams
Value streams
Lines of business
USER SERVICE
each team owns one or more services how many depends on your requirements
Thomas J. Allen, 1977
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
as you chunk up from team to value stream to line of business to organisation, Conways Law acts to preserve low-coupling and high cohesion and you can use different practices at those boundaries
The “chunking up from microservices to teams to value streams to lines of business to
*I might need a better name for this
Low change rate
inter-line of business / company
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
componentisation via services products not projects smart endpoints and dumb pipes decentralised governance decentralised data management infrastructure automation evolutionary design designed for failure
successfully adopting the microservice style of architecture requires more than just componentisation via services
CONWAY’S LAW SENDS US SIGNALS
constantly ordering work across capabilities splitting stories between teams moving people around deploying in lock-step fan-in for end-to-end testing
95THERE IS A HIGH COST ASSOCIATED WITH WORK LEAVING YOUR TEAM
raising tickets with the “platform team” handing off work to other departments constantly starting and stopping projects
The Inverse Conway Manoeuvre
Design the organisation you want, the architecture will follow (kicking and screaming).
Evan Bottcher, ThoughtWorks
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