Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[2017.11 Meetup] [TALK] Matthew Skelton - How a...

DevOps Lisbon
November 17, 2017

[2017.11 Meetup] [TALK] Matthew Skelton - How and Why to Design Your Teams for Modern Software Systems

For effective, modern, cloud-connected software systems we need to organize our teams in certain ways. Taking account of Conway’s Law, we look to match the team structures to the required software architecture, enabling or restricting communication and collaboration for the best outcomes. This talk will cover the basics of organization design, exploring a selection of key team topologies and how and when to use them in order to make the development and operation of your software systems as effective as possible. The talk is based on experience helping companies around the world with the design of their teams.

DevOps Lisbon

November 17, 2017
Tweet

More Decks by DevOps Lisbon

Other Decks in Technology

Transcript

  1. How and why to design your teams for modern software

    systems Matthew Skelton | Skelton Thatcher Consulting @matthewpskelton | skeltonthatcher.com DevOps Lisbon @DevOpsLisbon | DevOps Porto @DevOpsPorto 13 & 14 November 2017, Portugal
  2. Today • Conway’s Law (or heuristic) • Cognitive Load for

    teams • Real-world Team Topologies • Guidelines for team design
  3. “organizations which design systems ... are constrained to produce designs

    which are copies of the communication structures of these organizations” – Mel Conway, 1968 http://www.melconway.com/Home/Conways_Law.html
  4. “if the architecture of the system and the architecture of

    the organization are at odds, the architecture of the organization wins” – Ruth Malan, 2008 http://traceinthesand.com/blog/2008/02/13/conways-law/
  5. “We find strong evidence to support the hypothesis that a

    product’s architecture tends to mirror the structure of the organization in which it is developed.” – MacCormack et al, 2012 MacCormack, Alan, Carliss Y. Baldwin, and John Rusnak. ‘Exploring the Duality Between Product and Organizational Architectures: A Test of the “Mirroring” Hypothesis’, 1 October 2012. http://www.hbs.edu/faculty/Pages/item.aspx?num=43260.
  6. Cognitive load the total amount of mental effort being used

    in the working memory (see Sweller, 1988)
  7. Science since 1988 • Driskell et al, 1999 ‘Does Stress

    Lead to a Loss of Team Perspective?’ Group Dynamics: Theory, Research, and Practice 3, no. 4 (1999): 291. • Fan et al, 2010 ‘Learning HMM-Based Cognitive Load Models for Supporting Human-Agent Teamwork’. Cognitive Systems Research 11, no. 1 (2010): 108–119. • Ilgen & Hollenbeck, 1993 ‘Effective Team Performance under Stress and Normal Conditions: An Experimental Paradigm, Theory and Data for Studying Team Decision Making in Hierarchical Teams with Distributed Expertise’. DTIC Document, 1993. • Johnston et al, 2002 ‘Application of Cognitive Load Theory to Developing a Measure of Team Decision Efficiency’. DTIC Document, 2002. • Sweller, John, 1994 ‘Cognitive Load Theory, Learning Difficulty, and Instructional Design’. Learning and Instruction 4 (1994): 295–312. • Sweller, John, 1988. ‘Cognitive Load during Problem Solving: Effects on Learning’. Cognitive Science 12, no. 2 (1988): 257–285.
  8. “stress impacts team performance … by narrowing or weakening the

    team-level perspective required for effective team behavior.” – Driskell et al, 1999 Group Dynamics: Theory, Research, and Practice 1999, Vol. 3, No. 4,291-302
  9. Development & Testing IT Operations / Web Operations Anti-Type Database

    / DBA DevOps activity SRE Component Supporting (Tooling / Platform / Build)
  10. Anti-Type F – Ops embedded in a Dev Team HT:

    Matt Franz (@seclectech) devopstopologies.com Dev Ops DevOps
  11. Type 9 – DB capability in Dev DBA DB Dev

    devopstopologies.com Dev Ops DevOps
  12. Type 10 – DB as a Service DBaaS DB Dev

    devopstopologies.com Dev Ops DevOps
  13. Collaboration vs X-as-a-Service Collaboration X-as-a-Service devopstopologies.com Rapid discovery No hand-offs

    Comms overheads? Ownership clarity Less context needed Slower innovation?
  14. Inner Topologies Collaboration XaaS Within any group there may be

    internal collaborations AND other X- as-a-Service (XaaS) relationships devopstopologies.com
  15. Team types Component team Platform / ’substrate’ team Supporting /

    ‘productivity’ team Product/Feature team devopstopologies.com
  16. Team configuration Component team Platform / ’substrate’ team Product/Feature team

    Supporting / ‘productivity’ team devopstopologies.com
  17. Discovery vs. Predictability Team 1 Team 2 Team N Discovery,

    rapid learning Predictable delivery devopstopologies.com
  18. Evolution of team topologies Team 2 Discover Discover Team N

    Team 3 Use Use devopstopologies.com Team 1 Establish Establish …
  19. Evolve different team topologies for different parts of the organisation

    at different times to match the team purpose and context
  20. “stress impacts team performance … by narrowing or weakening the

    team-level perspective required for effective team behavior.” – Driskell et al, 1999 Group Dynamics: Theory, Research, and Practice 1999, Vol. 3, No. 4,291-302
  21. Team configuration Component team Platform / ’substrate’ team Product/Feature team

    Supporting / ‘productivity’ team devopstopologies.com
  22. Evolution of team topologies Team 2 Discover Discover Team N

    Team 3 Use Use devopstopologies.com Team 1 Establish Establish …
  23. Evolve different team topologies for different parts of the organisation

    at different times to match the team purpose and context