Skip to main content

Principles for developing systems that are anti-fragile

I have been trying to make sense of what anti-fragility means and how do I use that in my day job.

As a Business Principal, I tend to work with the abstract but orchestrate a program of work that needs details. This makes my job a little difficult in the terms of designing for more self-preserving systems that preserve the spirit of the abstracted strategy or vision.

I came across an article from Daniel Russo on anti-fragility and his attempt at creating a manifesto similar to the manifesto for agile software development.

For more reading on Daniel Russo, here is his profile: http://djrusso.github.io

More reading from his paper here: https://www.sciencedirect.com/science/article/pii/S1877050916302290

This post is an attempt for me to understand what goes into developing a program that uses every opportunity to strengthen itself and achieve its objective - the vision. 

I liked the approach of principles for developing systems that are anti-fragile. It is a very valuable framework or lens through which I can view and design a program of work or a system.


Basic Concepts
Robust System 
A Robust or resilient system resists any shocks to the system and stays the same.
Adaptive System 
An adaptive system is the one that changes its behaviour based on the information available rather than have its behaviour defined at the time of design. Adaptive systems can be robust but are not necessarily anti-fragile.

Anti-Fragility

Antifragility is a property of systems that increase in capability, resilience, or robustness as a result of stressors, shocks, volatility, noise, mistakes, faults, attacks, or failures.


The 12 principles for developing systems that are anti-fragile
The Customer
Our highest priority is to satisfy the customer by building a non-linear, proactive, and self adaptive system
     Non linear: Inputs are crucial source of learning. So the system has to be designed for considering input not just as orders to execute, but as structural elements of the system Antifragility.
     Proactive: It has to be proactive in the the recognition of the error as element for the system improvement.
     Self adaptive: After the recognition of the error, it has to improve, adapting the system to recognise future similar error to be antifragile.


Intent and Interpretation
     Systems need to be built with the intent of learning from the errors and not to avoid errors since they are a crucial input.
     Systems need to be aware of the end state - that of addressing a customer need and design the means to achieve that end accordingly.

The Context
We welcome changing scenarios where unexpected events (Black Swans) are the real paradigm shifting entities
Intent and Interpretation
     Being aware of the context , recognising unexpected and highly impactful events is important 
     We also need to make sure that the systems learn from these events.

The Tolerance
We deliver assuring embedded and adaptive fault tolerance
Intent and Interpretation
     Having an ability to detect and correct errors is key to anti-fragility.

The stakeholders
All stakeholders, and the broader environment, lead the antifragile organization
2 dimensions that we need to be aware of
     Internal – the organization: It is the active part. The design, development and testing still rely on the organization, which has to carry out the system.
     External – the environment: It is the passive part. The broader environment is the natural source for errors, so the primary learning arena.

These two dimensions are perfectly complementary. The internal one sets up the system, while the external one shapes it, making it antifragile.

Intent and Interpretation
     Balancing the need for an arena that provides inputs, even nurturing an environment is key. Avoid isolating such environments from our systems since that would be counter-productive.
     Focus on the ability of the system to address these inputs as well.
The Team
Build antifragile projects around motivated, skilled and open minded people. Give them the environment and support they need, and trust them to get the job done
Intent and Interpretation
     Having a open minded team and providing them with the critical environment where they can get the trust, motivation and learning.

The Communication
The most efficient and effective method of building an antifragile organization is building on honest, open and transparent communication
Intent and Interpretation
     Enhancing team familiarity and hence spirit helps in reducing misses due to communication, increasing adaptiveness in responding to errors and thereby keep learning as systems.
The Exposure
Continuous exposure to faults and automatic fixing is the primary measure
Intent and Interpretation
     Systems need to be open for every one to understand why an outcome is achieved and how it is achieved.
     These questions will help in addressing any ways that can help deliver faster or deliver the right things that satisfy the client.
The Maintenance
An antifragile organization promotes a context aware environment. The stakeholders should be able to maintain a system indefinitely
The maintenance of a system should run indefinitely. This for three reasons:

     The system is self adaptive, so it grows like a human being. It receives stimuli which allows to make it stronger.
     It needs care. Like any human being, it may not be auto sufficient, it needs adjustments for its evolution. This level of attention may be only given by a context aware organization, which perceives the contingency of Antifragility.
     It uses ontologies. Ontologies are non linear and scalable technologies. Thus, they are the ideal ground for the adaptivity process. Such technologies represents a way to classify and recognize ongoing phenomena which are part of the system fitting.

Intent and Interpretation
     Building systems also means having meaningful way for all stakeholders to engage and make sense of the anti-fragility that they are building.
     Nurture is also critical that helps in keeping the learning environment that contributes to anti-fragility in the first place.

The Dimensions
Continuous attention to technical excellence, reality, redundancy
     Technical excellence: Skills are not just required by people, also from organization. An organization which does not care about technical excellence do not feel Antifragility as really contingent. Employees need to rely on both cutting edge technical tools, as also to the organization’s attention to solve customer’s problems. Even those problems that are not incurring yet but may incur soon. 
     Reality: The sense of reality leads the team and the organization in the definition of priorities and budget.
     Redundancy: The practical effect of non – linearity. Antifragile systems do not evolve linearly. They are redundant, profiting from continuous and similar stimuli.

Intent and Interpretation 
     Systems need to be cognizant of the fact that they can be anti-fragile only continuous attention is provided to the dimensions of technical excellence , the current reality of the environment and the effect of non-linear processes in their environment. 
     Non linear systems are not easily understood and often their impact is only perceivable in hind sight. Systems need to be aware of these effects and create redundancies. 
The Error
Error loving - the art of learning to be antifragile – is essential
Intent and Interpretation

     The ultimate essence of anti-fragility is to be have systems that are open to learning from errors
     Being open to errors means not blocking any errors or unknown inputs. It means to be able to accept and adapt with the errors and provide outcomes that satisfy the customer's needs. 
The Architecture
Antifragile architectures emerge from self – organizing, context aware teams
Intent and Interpretation
     Being open to organise as required is critical. 
     Recognise that designing linear systems and non-linear systems are different. There is no one way to designing non-linear systems since the design needs to be context-aware. 
     Learning from past experience becomes challenging and exploration becomes a way of life in anti-fragile systems.
The Reflection
At regular intervals, the developing team reflects about the context situation, on how to become more effective, then tunes and adjusts its behavior accordingly.
Intent and Interpretation
     Being aware of the change in context solves half the challenge
     Agile Software  development has enough mechanisms to address this and we can learn from that.


 Case Study
How should employees in an organisation learn as the organisation grows? 

Context:

Earlier, employees used to learn based on the need and reached out to all employees that they needed to learn and grow. Slowly, there were more wide-spread sessions on topics that people wanted others to know.

Now, Employees expect these learning sessions to be organised for them to learn any new topics. This has become an impediment to the organisation.

Is the system Anti-Fragile? How do the principles work in this context?

1.   The Customer: The customer here is the employee that needs to learn and grow within the organisation. They want to have access to resources that help them learn.
2.   The Context: The growth in terms of numbers and diversity in the geographic spread and knowledge areas is making it difficult for the information to diffuse organically. The experiences tend to be frustrating as they are not designed for self-discovery. 
3.   The Tolerance: The ability of the system to identify errors is very expensive since it is in terms of missed marked opportunities. The ability to correct is designed for linear systems where an experiment is scaled to a full fledged initiative and tends to be extremely sub-optimal in addressing customer's needs. An example is that of learning sessions across topics.
4.   The stakeholders: While the internal stake holders are typically active, they tend to generalise the environment and hence completely ignoring the errors that the system needs to thrive till it is too late. In this context, the loss of information diffusion was not visible till it became evident that the knowledge was not diffused enough for "Business as Usual" to continue.
5.   The Team: The team , today, has access to the right environment that motivate them and also help them with being open-minded. The organisation is conducive enough to help people with spaces where they can interpret behaviours today.
6.   The Communication: While the communication in the team is open, the communication with the stakeholders is typically non-cohesive and very ambiguous. This leads to a loss of inputs and no focus on errors.
7.   The Exposure: The system , today, is not exposed enough for the errors to be noticed right away. Hence the learning is severely restricted. The learning systems are not looked at in terms of knowledge diffusion and instead looked at capability development and hence errors are late and difficult to act on.
8.   The Maintenance: The maintenance of anti-fragility is very low. There was high involvement when the team started and the maintenance has been coming down for some time now. Employees are expected to pick up context from a very diffused culture and make their own learning pathway while errors there are not visible at all. Details on what fails in a culture is not  understood in detail.
9.   The Dimensions: While the focus on technical excellence is pretty high, the same cannot be said on reality and redundancy. The real costs is not apparent and hence not prioritised enough. The number of errors have been reducing in the learning culture leading to more errors in other areas.
10.                 The Error: The system is today reluctant with errors - having very little ability to learn from them. The system is exhibiting the bull-whip effect where the cause and effect is separated and hence unable to learn from the errors.
11.                 The Architecture: While the teams can organise themselves, the design of the system encourages linear design fallacies rather than avoid them. being context-aware when the design is being done tends to be an after thought, hence affecting anti-fragility 
12.                 The Reflection: An area where the organisation is really strong is the environment of reflection - where reflection happens at all levels. The fact that this case study is being published is a proof of the reflective nature of the organisation and the system / team. However, linear design fallacies creeps in every time.

Thoughts?






Comments

Popular posts from this blog

My Journey in Inquiry and Advocacy - An experience report

It is recently that I have consciously started practicing Inquiry. Let me explain. I am a consultant who constantly looks at the situation and comes up and implements the solution to progress from there. While I do that, I constantly use Inquiry as a means to progress - one of the key facilitation technique specifically in multiple stakeholder situations.

User Personas

User Personas are a very good tool for the product owners, business analysts or product managers to be able to co-create with designers. It is predominantly a product of the user research and should not be an amalgamation of demographic data. It is the best way for us to list all scenarios that a persona would take when they want to attain a goal. It is predominantly used to build empathy with user, focus the team and build consensus in a large diverse stakeholder group. The website I referred to is here:  https://www.smashingmagazine.com/2014/08/a-closer-look-at-personas-part-1/