Designing and Delivering Anti-Fragile Complex Systems
I have been building software for many years and at the same time building a non-profit business to help people build better systems of people, process and technology. Because of this I am deeply familiar with complexity and how fragile our systems are in achieving desired outcomes in both technology and business. Complexity was not originally too important to us in IT unless we were building extremely large products and even then the systems were primarily seen as ‘enabling’ technology. Enablement always appeared to translate as ‘not really that important to our business’. While the systems were mission-critical other business people saw it as secondary to the primary business models such as selling cars or taking orders. In addition, the lack of extreme connectivity of early systems made them simpler in nature and not exposed to the kind of deep complexity of the highly connected, highly automated, cloud enabled, service focused systems of today. It was more labor intensive in some ways but also there was a sense that there was only one way to build the systems and make them work and that they only had to work with a few interconnected systems of people and technology and that these could be controlled.
In today’s world of digital business models this is no longer the case. In many organizations the business model and the technology are equivalent and more and more traditional business models are being recompiled into digitally native companies or they fail. At the same time human life is now on the verge of being controlled by technology all together. Recent airline issues have driven home the relationship between software and safety in what we are beginning to call socio-technical systems. These systems are so deeply complex and interconnected with society, safety and people that they have entered a class of building that rivals bridges and skyscrapers. Think of surgical software, self-driving cars and trains, as well as things like AI systems which make key decisions in finance, health, and culture. AirBnBs impact on racial issues. Facebooks impact on the elections. As companies bottom-lines become more and more based on good, healthy and resilient systems, the competency of those making design decisions must rise accordingly.
In addition, we all want to build better systems that are flexible and stable enough to handle change. And as we know change is continuous. This kind of system based thinking is critical to the architecture mindset. The three-fold combination of business value, technical stresses, and human systems changes in the environment form a set of deeply complex factors which impact the growth and resiliency of a system over time. Much akin the stresses that a tall building in a thunderstorm faces, with the added notion of possibly changing the building into an airplane if it would be better for the company! This highlights the focus of good architectural thinking and it is why Iasa is partnered with Barry O’Reilly to offer the complex-systems architecture course, titled anti-fragile architecture, and ultimately certification based on his ground-breaking work.
In anti-fragile systems the focus is on understanding how complexity can impact the system and using a combination of Flow First Design©, stressor evaluation, volatility-based decomposition to help understand systems which exhibit signs of VUCA (Volatility, Uncertainty, Complexity, Abiguity).
To understand more about complex systems watch Barry’s interview here.