
Traction Heroes
Digging in to get results with Harry Max and Jorge Arango
Traction Heroes
Gall's Law
On the folly of designing complex systems in one go, from the top down.
Show notes:
- Traction Heroes ep. 6: Chesterton's Fence
- Traction Heroes ep. 2: Unprecedented
- The Design Squiggle
- Systemantics by John Gall
- A New Kind of Science by Stephen Wolfram
- Wardley map
I'm as much a platonist as anyone, right? I have this idealized vision of what a system should be. And idealized visions often don't account for edge cases. And it's the edge cases, the accommodations, that make systems behave in ways that comport with actual human behavior.
Narrator:You're listening to Traction Heroes. Digging In to Get Results with Harry Max and Jorge Arango.
Jorge:Hey Harry. It's good to see you again.
Harry:Hey, Jorge, I so appreciate you making time today.
Jorge:I always have time for you, my friend. These conversations feed me.
Harry:Oh, they're so enlivening. I can't help... it just, yes! And now, people are talking about'em. Like, people are sending me messages like, Hey, I heard about your podcast on... I think the one that I keep hearing about is your Chesterson's Fence. I hear about that one. I hear about the, what was the other one? Oh, Unprecedented. People talk about that one. And so, people are starting to reference these to me and ask me for links to them and stuff like that. That's kinda fun.
Jorge:Yeah, that's really... it's really gratifying to know that these conversations are having an impact on folks.
Harry:Yeah, no doubt.
Jorge:And I think that there are some themes that are starting to emerge, which is natural given our backgrounds and interests and both things that we have in common and things that are different about us.
Harry:I'm guessing, given the fact that you wore that incredibly cool shirt, which is the one that has the squiggly line on the... is it on the left? And then turns into a straight line on the right, representing the creative process that you might, if we're lucky, have brought something.
Jorge:This is the famous design squiggle. It's a little doodle that depicts the design process. I think that maybe at a high level, the reading I brought today might be seen as part of this, but only if you unfocus your eyes.
Harry:Okay.
Jorge:Let me get into it. Let me just start reading this.
Harry:All right, let me take my glasses off so my eyes are unfocused.
Jorge:This might be a little long, but we've done longer passages in the past. All right."How does it come about, step by step, that some complex Systems actually function? This question, to which we, as students of General Systematics attach the highest importance, has not yet yielded to intensive modern methods of investigation and analysis. As of this writing, only a limited and partial breakthrough can be reported as follows." Now, this is me commenting. The next sentence is rendered in ALL CAPS. Okay? So, this means it's important."A COMPLEX SYSTEM THAT WORKS IS INVARIABLY FOUND TO HAVE EVOLVED FROM A SIMPLE SYSTEM THAT WORKED." All caps off."The parallel proposition also appears to be true:" And now we're back to all caps."A COMPLEX SYSTEM DESIGNED FROM SCRATCH NEVER WORKS AND CANNOT BE MADE TO WORK. YOU HAVE TO START OVER, BEGINNING WITH A WORKING SIMPLE SYSTEM." Caps off."Diligent search for exceptions to these axioms has yielded negative results. The League of Nations, no. The United Nations, hardly. Nevertheless, the conviction persists among some that a working complex System will be found somewhere to have been established de novo from scratch. Our friends, the mathematicians and engineers, in particular, may insist that these formulations are too sweeping, that they set forth as natural law what is merely the result of certain technical difficulties which they propose to overcome in the near future."Without committing ourselves too strongly to either camp, we will remark that the mechanism by which the transition from working simple System to working complex System takes place is not known. Few areas offer greater potential reward for truly first rate research."
Harry:Wow. Is it done?
Jorge:It's done. That's the end of the quote.
Harry:Okay. A couple things. the first is I feel like I know that book. I wonder if it's one that's sitting on my shelf that I... is it Wolfson or Wolfberg or... who's the author to that?
Jorge:The author and I'll say, the passage that I've read here... We were talking in our previous episode about Hofstadter's Law, and this is one of these things that has become like a law, right? And this passage that I read here about complex system that works, et cetera, is often referred to as Gall's law after the author John Gall. And the book is called Systemantics: the Systems Bible.
Harry:You're right, a, number of interesting themes are starting to emerge in these conversations. One of them is a concept around tightly integrated, loosely coupled systems. And this is showing up in the AI conversation increasingly, around how to build systems that are likely to allow for agents agentic computing to work. But I was thinking about fractals, and I was thinking about cellular automata, who is the guy that wrote the book? The Mathematica guy,
Jorge:Stephen Wolfram.
Harry:Yeah. Maybe that's who it was. At any rate, the funny thing is that the more predictable way to build systems is now increasingly being, represented on two fronts. One by, I think about, are you familiar with Wardley mapping?
Jorge:Yes. Simon Wardley.
Harry:Yeah, Simon Wardley's work, where he's using kind of this technology diffusion curve against the closeness to the user and then to infrastructure to look at how you map out building a system so that you figure out, where do you need to invest, research, or really creating something from scratch versus utilizing commodity capabilities. And so, on one hand, I was thinking about the Wardley mapping, which... That guy's a genius; I had the great fortune of taking a class from him on Wardley mapping many years ago, I think at Code for America. And, then the other piece was that this notion of building relatively sophisticated and much better, much more durable, highly functional and increasingly adaptive systems by starting with small modules. And one of my clients right now is, I can't really talk too much about what they do, but they're... man, it's hard to know where to where to draw the line, but let's just say they're building very complex systems with off-the-shelf parts. And that's not something that I think was common years and years ago. I think people generally, either because those parts didn't exist, or because the integration and standards didn't exist, or because they thought everything was unique and they needed to build one big complex thing. Like, these big, giant complex things often don't... they're expensive and they don't go well often. They're usually late. They're usually, way more expensive than people think, and they often take a long time to get to the point that they deliver on the benefits that people expect. So there's a weird intersection here of, if you're gonna design something, you wanna use as much off the shelf stuff as you can, you wanna understand what you would need to invest in, which is why I like the Wardley map, which, it's like a super valuable concept, even for something like a house, right? Because you can... like my dad's house managed to survive the fires down in Los Angeles. But I've been involved in these conversations in the planning for rebuilding the neighborhood where the architects were proposing using modular homes. Yeah, modular homes, even in this kinda ritzy neighborhood. And, the evolution of modular stuff has gotten to a point where it's almost indistinguishable from high quality custom stuff. And just thinking about that, I don't know that anybody spends time thinking about rebuilding a house using a Wardley map, but I think the value of something like Wardley map thinking in this space is really valuable because it allows you to trend toward a simple designing and developing what ultimately will be a complex system by starting with very simple components and building out from there.
Jorge:You've touched on several of the aspects that I think are critical for the design complex systems, right? One is designing for emergence, which to some degree implies designing for modularity, right? So you want to create things that can be recomposed and that have some degree of flexibility. I think that what I had in mind here in bringing this passage from this book to our conversation is a... one of the themes I think that is emerging, certainly for me, is a certain degree of conservatism.
Harry:Ah.
Jorge:And what I mean by this is, we work in a field, in tech, where, for a lot of people, the mantra is"move fast and break things." But there's also this understanding that comes from startups of the minimum viable product, where you start small and you have a direction, and then you test that direction by putting out the minimum thing that can work and that can meet... bring to life your hypothesis, let's say, right? And then, as that product meets conditions on the ground, you adapt it to the feedback that you receive from actual paying users. And that is how you end up with really powerful, complex products. Whereas, if you try to design the product right off the bat with all the bells and whistles, you're likely not going to get it right, because you're solving problems that might be in your mind as opposed to the real world. And the conservatism thing comes in is that... by the way, you mentioned earlier our Chesterton's Fence episode; I'm referring to that as well. It's like this idea that we look at complex systems and we often take them for granted and are very willing to jettison them without thinking of what it took to get to the point where they are. If a system, particularly a complex system, if it's around after more than a couple of years, it's doing something right. Even if it has problems, it's doing something right. And it behooves you to understand what that is. And it takes a great deal of arrogance, I think, to think that you can swoop in and replace a complex system from the top down. It takes a tremendous chutzpah to do that, right?
Harry:It's astonishing. When we get done today, I am gonna hop in my car and go to a meeting to address the situation just like this, right? One of my clients called up and said that they wanted to drop a new learning management system, a new LMS, into their product and service offering. They want to tear their old one out. And we were kinda unsuccessful at getting them to recognize the risk of doing that over a Zoom call. So I got in my car last Friday, and I drove three hours to have lunch with the guy. And I said,"Look, our reputation is based on us doing right by you, right? Whether you choose to work with us or not, but I couldn't let you move down the path that you were gonna go down with or without us, with any vendor, without sitting down with you with dry erase markers on a whiteboard to show you why the approach that you're currently about to take is likely to yield to an outcome that could tank your entire business. Because you've built this system and you've put a whole bunch of stuff around it, and it's been operating for years. And it's been adjusted, it's been customized, it's been tweaked. Your system is like embodied learning, and if you just cut a line at the bottom of it, tear off the bottom and shove a new piece of technology in without having spent the time to think through what it really needs to do and for whom in how is it gonna be successful, it will not end well." And sure enough, when we were done with that meeting, he said,"Look, I, get it now." And so he pulled his team together and they're coming down to talk to us today because I think I adequately conveyed that they had a system that was a lot more complex than they realized, and just taking a wholesale cleaver to the thing and trying to fix it to save a little bit of money and to make it a little bit easier for them was gonna be more expensive and take longer than they thought, at a minimum.
Jorge:I wonder if there's some kind of cognitive bias here at play. And there well might be, I'm just not aware of it. But it just feels to me like this kind of attitude is endemic, particularly in the tech space. It was a few months ago that Sonos released that new version of their app that basically aimed to re-platform the whole thing. And I don't have any inside knowledge of what happened there except what was written up in the media, but the impression that I got from that is that they took for granted the fact that the existing application contained a large amount of fixes for edge cases, which no new app was going to be able to account for. No new app undertaken from scratch, right? And we also heard, again, another item from the news that I have zero insight into other than what I've read in the news, is this thing about the Department of Governmental Efficiency, DOGE, going in and saying that they were going to eliminate all this COBOL code in the government. And I think that anybody who's worked with these kinds of systems read something like that and we go,"Well, that's brave!"
Harry:Yeah, more than that. I read that and I'm like,"Oh, they're gonna try to replace the, the systems at the FAA and I'm not getting on a plane. I'm gonna take the train or drive, because you know that stuff is way more complex than people realize."
Jorge:Yeah, absolutely. And the thing is and I'll speak now for myself, like I'm as much a platonist as anyone, right? I have this idealized vision of what a system should be. And idealized visions often don't account for edge cases. And it's the edge cases, the accommodations, that make systems behave in ways that comport with actual human behavior. And the older I get, the more I realize that that cannot be designed from the top down. It can only be realized by putting systems out there, iterating on them, and incrementally improving them. And in the tech space, I think we almost fetishize innovation, just because the shiny new is what gets the headlines. But to your point earlier, some of the best innovations happen atop existing technologies that have been reconfigured in different ways. And, in fact, many of the innovations that we've seen in the last few decades could not have happened if we had to invent the whole stack from top to bottom. So it's all been standing on the shoulders of giants and growing things. And in fact, there are lots of examples of organizations that tried to wipe the slate clean and didn't succeed. I'm thinking and now, this is one of these that is gonna date me, but back in the 1980s, when the PC standards started getting away from IBM, they tried to release a new standard, and that didn't go well, right? Like, at that point, there was an active ecosystem that had developed around what it meant to be a PC, and even the industry leader couldn't sway the way that the market was going. So, I think it's incredibly hard, and I increasingly find myself skeptical of efforts to design complex systems in one go from the top down in violation of Gall's law.
Harry:Yeah. So many thoughts come to mind. One of them is that many years ago, I worked at a company called Dreamworks Animation, PDI, Pacific Data Images, Dreamworks Animation. And I had the incredible great fortune that my office was right across from Richard Chung's office. And Richard was one of the three founders of PDI, which was acquired by Dreamworks. Richard was the... I guess he was the technical pipeline wizard. Incredibly kind, thoughtful, smart, wise man. So, I had various conversations with him about stuff. And one of them was about innovation, because there was so much innovation going on at the studio. We made Shrek 2, we made Shark Tail. Shark Tail, not so great; Shrek 2 pretty awesome, and a bunch of other movies. And there was all sorts of innovation going on in the 3D animation movie space at Pixar and Dreamworks and others. And I got into this conversation with Richard about innovation, and he said,"You know, Harry, there's no such thing as innovation." I said,"What do you mean?" He goes,"Can you put innovation in a bag?" And I said,"No, it's just a word." And he goes,"Yeah, it's, basically a verb that's been turned into a noun so it's this frozen concept." He goes,"What there is innovating, the gerund verb, ING, innovating." And he goes,"Innovating is a creative process of solving valuable problems." And he goes,"Now, there's tons of that going on here. There's no such thing as innovation. I don't see innovation anywhere, but I see a lot of innovating. I see a lot of creative people having creative, smart, technical thoughts with problems they're trying to solve, and then they're solving them in a valuable way. That's where you see the results of innovating." And I love that philosophy. So I've become very sensitive to the idea of using nominalizations, which are verbs that have been turned into nouns like innovation. They make me cr... like, my hair stands up all. Look, I don't have very much of it, but it does stand up. And, that was the first thing that came to mind. And I, realized that this is just a rich topic. Because I've been involved in probably three large replatforming efforts. They all went well. Like, really well. They were relatively on time. They're relatively on budget. They delivered what we said we were gonna deliver. So, I haven't had the experience of being intimately involved in any of these catastrophes that I see certainly coming.
Jorge:When I hear replatforming, I hear,"Let's take what is working over here and change the infrastructure, maybe the code base, what have you." I think that's different than what the Gall is saying, right? I think Gall is talking about designing a net new system. It's as though you are going to not replatform the thing, but like re-implement it in a new way with new features, new functionality, all done from scratch.
Harry:Fair enough. I think I was being messy about my language. I think in replatforming there I... Partly, one of the things I was involved in was pulling the infrastructure out and replacing the infrastructure so that the top end remained relatively the same. But the thing is the top end can't remain the same because the platforms, there are all sorts of accommodations in the user experience or the UI layer that work around challenges in the underlying platform, and then there are all sorts of accommodations in the platform to deal with things that it was never intended or designed to do. And you have these complex interactions here. So, fair enough. but I, think I was speaking to the spirit of large platform changes.
Jorge:Yeah, I have no qualms with that. It's the,"Let's design a large platform, net new from scratch. Maybe replace our old plat platform with a newly designed one that does all the things that we think it should do, as opposed to all the things that the old platform grew to accommodate." Those are two different things, I think.
Harry:I completely agree with you, and I'm using the same word to describe both. The last couple years, I had a client who failed at this, and I came in after the decision had been made and after the execution of the new and shiny new platform had been committed to, and it had the predictable results, right? The small company ended up having to manage two platforms for two years while it figured out how to take all the stuff in the old platform that no one ever realized needed to be in the new platform and bake it in there so that the new platform could do more, faster, better, cheaper.
Jorge:I don't wanna suggest that any of this is easy. These are really tricky projects. I think maybe to bring it back to practical thoughts for folks, because after all, what we're trying to do is help people gain traction. And part of the reason why I wanted to bring this to the table is that it might be like rule zero when trying to gain traction is make sure that the thing that you're looking to gain traction on is actually doable. And, this feels to me like one of those Quixotic pursuits where it's like,"Let's redesign the whole thing from scratch!" Right? Maybe to try to articulate it in practical terms, a few things that someone could do is maybe question whether redesigning the whole thing from scratch is the wisest path forward. Like I said, there are many examples of such projects that have gone awry. One other thing you've brought up here, which is emergence, right? Like, the idea that if the platform or product or whatever is eventually going to be complex, meaning serve all these different needs and perform all these different functions, then design it in such a way that it can grow and is not closed ended in some way. And the third thing you've also touched on, which is, that implies both designing it to be modular and bottom up so that the system can, in fact, evolve.
Harry:This is feeling like a really rich topic that maybe we should figure out how to talk more about at some later date.
Jorge:I'm sure there are more readings. This is a perennial theme for me, so I'll think about what else I can bring to the table so we can keep it going.
Harry:What a great conversation, though. Thank you so much.
Jorge:Thank you, Harry.
Harry:Yeah. Take care, Jorge.
Narrator:Thank you for listening to Traction Heroes with Harry Max and Jorge Arango. Check out the show notes at tractionheroes.com and if you enjoyed the show, please leave us a rating in Apple's podcasts app. Thanks.