Home Gotopia Articles Navigating Compl...

Navigating Complexity with Systems Thinking

Share on:
linkedin facebook
Copied!

About the experts

Diana Montalion

Diana Montalion ( expert )

Systems architecture, thinking and design

Andrew Harmel-Law

Andrew Harmel-Law ( interviewer )

Read further

Why Does System Thinking Matter?

Andrew Harmel-Law: Hi, I'm here today with Diana Montalion. We're going to have a chat about some of the stuff that Diana has been working on. I think about maybe about a workshop that Diana Montalion is going to run, and some other stuff coming up soon. So just quickly to introduce myself, I'm Andrew Harmel-Law. I'm a Technical Principal at ThoughtWorks based out of the UK. And I've known Diana for maybe three or four years, quite a while. I've been kind of around Diana and lucky enough to do some presentations and workshops with Diana. And Diana, she's just written a book. So I'm just going to let Diana introduce herself properly, and then we're going to have a little chat about what Diana's been up to.

Diana Montalion: Thank you, Andrew. It's been five years, actually.

Andrew Harmel-Law: Five years, there you go.

Diana Montalion: I know. Time has no meaning anymore. Like, I cannot keep track. So Diana Montalion. I am a systems architect. I was a back-end engineer, became a systems architect, and also I have a company called Mentrix where we do systems design work. And also, and increasingly now, writing and creating experiences for us to get together, and think together, and especially around systems design. I'm really enjoying it. I'm very much enjoying it. I put too many things on my to-do list now. I'm good at not doing things I don't want to do, but it is hard when you have a bunch of too many things you want to do. That's my current challenge in my life, is there's too many things that I'm enjoying.

Andrew Harmel-Law: So that's kind of my first question, actually. You wrote a book about systems thinking, which we might talk about. But why does systems thinking matter? Because it seems to be really big... Lots of people are talking about it, right? And lots of people are very interested in what you've got to say about it. So why, in short, maybe not so short... But why does systems thinking matter? Why does everybody suddenly care about it so much and realize that maybe they need to know more about it?

Diana Montalion: Well, for me, you know, I say as a joke, but it's not really a joke that I became a systems architect in order to survive. Because early in my career, we built monolithic software. And that was great at the time. It definitely fit the world that we were in. And we were always doing complex things inside the constraints of what we would call software architecture. But I work mostly in information systems, right? So the type of organizations that are most impacted by relational complexity. Meaning, instead of working in monolithic software, now we have platforms of software talking to other platforms of software. We have, for example, an article published by, say, "The Economist," that now has 48 destinations where people can read it. The news aggregators, and the website, and the constantly changing social media landscape. And so increasingly, the hard part, the challenge was in not just designing relationships between software parts, designing layers of software, so infrastructure. We write code to make infrastructure, to put our code in, to then talk to other code. But also the way that we were doing things, say 20 years ago, doesn't really help us think about and design systems.

So we were kind of our own worst enemy in terms of clinging to what we knew and how we thought software should get built. And also I was doing a few big digital transformation projects that were like the Titanic. They hit an iceberg and sank. And I became really interested in why. Like, why is this? Because I want to be able to intervene and to do something helpful. But it's increasingly difficult to know exactly where the problems lie when we're often in situations that are very new to us and new tools, the rate of change. I kind of wish the answer was more Kubernetes because that's a little easier than thinking in systems. But unfortunately, that wasn't the reason.

Recommended talk: Learning Systems Thinking • Diana Montalion & Charles Humble • GOTO 2024

Tackling Complexity in Tech and Beyond

Andrew Harmel-Law: So that's literally the next thing I was going to ask. Because your book is called "Learning Systems Thinking," right? And your point is, this isn't how we naturally think or this isn't how we got to where we are now. But it's definitely what we need to do in order to kind of understand what's happening to us and maybe try and get out of it. So do you want to tell us a little bit more about, what does that mean? Why is it relevant for software? But also why is it relevant for kind of maybe more broadly? Because like you said, it's not just the answer is use more Kubernetes, or do microservices, or move to AWS or something, right?

Diana Montalion: I mean, the challenge is that we are very well trained in what I would call literal, linear... Literal, too. But linear was the word I meant to say. Processes, reductionism. So object oriented programming is a form of reductionism, where we take...when we face something complex, we break it down into parts. And we also think of time, like, time delivering the software as a linear process of adding this, adding this, adding this. But increasingly, everything that you change in one part of the software potentially has the capacity for emergence. And what this means is that you have two pieces of software, and if they're in the right relationship with each other, right? If you're sharing information asynchronously, so that you have exactly the right information at exactly the right moment in the exact right context that you need it, you can do something you could never have done without those two parts being in a relationship.

And it's the same for people, that the systems I work in, they're too complex for me to be the one who knows everything about them. Because the people on the business side have a very important point of view. And if I want a budget, then the finance people have a point of view and users have a point of view. And there's the broader system aspects like, what are the patterns that are operating in the system? And how do we reinforce what we want without inadvertently reinforcing what we don't want? And so, we don't have a lot of training in being able to think non linearly or without reductionism, but we still have to act and we still have to act in a way that makes good impactful decisions. And so, I have come to think of systems thinking as a practice or a group of practices. It's a muscle that we are strengthening. And there's no one thing to do. There's no one exercise. There's not a checklist. I don't have a template. I can't give a framework that I go and make PowerPoint slides and teach people. But we can learn the practices. And the biggest one is, how do you discern what is an impactful action in your situation? Because of course, we know now, you can't just do what Netflix does. You can't just do what Spotify did.

Andrew Harmel-Law: That's what everyone... I've been doing what Netflix does. 

Diana Montalion: Even though you're working in systems that don't provide streaming video. You have nothing to do with streaming video.

Andrew Harmel-Law: Exactly. Because you've alluded to it, but I think it's important. Right? The point is, it's not just the tech. We build technical software systems, but we build them in social systems. So it's the socio-technical, it's the combination, and the interaction between all of those parts, and the rest of the organization that we're building for, and the outside world that it makes contact with and everything.

Recommended talk: Expert Talk: Scaling Down Complexity in Software • James Lewis & Kevlin Henney • GOTO 2022

Diana Montalion: You had asked about why is everyone interested in, and I get asked that question pretty regularly in workshops and at events. And one answer is, I don't know. I mean, these themes have their own timing. But I do think that we're very aware, having experienced a global pandemic, for example, and things like climate change. I think we're very aware that a lot of our challenges, our systems' challenges, there's no band-aid that's going to fix them. So I have this professionally all the time, right? The complexity in what we build and what I am architecting and coding is more in timing, choreography of events, in how information flows across a system, what data even is, and how that integrates. And so I think we're feeling the pain. And I think that as we're feeling the pain more, then it resonates more with people that perhaps we need to think differently. But I think also outside influences have changed software systems so quickly that we kind of know it in a big way too, right? I think that we're facing system challenges and there aren't going to be single, heroic, one-shot answers that we can do to make them better. So we have to try different things. And systems thinking is... So the book is called "Learning Systems Thinking" in part because O'Reilly is good at choosing titles that also go really well with things that people are Googling for. But in fact, it's pattern thinking, and it's all kind of a constellation of other types of thinking and communication approaches that you can use during architecture and development, that help you stay connected to the systemic challenges and be designing for those, as well as lines of code, and performance, and those kinds of things that are also part of a system.

Working with Systems: Why Pushing for Change Often Pushes Back

Andrew Harmel-Law: You kind of talked a little bit there about you can't come in and do one thing. And I've always been very interested. You've made me more aware since we've worked together about, like, you can't just... You push the system, but the system pushes back. And just assuming that that doesn't happen has been very, very enlightening to me. So can you talk a little bit more about that kind of interaction and the whole idea of working with the system, and like you say, with emergence as opposed to just thinking something, doing it, and then assuming that some outcome will result as the natural conclusion of that?

Diana Montalion: There's a snarky website that is kind of made up to sort of tease our ways of thinking and doing things. And one of the things that I love is that the subtitle promises enterprise transformation without the risk of culture change. And I feel like generally, that's what people want. They want things to change or improve. They want to transform. They want to meet these modern challenges. But they don't want their core mental models to change. And they don't want the familiar ways of thinking about software, and architecting, and developing to change. But they are the same thing, right? It's kind of surprising that it was a bit of a... It can be a bit of a hard sell in tech that my focus is on thinking as opposed to cockpit implementation. But everything that's in production is just what we thought and talked about. That's it. It's what we thought, talked about, and then built using our thinking. Software is knowledge, right? It's a manifestation of our knowledge. And so, if we want something different in production, we also have to think differently and communicate differently. And so, now I have actually forgotten the question that you asked me that started behind this road.

Andrew Harmel-Law: It's more like, I was kind of leading into like leverage points and things. So the whole... Because you can push, but it pushes back, right? You can't just... Like you said, linear thinking, which got us into where we are now, is like, I push this... If I dial it up, then something goes up, but something else might go down, right? And then it can push back. So that's... Can you talk a little bit about that?

Diana Montalion: That's kind of where I was going with the enterprise transformation without the risk of culture change, right? Is that, we are... Most of the problems that we have in our professional lives, we created. And by we, I mean the system where you are working is generating also the pain that we're experiencing. And we think and build software, but then the software also influences us. A lot of the things we might like to do, for example, there really aren't tools yet for doing it. We're kind of figuring out how to imagine what software can do, but then be sort of constrained by what is available to us. And so when we don't have a systems point of view, we do things like, for example, we worry about performance, right? This API is not responding fast enough. We have a number for measuring response time, and this response time is too slow. And so we intervene in the system to make it faster. And then the whole thing goes down because the service was relying on a third party to get some of its core information. And the third party couldn't actually handle the increased load. Or maybe there's another piece of it, right, that starts to fall apart. This is why it's my favorite example because I've done that.

And that's the thing. Your point is exactly right. We're not going to avoid that. There will always be unknown unknowns, and there'll always be something that comes out of a change that we didn't expect. And it can be a good thing. It can open up all kinds of possibilities. But it often is something that we don't really know how to handle. When that happens, we often revert back to our usual ways. So, for example, we increase control. We add more linting. We add more processes. I once saw a project that was flailing and flailing and flailing. And the organization kept adding more project management to try and gain control until the people playing that type of role outnumbered the implementers, the people who are actually building the code. And needless to say, it did not improve the situation at all. And so that's one of our challenges, is that we end up in these novel situations as things change. But we still have the tool set of trying to get control or to linearize it. Sometimes that is exactly the right thing to do, but often it's not. This is counterintuitiveness, which is my favorite word in systems. Which is that we often know where a problem is, where we need performance, for example, may really have been a challenge. But we're often pushing it in the wrong direction. We do the wrong thing. And so we make the problem worse while we're trying to solve it. Again, normal human thing. This is how we think. Systems thinking helps us just to notice, to notice when we might be stuck in counterintuitiveness, to notice when there is a repercussion for an action we didn't expect. And we fall back on, well, this was bad or a mistake. We shouldn't have done this. As opposed to, okay, so now what? Now what's the next challenge that we're facing? What can we learn from this outcome that can help us to continue on our journey?

Counterintuitiveness

Andrew Harmel-Law: Counterintuitiveness can be a hard sell, right? Because people want the easy answers.

Diana Montalion: I mean, in fairness, counterintuitiveness seems exactly right because we're doing the thing we know to do. Like, in the past, it's probably worked that we are often applying solutions to things that it's not that they're wrong. Like, it's not like we go, oh, my gosh, how could you ever have thought that? It's that they are inappropriate for the circumstances. So for example, in the performance intervention, a question we often leave out is, why, how the system is serving a mission, right, the system has a purpose is a really fast API response going to improve the functioning of the system as a whole. And as often as not, it isn't. It's not really what matters, it's not really where the blocker is. And so we just make more... Now we have more problems than we had before. And we tend to be very uncomfortable with uncertainty. The joke I make that's not a joke. If I had a dollar for every time someone said something concrete to me, then I could just retire with my book on a beach for the rest of my life. Concrete is great. We need concrete thinking. But it's one type of thinking. And it's the one we have to be most careful about. Because once you pour concrete, that is a very solid difficult to move aspect of thinking, which becomes a difficult to move part of the system. And so becoming comfortable with learning, and growing, and not knowing, and still being able to take really strong well reasoned actions is like rowing. Where everyone in the boat is rowing together, and you kind of know where you're going as opposed to spinning around in circles because, you know, some of us want to go this way, and some of us want to go this way.

Andrew Harmel-Law: So that's why I think the book is really important because like you said,, you could be a single person, an individual at a company. And this I know from our conversations. This has been you before. So if one person could be in the organization and see something, see the system and try and figure out, you know, like, this thing that used to work now no longer works. And are trying to convince people that this change needs to be made, but in a completely different way, or do the opposite of what everyone seems to think will work because it worked yesterday. But I think that's what's important about the book. And that's why I hope lots of people read it and start using these techniques, because one person getting it and everyone else not getting it still makes it very hard. But the more people can see it... Because something will only...or makes more sense when you can see the system, and see why making this what might be a small change can have all of these knock on effects and things, right? Do you want to talk a little bit about... Because that's the point of the book, right, making more people aware so they get more people understand, And like you say, we aren't all pulling against each other. We're pulling together but in a new way because we're seeing different things and thinking differently.

Diana Montalion: Donella Meadows says that, we all know from bitter experience that when we do discover leverage point, meaning when we see counterintuitiveness is happening, and we understand what might actually help. No one will believe us. Because they don't see, they don't see it yet. Right? You might see it, but that won't magically make everyone else able to see it. And so the practice of systems thinking is shifting away from a bunch of people sharing opinions. This is good. No, that is good. No, that's not going to scale. That's bad. We did that. That's good. That's not... No, we need this. No, we need that. And moving towards being able to make recommendations, theories, actions, and showing how you reach that conclusion. So you're enabling other people to make up their own mind by showing them the reasons that support why. And sometimes that involves prototyping, collective modeling. Sometimes it involves experimentation. Sometimes bringing in people who've had different experiences, so that you can share them. There's a lot of ways to sort of bring in the synthesizing process, where we're able to have our own thinking and have the team's thinking, but also be able to synthesize other points of view so that we have a better chance of sort of hitting the target that we're supposed to. And this is a very fundamental, this type of systemic reasoning, is very fundamental to practicing systems thinking. Because you're not going to be able to just say, hey, we should do this. And everybody will say, sure. That sounds great. That's not how it works.

Andrew Harmel-Law: Let's all do that thing. But like you've got a phrase for it that I love, which is thinking together. Because I think that's... Despite the fact we've collaborated, like for decades, software engineers and everyone who works in software engineering, have built things purely with our minds, right? We're not building physical things. We're building things out of our minds. And you would assume that that would mean we'd be really good already at thinking and creating things together. And it never fails to amaze me how bad we are at it. But now it feels like we need to, right? We need to be able to think, and talk, and understand things together, because otherwise we don't see what's going on.

Diana Montalion: Yes, and we don't. Right? You don't see, like, legitimately you don't see. We need other people's expertise to know. 

Leading with Systems Thinking: Beyond Awareness to Action

Andrew Harmel-Law:  I think it's the last chapter of your book. You can remind me if it is. I think the chapter of your book is systems leadership or the leadership of all of this stuff. Because it needs to just go beyond seeing it and agreeing that it's a problem and maybe that it's something to solve. But there is a piece of, like, taking that and bringing it to bear in software, right? Do you want to kind of explain that a little bit? That's very interesting to me.

Diana Montalion: The joyfulness to me anyway about systems thinking practices is that you are providing a type of systems leadership regardless of your role. Right? Because you are improving the quality of decision making, for example, in yourself and in the people around you, by demonstrating it. And it's why I've been doing a lot of workshops, so that I'm really excited for two days at GOTO. It's a luxury to have that time. Because most of us don't really have an experience, so we hear the words or we read the book, and we get it. But then when we try to actually wrangle that, and apply it, it gets confusing, complex, and uncertain pretty fast. And so, the choice to nourish and support learning in ourselves and in other people in an organization, the choice to practice the types of skills that help us better in the modern complexity of software systems is in itself a form of leadership. Because it gives other people an experience that then they know, hey, this way we were doing, it was pretty limited. This way actually gives us more of what we were trying to get. And if you say it, just say it often. It isn't enough for us to really have trust in the process. I love the writing aspect a lot. And it frustrates me a little bit in that it really is practicing together that helps us to improve.

Andrew Harmel-Law: So I've described this... I'm trying to sell copies of this book to everybody at Thoughtworks as much as I can. I described it as... Lots of people have read the Donella Meadows book, which is... I know you've read "System Thinking: A Primer." But it feels to me like this is...there's lots just like you've said, the point is that it's practical, it's how to take these ideas and how to do them together with people and apply them and things. And I think that's... And like you said, the workshops and seeing people do it and seeing people realize that maybe it's not...ironically, it's not complicated, there isn't this kind of 17 layer ultimate path to enlightenment type stuff. It's lots of very basic things. But when you put them together and give yourself the space to learn it and practice it, and maybe be honest with yourself about what you'd kidded yourself about and things, I think that for me is... I mean, what kind of feedback have you had from people around about this thing? Because it is, like you said, a combination of some quite fundamental things, but it can have really big impacts.

Diana Montalion: I was approaching, you know, workshops and speaking in a pretty traditional way. I like to think that they're relaxed, entertaining, and valuable. But I had this experience that really brought home for me how important actually experiencing something rather than talking about it or listening to a lecture is, as well as getting the information. And so I've really been trying to figure out new and interesting and fun, if they can be, fun ways of doing it in a group where you can be clunky. And the reason that the feedback is so encouraging to me is that, two things. One is, people ask me exactly the question that I would have wanted to ask them. You know, we use a particular modeling, the iceberg model, for example. And someone will say, I have one model, but I really need three. Like, I have to look at this from a few different points of view. Exactly. And if I put that on the slide, people will take it in. But if someone tries to make a model and discovers the limitations of the one solution kind of thing, then they are curious. That curiosity is what kind of makes us want more.

Someone asked me in an interview once, well Diana I am really busy and the cognitive load is constantly increasing. It sounds like you are saying now you want me to think about everything. And that’s definitely not the case and you don’t need system thinking all the time

Andrew Harmel-Law: All at once, all the time.

Diana Montalion:  And you know what you do then just do it.That’s cool. We’re not trying to get rid of it. At the same time we want more tools in our toolbox. When we’re in a situation that we don’t really know how to improve, we want more options of thinking about how to improve it. And we get exposed to those tools. Practicing with a hammer. If you don’t know a saw exists then you wouldn’t think you know what you need. I need a saw in order to cut wood. We have the same thing with our processes and frameworks. We loved Agile and then we have this tool but in fact every framework, every technology tool, every programming arose in circumstances in which there was a need that was trying to be met. So we often throw out the understanding of a need when we throw out this solution in favor of that solution. So developing nuance and discernment and being able to discern what is appropriate in a particular solution is something we have to practice. Real experience teaches us more than anything else to be open to thinking and considering different approaches. The biggest thing is we want to control. We want power and control. In fact systems approaches give you more of those things but in a way that doesn’t really make sense if you haven’t experienced it. You ask the question and the system is pushed back. This is often why systems push back. As soon as people feel out of control they revert back to trying to control what is happening. Sometimes that’s the right answer. That’s what you need too but often isn’t more control. It's more intelligent.

Clarity in Systems Thinking

Andrew Harmel-Law: Less frequently than you think. The last thing, because you've alluded to this a little bit as well. The last thing I wanted to ask was, because... Like you say, we love to add things or we love to create new things, we love to kind of... Another interesting thing about systems thinking and leverage points, it talks as much about removing things or stopping doing things as it does adding things, or pressing harder and stuff. And I think that's something I think, I don't know, maybe because the Western culture seems to think that it needs to be more. But I think that that's very interesting. Again, that, you know, taking things away can always be or not doing something, opening up that idea. Have you got any kind of stories or examples of that kind of thing? 

Diana Montalion: A thing we all know is how often we are in meetings trying to make a decision or pick a direction or decide where to intervene? What are we going to do to change this pattern? Everybody goes off and everyone talks about it and then they go off and have the different conversations and they come back and everyone has changed their mind. They are dealing with noise.

A lot of communication, a lot of artifacts, a lot of processes, opinions, rules, a lot of things that aren’t really contributing. We are looking for a signal. We’re looking for the idea, the communication, the process, the change that is going to get right to the heart of what we are experiencing but we’re so used to noise.

We’re used to social groups being very noisy and we’re used to software systems that have grown into this labyrinth. The Minotaus is somewhere in that code. If you follow it enough it’s there. We’re used to that, we don’t realize often that it is noise.

Things got stuck and another piece of software got stuck. Use duct tape to hold the system together. This process of being able to increase the signal and decrease the noise is the thing we can relate to because it is the most common pain that people share. 

How come nobody listens to me? How come there is all this resistance and all of this noise. We are contributing to noise. We’re wrong about things. So a lot of the practice is about recognizing it in ourselves and understanding how to change those patterns. 

Andrew Harmel-Law: Yes.

Diana Montalion: Five people with completely different points of view could be in a room and come up with an action to take and feel at least reasonably confident in that action, without a need for politics and power struggles. Unless sometimes someone has to veto. Sometimes that’s what happens and that’s when I point people to your book.

Andrew Harmel-Law:: Be nice if that wasn’t the default.

Diana Montalion: For that I point people to your book, that process of being able to architect together and what types of artifacts to use and what to improve that process is really a core skill in system thinking. This would be in my workshop and the kind of things I do with people. I also often partner, which is how we’ve done things together and I've done things with other people as well because there are a lot of gateways through which you can enter this practice and begin to find the things that you can do that will make a difference.

Andrew Harmel-Law:: It'd be nice if that wasn't the default. I think I said this before, but this is my last question. If the workshop is one of those gateways. Do you want to maybe describe what is in store for people if they come to the workshop

Diana: We’ll do some fundamental practices as you said, some of them are deceptively simple and we don’t even think of them as tech skills really. You can’t architect systems without some of these fundamental skills. 

We’ll also use some system approaches thinking like the iceberg model. 

Andrew Harmel-Law:: Check out for those ones.

Diana Montalion: We’ll also take a real world example that we developed for the architecture workshops, a real world example where people figure out where would you begin? Because there is no right answer for intervening in this system. We could come up with five in the workshop and they might all be good gateways. How do you make them sound well structured and actionable. We’dd do a little individual proactive and then some fun thinking about systems challenges and the industry as a whole.Andrew Harmel-Law:  It was lovely to catch up with you. And I'm not going to be there. It went so fast. I'm not going to be there, but I'm very jealous of anyone else who does get to go to this workshop. I'm sure it'll be amazing. So thanks for taking the time.