Navigating Complexity with Systems Thinking • Diana Montalion & Andrew Harmel-Law • GOTO 2024

Diana Montalion & Andrew Harmel-Law explore how systems thinking helps navigate complex software environments by moving beyond linear approaches to understand interconnected dynamics.

Key takeaways
  • Systems thinking helps navigate complexity by moving beyond linear/reductionist approaches that try to break everything into parts and control through more processes

  • Counter-intuitiveness is a key systems thinking concept - pushing harder for control often makes things worse, and solutions that worked yesterday may not be appropriate for today’s circumstances

  • Software systems are socio-technical - they involve not just code and infrastructure but also people, communication patterns, and organizational dynamics that all interact

  • There’s no single framework or checklist for systems thinking - it’s a practice that requires experiencing and working with emergence rather than trying to control everything upfront

  • Systems push back - you can’t just force changes without considering ripple effects and unintended consequences across interconnected parts

  • Effective systems thinking involves:

    • Noticing patterns and relationships
    • Understanding why problems occur vs just fixing symptoms
    • Considering multiple viewpoints and mental models
    • Finding leverage points for meaningful change
    • Being comfortable with uncertainty
  • Adding more control/process is often our default response to complexity but can make things worse - sometimes removing things or doing less is more effective

  • Success requires collective understanding and buy-in - one person seeing systemic issues isn’t enough if others don’t recognize the need for different approaches

  • Systems thinking is a core technical skill for modern software architecture, especially for complex distributed systems and platforms

  • Culture change and shifting mental models is essential - you can’t transform systems without evolving how people think about and approach problems