Management of Societal Complexity

Management of Societal Complexity

Context

Understanding is crucial for making decisions and therefore for living well. However, a limit to understanding is complexity. When undertaking a large construction, one encounters the complexity of what is being created. Whether it is to create a new form of governance or to understand our current society, it is therefore good to understand the relationship between complexity and past and future constructions.

Question

How does complexity play a role in the evolution of large human societies, and how can it be managed ?

Study

The Model of Computing

Computing is an activity where software with more or less complex internal functions is built. Managing complexity has become an important issue, leading to numerous technical and organizational evolutions. The stakes are such that it affects a significant portion of resources allocated to computing, whether by abandoning costly projects or working on corrections due to the lack of mastery over complexity. This evolution over a few decades also shows the effect of complexity on developers' psychology.

Technical Evolution

In the Beginning

In the beginning, developers directly built programs in assembly language, meaning they wrote the instructions that the processor would execute. The lack of computing resources meant that everything had to be optimized (memory usage, software size, execution speed). This need for optimization is contradictory on a small scale with complexity management.

That's why, in the beginning, an admirable developer was someone capable of producing optimized code while adapting to complexity.

Awareness of the Complexity Problem

With the increase in machine power, optimization became less important, and a new problem emerged: how to produce large programs efficiently. There wasn't really an awareness of the complexity problem, even though developers were constantly facing it. For example, the side effects were numerous, or IBM practiced paying by the line of code, leading to verbose production and increased complexity.

All these problems led to the development of new tools (like new programming languages) and awareness of complexity. Gradually, an admirable developer became someone capable of producing simple and modular code (while achieving the objectives, of course).

Awareness of the Power of Theory

The history of computing has repeated the history of mechanics: you start by tinkering with bits of wood, string, and pegs and eventually seek proofs of highly abstract mathematical theorems. This evolution is a necessity in the pursuit of efficiency.

Thus, higher-level languages very close to mathematics, such as Haskell and OCaml, and mathematical assistants allowing the proof of correct execution of programs, such as Coq and Isabelle/HOL, appeared.

Even though this evolution is still in its early stages, an admirable developer will increasingly become someone comfortable with mathematical concepts used in computing.

Organizational Evolution

As software became larger, it became necessary to organize teams of developers. This led to advancements in organization, such as ticket management to track error handling and features, version control of source code, and design methodologies.

Psychological Evolution of Developers

We have seen that the conception of what makes a good developer has evolved. As technology evolves, developers go through the following phases:

This evolution changes a companion aspect of complexity that is no less important: aesthetics. Indeed:

We can see that this evolution influences the psychological aspect of developers since the norm of aesthetics changes. This aesthetic is an important aspect of being human, for example, it drives us towards the hope of happiness or, conversely, the acceptance of misery. This translates concretely: there was more machismo among early developers, and there was also palpable joy on Haskell forums, at least at one point in time.

The Effect of Not Mastering Complexity

The experience of software projects becoming too complex shows us that without working to reduce complexity, we get:

The Effect of Not Mastering and Being Unaware of the Complexity Factor

This situation is now very rare, but it did exist and allows us to draw interesting lessons for our society, where the lack of awareness of the complexity factor is widespread.

It leads to the acceptance of incomprehension, in aesthetics, and reinforces values of acceptance of suffering.

The Societal Model

Comparison with the Computing Model

Compared to society, computing is a simple field. If rewriting software with higher-level tools can be somewhat risky and costly, it is entirely different from reorganizing society, where the stakes are measured in lives. Being a stakeholder in the system does not help with understanding or taking risks. For example, software development would be much more problematic if developers themselves lived, as code, inside the software they were modifying. Yet we, as humans, live with this constraint that is both difficult and very funny.

That is why, compared to the evolution of computing, we are still at the early stage, with a very limited awareness of the complexity problem and the possible level of aesthetics.

Complexity, Energy, and Decline

One can note the work of Joseph A. Tainter (see the book "The Collapse of Complex Societies"), which links the uncontrolled increase in complexity, the energy cost due to this complexity, and the decline it leads to.

Complexity as a Tool of Domination

Here are examples where complexity is used as a tool of domination:

Manipulation: "you'll understand later," "you can't understand"
This allows imposing by authority, arguing that the other is weak in the face of complexity.
Elitism
In contrast to the idea "blessed are the simple-minded," (which is phase 2 of the evolution of computing), elitism implicitly asserts the fixity of in aesthetics and explicitly the existence of superior beings capable of navigating the current complexity.
Institutionalization of the Dominance of Large Financial Masses
Institutional complexity has a significant cost for certain actions (e.g., tax arrangements). This cost allows separating the small (for whom the cost represents a large portion of energy) from the large. Thus, significant advantages can be obtained for large financial masses (see the effect of tax optimization). This is true in taxation but also in compliance with standards, which becomes insurmountable for small entities, allowing the large ones to eliminate them easily.
Class Protectionism
Class protectionism through complexity is an improved and globalized version of "you can't understand.". It has been described by sociologists in mechanisms of social reproduction (see also the phenomenon of the constant tragic fate prevalent in many countries). It works with the principle of elitism and involves constructing insurmountable barriers of complexity for social classes lacking the necessary culture. Furthermore, this barrier of complexity helps increase the self-contempt of the dominated classes, leading to the acceptance of arbitrariness. Concretely, it turns enthusiastic and curious children into adults who avoid intellectual activities and often seek refuge in the world of harmless distraction.
Achieving such a level of inner life destruction requires good technique, such as imposing:
  • Authoritarian education (simultaneous method) rather than distributed (mutual method)
  • The idea that one must fill one's mind with information and operational recipes rather than exercising creativity and freedom
  • The idea that one can learn without feeling the need
  • The idea that people are sufficiently identical to use the same learning method at the same time

Complexity as a Tool for Prosperity

Here are examples where complexity is used as a tool for prosperity:

Increasing Corporations
Groups of people tend to create group solidarity. Thus, a police officer will tend to defend the behavior of other police officers, and if asked whether more police officers should be hired, they will likely respond affirmatively. A good way to grow a corporation is to make systems more complex in order to increase the tasks to be performed. For example, this can lead to endless meetings, or in the USA, a tax filing business develops with conflicts of interest that push to keep the system complex.
Forcing Positive Evaluation
When one has to produce a document (such as proof, intellectual research, or even an artistic work), one can produce a sufficiently complex document to discourage the reader. Often, the reader will not want to admit that they gave up (so as not to appear foolish or lazy), and to hide this, they will evaluate the document favorably. See as an illustration the so-called Sokal hoax.

Overview

We see that complexity tends to prosper due to strong stakes that hinder a simplification reorganization and the continual addition of new elements. It also prospers because it offers advantages in certain circumstances and to certain groups.

As it has a significant cost (in terms of destroying the ease of life) and prospers, it leads to ever-growing problems.

The comparison between the evolution of human society and computing shows us that we are at the beginning, a time when the awareness of the need to manage complexity is very low, and where problems accumulate inexorably.

The phase of managing complexity has a significant impact on the core of people's minds because it affects the standard of aesthetic levels.

How to Manage Complexity ?

Play

Playing is about seeking the pleasure of living, going towards what brings joy while inventing and discovering new things. It is already in itself the implicit affirmation of great aesthetics, a trust in one's body and mind to guide us through pleasure towards long-term happiness. It allows one to practice on simpler situations with only minor stakes. For example, seeking pleasure in developing software allows one to move towards larger and larger software and thus develop a sense of aesthetics and management of complexity. The same applies when freely exploring mathematics or other far less complex fields than reality.

And ?

Regarding the objective defined here of learning to manage complexity, there are downgraded versions of the game, such as doing exercises. They are a compromise between a loss of improvement in one's sense of aesthetics (and therefore of intelligence) and a potential gain in standardization or learning time in a certain field.

Response

Complexity has an important place in societal functioning. The comparison with the evolution of computing shows us that our society is still largely immature in dealing with complexity. This management is crucial to achieve a society that does not head towards a deadly decline. To build good complexity management, one must engage in play to improve one's sense of aesthetics, which is the engine of complexity management.