DevOpsPorto Meetup10: How and why to design your Teams for modern Software Systems by Matthew Skelton

A2c14a1c4e16aa337c7d36abe7d1cf8f?s=47 DevOpsPorto
November 14, 2017

DevOpsPorto Meetup10: How and why to design your Teams for modern Software Systems by Matthew Skelton

Talk delivered by Matthew Skelton

A2c14a1c4e16aa337c7d36abe7d1cf8f?s=128

DevOpsPorto

November 14, 2017
Tweet

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. teamtopologies.com Upcoming book: Team Topologies for effective software systems by

    Matthew Skelton & Manuel Pais
  4. None
  5. About me Matthew Skelton @matthewpskelton Co-founder at Skelton Thatcher Consulting

    skeltonthatcher.com
  6. Books

  7. Team Guide series #Operability #BusinessMetrics #Testability #Releasability skeltonthatcher.com/publications

  8. Team-first digital transformation 30+ organisations UK, US, DE, India, China

    skeltonthatcher.com
  9. None
  10. How and why to design your teams for modern software

    systems
  11. Safer, more rapid changes to software systems (Business Agility)

  12. TEAM

  13. None
  14. TEAM capabilities appetite & aptitude understanding responsibilities

  15. (assumption) the team is stable, slowly changing, and long-lived #NoProjects

  16. Conway’s Law (or Conway’s Heuristic)

  17. “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
  18. “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/
  19. “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.
  20. homomorphic force (#Conway  #Yawnoc) HT @allankellynet (same) (shape)

  21. Front-end developers Back-end developers

  22. ‘Reverse Conway’ Tobbe Gyllebring (@drunkcod)

  23. A B A B

  24. None
  25. Design the organisation architecture to produce the right software architecture

  26. Cognitive Load for teams

  27. Cognitive load the total amount of mental effort being used

    in the working memory (see Sweller, 1988)
  28. Cognitive load Intrinsic Extraneous (Irrelevant ) Germane (Relevant)

  29. ‘Hacking Your Head’: Jo Pearce See http://www.slideshare.net/JoPearce5/hacking-your-head-managing-information-overload-45-mix @jdpearce

  30. We have SCIENCE!

  31. 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.
  32. “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
  33. (not just ‘pop’ science!)

  34. High-performing teams are hugely effective Optimise for the team

  35. Match the team responsibility to the cognitive load that the

    team can handle
  36. Real-world Team Topologies

  37. DevOpsTopologies.com

  38. Development & Testing IT Operations / Web Operations Anti-Type Database

    / DBA DevOps activity SRE Component Supporting (Tooling / Platform / Build)
  39. (Can you spot an important team type that is missing?)

  40. Anti-Types

  41. Anti-Type A – Separate Silos devopstopologies.com Dev Ops

  42. Anti-Type B – Separate DevOps Silo Dev Ops DevOps devopstopologies.com

  43. devopstopologies.com Dev Ops DevOps Anti-Type C – “We Don’t Need

    Ops”
  44. Anti-Type D – ‘DevOps’ as another Dev team devopstopologies.com Dev

    Ops DevOps
  45. Anti-Type E – DevOps as new SysAdmin team devopstopologies.com Dev

    Ops DevOps
  46. Anti-Type F – Ops embedded in a Dev Team HT:

    Matt Franz (@seclectech) devopstopologies.com Dev Ops DevOps
  47. Anti-Type G – Dev-DBA gap! devopstopologies.com Dev Ops DBA

  48. Types

  49. Type 1 – Smooth Collaboration devopstopologies.com Dev Ops DevOps

  50. Type 2 – Fully Embedded devopstopologies.com Dev Ops

  51. devopstopologies.com Dev Ops DevOps Type 3 – Infrastructure-as-a-Service

  52. Type 4 – DevOps-as-a-Service devopstopologies.com Dev Ops DevOps

  53. devopstopologies.com Dev Ops DevOps Type 5 – Temporary DevOps Team

  54. devopstopologies.com Dev Ops DevOps Type 6 – ‘Facilitating’ DevOps Team

  55. Type 7 – SRE Team (Google) SRE HT: @kwdhinde devopstopologies.com

    Dev Ops DevOps
  56. HT: @jascbu devopstopologies.com Dev Ops DevOps Type 8 – ‘Just

    run my Containers’
  57. Type 9 – DB capability in Dev DBA DB Dev

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

    devopstopologies.com Dev Ops DevOps
  59. There is no single ‘right’ team topology, but several ‘bad’

    topologies for any one organisation
  60. Guidelines for team design

  61. Collaboration vs X-as-a-Service Collaboration X-as-a-Service devopstopologies.com

  62. 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?
  63. Supporting & Business Domain Supporting Business Domain devopstopologies.com

  64. Inner Topologies Collaboration XaaS Within any group there may be

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

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

  67. Team configuration Component team Platform / ’substrate’ team Product/Feature team

    devopstopologies.com
  68. Team configuration Component team Platform / ’substrate’ team Product/Feature team

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

    rapid learning Predictable delivery devopstopologies.com
  70. Established platform (PaaS) Predictable delivery devopstopologies.com

  71. Evolution of team topologies devopstopologies.com DISCOVER ESTABLISH

  72. Evolution of team topologies Team 2 Discover Discover Team N

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

    at different times to match the team purpose and context
  74. Summary

  75. Front-end developers Back-end developers A B A B

  76. Design the organisation architecture to produce the right software architecture

  77. “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
  78. Match the team responsibility to the cognitive load that the

    team can handle
  79. DevOpsTopologies.com

  80. There is no single ‘right’ team topology, but several ‘bad’

    topologies for any one organisation
  81. Team configuration Component team Platform / ’substrate’ team Product/Feature team

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

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

    at different times to match the team purpose and context
  84. Caution

  85. Team topologies alone will not produce effective software systems

  86. Also needed: culture, good engineering, sane funding models, clarity of

    business vision
  87. Safer, more rapid changes to software systems (Business Agility)

  88. teamtopologies.com Upcoming book: Team Topologies for effective software systems by

    Matthew Skelton & Manuel Pais
  89. None
  90. Team Guide series #Operability #BusinessMetrics #Testability #Releasability skeltonthatcher.com/publications

  91. thank you Matthew Skelton & Manuel Pais @SkeltonThatcher skeltonthatcher.com