Designing open socio-technical systems as overcoming the complexity of software development – Part 1

Despite the attempts of the ICT (information and communication technology) industry to adapt and adjust as quickly as possible to the unstable social and technical environment in which they operate, in an environment where workers demand more and more and the fourth industrial revolution is coming, their success is extremely small. Some are blindly following the success formulas of other companies, which, they believe, have found the right path, while others are doubling their asset protection, relying on the good old schemes that worked before, in the hope that they will survive difficult times.

The main problem, quite possibly, is that many companies are simply becoming victims of their own success – the amazing advances made in technology have led to blindly following technical imperatives to the detriment of human and social aspects. At first glance, it might seem prudent to follow the glorious tradition of physical engineering with its leading expert organizations and rigorous, field-proven processes, but the field of technology is actually not so cyclical and predictable as design decisions are made at different times and at different levels, starting from boardroom strategies, ending with programmers pushing commits into Git. The complexity is too great and the speed at which change is taking place is so high that other ways of working are needed, where flexibility, resilience and active adaptation to an uncertain environment are naturally formed. Paradoxical as it may seem, the solution can be found precisely in the industrial tradition that we are continuing, based on scientific research of the post-war mechanical industry.

Software development is a socio-technical phenomenon, these subject areas are inseparable here.
– GeePaw Hill

The ICT industry is the driving force behind the digital revolution, bringing qualitatively new changes to all areas of the global economy and capable of improving the lives of people around the world. We have no problems with the technical side! I don’t even doubt it. But what we haven’t done well yet is in the social dimension of what all software companies are, namely socio-technical systems. Companies often proudly proclaim that they employ the world’s best product managers, designers, programmers and SREs, that everyone’s talent and experience is the new gold and significantly influences their success. However, many people forget that “software development is a socio-technical phenomenon,” as GeePaw Hill put it. Software is made by people for people. There is no “separate” technical system; it is inextricably linked with the social system. Perhaps we should pay more attention to social sciences in order to create a work environment in which people feel comfortable and proud of what they produce – just as the manufacturing industry did 70 years ago.

Opening semi-autonomous commands

Sociologists have worked with manufacturing industries since the Tavistock Institute descended into the coal mines of northern England in the late 1940s to investigate the new way of organizing work that was practiced there. Some of the working conditions contradicted the new practices of division of labor, expert control and supervision that were adopted with the advent of new technologies, essentially a step back to the old ways of organizing work – relatively autonomous groups that were able not only to increase productivity, but also to positively influence the responsible the attitude of employees to work and their mental and physical health. These studies and the subsequent decades of their application in practice have shown that in order for a socio-technical system to work at its best, its design must take into account both social and technical aspects. Focusing only on the technical side often results in a dehumanizing environment, while focusing only on the social side is likely to prevent technology from reaching its full potential. The technical and social aspects need to be optimized together.

What the coal mine workers did was a return to their old social system, where they were in control of the situation themselves and were considered respected worthy people. It was an act of survival and a response to the dehumanization caused by the industrialization of their work due to the emergence of a new technology with little or no social impact. Many in the ICT industry are likely to recognize this pattern, such as the XP teams that went against the prevailing best practice for large multi-year projects in the 90s. Their disgust and frustration with inefficiency, and their strong belief that socio-technical systems can be predicted with any degree of certainty, led them to develop a new way of working that would help them get better results faster and allow people to be more involved and proud of their work.

This is one of many interesting parallels between Sociotechnical Systems Design (STSD) research and what we now call Agile. The main difference, besides the obvious factor of time and place, is that STSD stems from scientific research and is grounded in a solid theoretical foundation. It has epistemology and ontology.

Formation of a theoretical basis

In 1965, Fred Emery and Eric Trist published an article on the history of Open Systems Theory – “The Causal Texture of Organizational Environments”, The presentation of which was carried out in part from a socio-technical point of view. The article touched upon the field of socioecology, in which two important concepts were presented, which became the basis of the theoretical base. One of them is an extension of von Bertalanffy’s theory of open systems, according to which the system is completely open to its environment and must have a transactional relationship with it in order to survive, not only learning and adapting to it, but also actively participating in providing it the future. The second concept was the identification of ideal types of environment in which the system can be located, called causal textures, and which can be considered as stages of evolution. They can be described as follows:

  • The first type is placid random, largely theoretical, where everything is random and the environment is neutral;

  • The second type is placid clustered, more orderly because the elements are grouped, but the environment is still neutral;

  • The third type is distributed reactive, where competition arises, since there are not only groups, but also several elements of the same type;

  • The fourth type – turbulent, is the most complex environment in which dynamic processes occur not only because of the interaction of the system with it, but also because of the environment itself – “the earth is in motion”.

Three of the four casual textures depicted as organizational structures

The second is what the world looked like before the industrial revolution, when people lived and worked in self-governing groups in small, self-sufficient communities, and the third arose as a direct result of the industrialization of labor and competition that began in the late 18th century and continued until the 1950s. … It was the time of scientific management, mass production, assembly lines, bureaucracy, command and control, division of labor; a highly competitive and inhuman environment where companies fought for the same resources, be it materials or people, but there were enough of them for everyone, which made it possible to maintain stability for a couple of centuries, up to two world wars.

Usually people hate living and working in bureaucracy in a competitive environment at any level, including nations that committed industrial killings during world wars, and one of the inevitable products of competition is segmentation and division. People responded to dehumanization of the third type (see image above) by abandoning its assumptions and structures and increasingly took matters into their own hands. They no longer agreed to be cogs in the machine of bureaucratic hierarchies of personal domination and wanted more autonomy, participation, and social support at work. Old values ​​based on the boss-subordinate relationship gradually fell into decay as people began to choose new value systems based on more egalitarian and democratic relationships. The world entered a fourth type of turbulent medium.

But back to the sweatshop ICT galleys: programmers huddle in large openspices like textile workers in an industrial age, and are given simple tasks to complete as quickly as possible, trying to keep up with the fastest possible releases. There is also a fear of failure that sometimes spawns heroes who go beyond the call of duty and are generously rewarded. This is exactly what the STSD researchers found antisystemic, not optimizing the technical and social aspects collectively, but rather each one individually. The struggle for flexible and empowered product teams / BizDevOps is like the return to semi-autonomous workgroups in the industrial era, and it takes us from a short-lived but stable Type 3 environment to a Type 4 turbulent environment. The limitations of the command and control paradigm are becoming more apparent as the colossal technical environment becomes more unpredictable due to the sheer scale of the Internet and what many call the fourth industrial revolution with its large-scale Internet of Things (IoT), M2M, machine learning, artificial intelligence and more and more new business models. This turbulence and exponential growth in diversity can no longer be left in the few hands of those at the top – neither for the business itself, nor for the people working there.

Another similarity to the post-war era is that the labor force is becoming more demanding, especially where its resources are limited, as in the case of the ICT industry, and that every technological advance requires more and more specialized skills. In addition, new generations are digital natives, be they millennials, Zs and alphas – their values ​​are less in line with the industrial bureaucracy than the previous generation X and even earlier boomers. They are very concerned about autonomy, importance, personal development, self-expression and pure pleasure. In short, people need better quality work because it meets their basic needs. A good example of this is the Great Resignation that followed the COVID-19 pandemic.


The material was prepared on the eve of the start of the online course “Architecture and Design Patterns”.

Similar Posts

Leave a Reply