I got Trapped! Systems thinking traps of IT Teams and how to battle them

I got Trapped! Systems thinking traps of IT Teams and how to battle them

Donella Meadows book, Thinking in Systems, is a concise and crucial book offering insight on how to think about systems, how to control systems and how systems change and control themselves. A system is a group of interacting, interrelated or interdependent parts unified to have a purpose. Examples can be a heating system, a tree, a human, a social system, an IT system, and IT Teams working as a part in a company which is also again a system.

For me, the most interesting part of the book is about system traps. They are traps in where systems can go wrong without noticing. Since reading the book I started observing these traps in my day to day work. Traps like seeking the wrong goal with a code coverage threshold, shifting the burden to an intervener by letting a separate QA team be responsible for quality. Join me in this talk where I will go into more of these system traps I observed in IT teams, and what I did to get out of these traps.

01abe62e641a626ed2dccc08ea2f8a14?s=128

Kenny Baas-Schwegler

May 17, 2019
Tweet

Transcript

  1. I got Trapped! Systems thinking traps of IT Teams and

    how to battle them
  2. 2 @kenny_baas

  3. 3 @kenny_baas The hands that manipulate it suppress or release

    some behaviour that is latent within the structure of the spring
  4. 4 @kenny_baas A system is an interconnected set of elements

    that is coherently organized in a way that achieves something. (Function or Purpose)
  5. 5 @kenny_baas Some systems examples

  6. 6 @kenny_baas Element Interconnections Function/Purpose Most easy to observe and

    change Changes greatly alters the system Least obvious and changes can be drastic
  7. None
  8. 8 @kenny_baas Inflow Outflow Water in tub (Stock)

  9. 9 @kenny_baas

  10. 10 @kenny_baas Inflow Outflow Water in tub (Stock) desired temperature

    Discrepancy B B
  11. 11 @kenny_baas

  12. None
  13. None
  14. https://medium.com/@Smrimell/it-s-a-trap-systems-traps-in-software-development-dc6341022795

  15. 15 Strategic technology consultants - Agile technical coaches - Domain-driven

    design - Continuous delivery - EventStorming - Example Mapping - System Thinker - Stoic @kenny_baas baasie.com
  16. 16 @kenny_baas

  17. 17 @kenny_baas

  18. None
  19. Shifting the burden to the intervener

  20. 20 @kenny_baas Other examples “Temporary code or fix” Hire more

    manual testers Hire more developers Security Operations Consultants
  21. 21 @kenny_baas The way out Take the focus off short-term

    relief and put it on long-term restructuring.
  22. A group of people is not a team, focus on

    collaboration as a team.
  23. 23 @kenny_baas Guiding heuristic Focus on team collaboration

  24. 24

  25. None
  26. 26 @kenny_baas Drift to low performance

  27. 27 @kenny_baas Other observations Sprint forecasting

  28. 28 @kenny_baas The way out Keep performance standard absolute. Let

    standards be enhanced by the best actual performance.
  29. 29 @kenny_baas Guiding heuristics Make agreements on team standards, improve

    collaboration by mobbing and pairing. Keep repeating and reiterating on made agreements.
  30. None
  31. 31 @kenny_baas

  32. Success to Successful

  33. 33 @kenny_baas Other observations Maturity models and job hierarchy with

    promotions can lead to: Peter principle Social darwinism
  34. 34 @kenny_baas The way out Diversification

  35. 35 @kenny_baas Guiding heuristics Pair up with new team members

  36. 36 @kenny_baas guiding heuristics Focus on (neuro)diversity, everyone is an

    individual and different. Focus on equality, equal access to opportunities Focus on inclusion, create a sense of belonging.
  37. 37 @kenny_baas

  38. 38 @kenny_baas guiding heuristics Create collective autocracy within teams.

  39. 39 @kenny_baas

  40. Policy Resistance

  41. 41 @kenny_baas Other observations Technical debt vs quick delivery

  42. 42 @kenny_baas The way out Bring in all the actors

    and seek out mutually satisfactory ways for all goals to be realised
  43. 43 @kenny_baas Guiding heuristic Create a shared mindset of how

    software is delivered. Use visualisation and measure the delivery.
  44. None
  45. 45 @kenny_baas https://baasie.com/2019/04/30/a-quest-in-finding-the-perfect-eventstorming-backpack/

  46. 46 @kenny_baas http://thepaulrayner.com/eventstorming-team-flow

  47. 47 @kenny_baas https://leanpub.com/measuringcontinuousdelivery

  48. 48 @kenny_baas http://verraes.net/2013/07/managed-technical-debt/

  49. None
  50. Seeking the wrong goal

  51. 51 @kenny_baas Other observation unrealistic deadlines KPI Ops solving incidents

  52. 52 @kenny_baas The way out Reflect the real welfare of

    the system. Don’t confuse effort with result.
  53. 53 @kenny_baas Guiding heuristics The team should be autonomous, focus

    on result rather than effort.
  54. 54 @kenny_baas

  55. 55 @kenny_baas

  56. 56 @kenny_baas Escalation

  57. 57 @kenny_baas Other observations Gamification between teams, like who has

    the best quality software, who writes the most LOC, or has the most code coverage -> Can lead to seeking the wrong goal
  58. 58 @kenny_baas The way out Refuse to compete, disarm. Negotiate

    a new system with balancing loops.
  59. 59 @kenny_baas Guiding heuristics Reform teams when needed to balance.

  60. 60 @kenny_baas

  61. 61 @kenny_baas Guiding heuristics Remove toxic people from the team

    when all else fails.
  62. None
  63. Rule beating

  64. 64 @kenny_baas Other observation User story templates Giving user story

    points to fixed time work The under the shelve build station Code review
  65. 65 @kenny_baas The way out Design, or redesign, rules to

    release creativity not in the direction of beating the rules, but in the direction of achieving the purpose of the rule.
  66. 66 @kenny_baas Guiding heuristics The team should be autonomous, focus

    on purpose rather than rules.
  67. None
  68. Tragedy of the commons

  69. 69 @kenny_baas Other observations Shared data to reports Shared database

    end to end (chain) testing
  70. 70 @kenny_baas The way out Educate, exhort and create awareness,

    so people understand the consequences of abusing the resource. Restore or strengthen the feedback loop by privatizing or giving direct consequences.
  71. 71 @kenny_baas Guiding heuristics Make a team owner of the

    shared library.
  72. 72 @kenny_baas Guiding heuristics Put in place proper CI/CD Only

    change the software when other team(s) collectively reviewed it.
  73. None
  74. 74 @kenny_baas If we have a system of improvement that

    is directed at improving the parts taken separately. You can be absolutely sure that the improvement of the whole will not be improved. https://www.youtube.com/watch?v=OqEeIG8aPPk Russ Ackoff
  75. 75 @kenny_baas

  76. 76 @kenny_baas Order Payment Packaging

  77. None
  78. @kenny_baas Big Picture EventStorming https://leanpub.com/ddd_first_15_years

  79. @kenny_baas credits: Ruth Malan

  80. @kenny_baas #CatTax @kenny_baas Baasie.com xebia.com/blog/author/kbaas/ https://speakerdeck.com/baasie