A finite game is played for the purpose of winning,
an infinite game for the purpose of continuing the play.
— James P. Carse, Finite and Infinite Games
Software systems in aggregate, for an enterprise, work together in a complex system of systems. In this dense forest, if we stand in front of a single tree, as we often do, it is not even clear that there is a forest, let alone that there are nuances in this complex ecosystem. So, reflexively, we have learned to combat the inherent complexity by abstracting vigorously and continually. That is our way to coax the reality into a form that is more tractable to limited human cognitive abilities.
We model so that we may deal with the complexity of our own creations. The discipline of architecture that we are evolving is a testament to this pursuit of simplification. It is a start — just a start. And, as with many starts, it could even be that we take a step forward, and one backward at the same time.
Co-Evolving Systems and Architecture
Architecture is more than models. To be relevant, an architecture needs to be embodied in the systems that we build. We must be able to point to parts of the system, and call out things that map to our architectural models. We build our architecture as we build our systems, whether or not we realize that we do this.
When we build, as we must keep doing, we are faced with the very real-world issue of limited capacity and resources. We cannot build everything all at once. So, we need to be incremental in our build-out. Also, we cannot build the wrong things first. Finding the right parts to build at each step in a system’s progression is what differentiates an enterprise from its cohorts, as each races to build out a capability that is currently a differentiator.
This ability to be selective and focused is what both management and architecture are about. Management discipline helps us align our supply of resources with appropriately prioritized and sequenced demand. Architecture discipline is the yin to the management discipline’s yang. It supports the desired sequencing and progression of the system by doing the same for the foundational parts that lie underneath the systems being evolved.
We have done reasonably well, evolving the architecture discipline over the last couple of decades to a point where we are generally able to align the architecture foundation’s progress with a system’s progress. However, a system is only one piece in the system of systems: the enterprise, as it evolves over time. We may win the battle in the finite game of a single capability. But do we have the staying power to win in the infinite game that enterprises must play in? That is the key question that this Advisor raises.
What do the enterprise’s disciplines need to include so that we are able to play this bigger, more challenging game: The infinite game?
Realization that There Is a “There” Beyond Here
The first step toward a game that feels more like the infinite is the realization, perhaps even an acknowledgment, that the current state is underpinned by mindsets, activities, and goals that are very much about the here and now.
Arguably, many of our enterprises are not playing the infinite game. One symptom of our shortsightedness is in the legacy systems that we create in the immediate wake of what we build. Another sign is the need to do rip-and-replace “mega-programs” more often than we would like — programs that we agonize over, sometimes for years.
The practical issue is that we cannot see the entire picture across space and time — neither the systems nor the architecture. Therefore, we can only build parts of what we are able to justify today, while some parts remain necessarily dark, until we are able to see what those parts will be called upon to do. And, are able to articulate rationales that make sense.
Freeing Architecture from the Tyranny of “Reason”
If we cannot see our systems’ spread across space and time, our architecture view will necessarily be limited — unless we can somehow magically decouple architecture’s dependency on having a clear view of the systems and the system of systems as they will be in the future. It is not easy to go beyond the measurable; beyond the numbers that give us the illusion of control, of reason. When complexity and change seem moderate, we look to our models of numbers and pictures to perform the voodoo needed to control and shape the reality. However, when we cross a certain threshold of uncertainty and indiscernibility, perhaps our facility with mathematics and sketching will not only fail us, but may even hold us back.
We have lived in the age of reason for a while, but when there is madness all around us, can we afford to be “reasonable”? Can we assume that the mapping between our models and the reality will continue to allow the tech-driven voodoo that we have become accustomed to — especially when the voodoo seems to come with some significant and adverse side effects?
This Advisor suggests a mindset shift to go beyond things that can be touched and felt; hinting that those things, while offering some degree of assurance, may, in reality, be wispy mirages.
Do you find yourself drawn toward such a shift? Do you think you can afford not to? Are there management practices — funding, resourcing, talent positioning — that you are tweaking in this direction? Are there architecture practices — modeling, scenario-based planning, probabilistic thinking, complexity characterization — that are areas of interest in your organization? Do you think there is potential to go beyond a finite game? Post your comments at the link below, or send email to me at bprasad@cutter.com.