All Software Architecture, All the Time
June 10-13, 2019
San Jose, CA
Please log in

Icebergs, bathtubs, and flows: Applying systems thinking to software architecture

Matthew McLarty (MuleSoft)
3:00pm–3:45pm Wednesday, June 12, 2019
Secondary topics:  Best Practice, Overview, Theoretical
Average rating: ***..
(3.86, 14 ratings)

Who is this presentation for?

  • Enterprise architects, software architects, solution architects, technology leaders



Prerequisite knowledge

  • Familiarity with microservice architecture and distributed systems

What you'll learn

  • Gain insight into dynamic systems and systems thinking
  • Learn some practical techniques you can apply to your own work


Software architecture is a young and curious discipline. While analogizing software architecture with building architecture and city planning can be useful, it can also be misleading. Physical structures benefit from up-front design to guide their development, but software systems have a more dynamic nature that requires additional foresight. Systems thinking is a maturing field that examines the structure and behavior of complex systems, how they develop, and how they may be influenced (but never controlled).

Matt McLarty explores how systems thinking can be applied to software architecture. You’ll gain an introduction to systems thinking concepts and axioms, such as the iceberg model, the bathtub theorem, stock and flow diagrams, and more; an analysis of enterprise software ecosystems from a systems thinking perspective; and systems thinking–inspired techniques software architects can use when designing or evolving these software ecosystems through the use of microservice architecture and APIs.

Photo of Matthew McLarty

Matthew McLarty


Matt McLarty (@mattmclartybc) leads API Strategy for MuleSoft, a Salesforce company. He works closely with organizations to design and implement innovative, enterprise-grade API and microservices solutions. An experienced software architect, Matt has worked extensively in the field of integration and real-time transaction processing for software vendors and clients alike. He has coauthored Microservice Architecture and Securing Microservice APIs for O’Reilly.