microservices
play

- 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


  1. - microservices - and the inverse Conway manoeuvre jalewis@thoughtworks.com @boicy 1

  2. “…organizations which design systems … are constrained to produce designs which are copies of the communication structure of those organizations” Melvyn Conway, 1968 2

  3. The mirroring phenomenon is consistent with two rival causal mechanisms. First, designs may evolve to re fl ect their development environments. In tightly-coupled organizations , dedicated teams employed by a single fi rm 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. "Exploring the Duality between Product and Organizational Architectures : A Test of the “Mirroring” Hypothesis" 2007 http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf 4

  4. The mirroring phenomenon is consistent with two rival causal mechanisms. First, designs may evolve to re fl ect their development environments. In tightly-coupled organizations , dedicated teams employed by a single fi rm 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. "Exploring the Duality between Product and Organizational Architectures : A Test of the “Mirroring” Hypothesis" http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf 5

  5. The mirroring phenomenon is consistent with two rival causal mechanisms. First, designs may evolve to re fl ect their development environments. In tightly-coupled organizations , dedicated teams employed by a single fi rm 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. "Exploring the Duality between Product and Organizational Architectures : A Test of the “Mirroring” Hypothesis" http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf 6

  6. tightly-coupled organizations ⇒ design becomes more tightly-coupled . loosely-coupled organizations ⇒ , design is more modular as a result of the limitations on communication between developers. "Exploring the Duality between Product and Organizational Architectures : A Test of the “Mirroring” Hypothesis" http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf 7

  7. 8

  8. componentisation via services organised around business capabilities decentralised data management products not projects decentralised governance smart endpoints and dumb pipes evolutionary design infrastructure automation designed for failure

  9. But fi rst… How big are they?

  10. microservices should be: cheap to replace quick to scale withstand failure and should allow you to go as “fast as possible”? 14

  11. THE 20 TH CENTURY ORGANISATION 15

  12. testing ops develop- ment architects PMO sales fi nance marketing HR 16

  13. Project(process( Idea Change Request Business Additional Project <thing> raised Approve d >10 Business User Business % Case Acceptance Requirement CAPE Testing Document X Project IT Brief Solutions Requirement <10 s reqs. % matrix clarification CAPE and X estimation Functional spec High level Estimation and decision PM 1010100010100101011010 to proceed Detailed docs Dev Deploymen Estimate Initiation Doc dev Kick off t Coding (Dev) TDD KEY Testing Test QA Script s Normal Flow Data Flow Support handover Dropped requirements Support become Alternate Enhancements Process 17 Flow

  14. 18

  15. 19

  16. 20

  17. testing ops develop- ment architects PMO sales fi nance marketing HR 21

  18. each of these chords represents a delay 22

  19. “There is nothing so useless as doing e ffi ciently that which should not be done at all” Peter Drucker 23

  20. INTRODUCING BUSINESS CAPABILITIES (nothing new to see here, move along now folks) 24

  21. A capability is a combination of people, processes, systems that provides value to customers (internal or external) 25

  22. 26

  23. Retail Customers 27

  24. Customers Retail 28

  25. Customers Retail 29

  26. Customers Retail 30

  27. Customers Retail 31

  28. THE TROUBLE WITH PROJECTS 32

  29. THE CAPABILITIES WERE BUILT BY LARGE TEAMS Customers Retail 33

  30. USING PROJECT-THINKING, NOT SERVICE THINKING* Customers Retail * http://lmgtfy.com/?q=GDS+service+thinking 34

  31. AND THE DECOUPLED CAPABILITIES END UP AS A TANGLED MESS OF “MICROSERVICES” 35

  32. Feature Feature starts deployed dev regression testing iteration iteration iteration performance testing 1 2 3 deployment tests cycle time ANYONE SEEN 6 WEEK PERIODS OF “HARDENING”?

  33. Service A Build Unit Tests Service Tests Service Tests Service B Unit Tests Build End-to-end Tests Service C Build Unit Tests Service Tests Service D Build Unit Tests Service Tests ANYONE SEEN “FAN-IN” TO END TO END TESTS? 37

  34. write write test release spec code ? Without deploying into production, inventory is built up - inventory costs money and the more we have the more risky our deployments ANYONE HAD TO DEPLOY EVERYTHING ALL AT ONCE?

  35. beware the distributed monolith! 40

  36. this is not “as fast as possible” this is a recipe for a nervous breakdown 41

  37. WHAT MIGHT GOOD LOOK LIKE? 42

  38. 43

  39. Pauline Ca ff erkey, early 2015

  40. Team at the Royal Free 45

  41. Royal Free Hospital Capabilities lab domestic services services <other> <other> facilities physio infectious diseases estates fi nance pharmacy micro biology 46

  42. lab domestic services services facilities infectious physio diseases fi nance pharmacy micro estates biology 47

  43. “The approach favors agility over raw power <snip>” http://en.wikipedia.org/wiki/OODA_loop 48

Recommend


More recommend