Antifragility

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. It is a concept developed by Professor Nassim Nicholas Taleb in his book, Antifragile, and in technical papers. As Taleb explains in his book, antifragility is fundamentally different from the concepts of resiliency (i.e. the ability to recover from failure) and robustness (that is, the ability to resist failure). The concept has been applied in risk analysis, physics, molecular biology, transportation planning, engineering, Aerospace (NASA), and computer science.

Taleb defines it as follows in a letter to Nature responding to an earlier review of his book in that journal:

Antifragile versus robust/resilient
In his book, Taleb stresses the differences between antifragile and robust/resilient. "Antifragility is beyond resilience or robustness. The resilient resists shocks and stays the same; the antifragile gets better."

Antifragile versus adaptive/cognitive
An adaptive system is one that changes its behavior based on information available at time of utilization (as opposed to having the behavior defined during system design). This characteristic is sometimes referred to as cognitive. While adaptive systems allow for robustness under a variety of scenarios (often unknown during system design), they are not necessarily antifragile. In other words, the difference between antifragile and adaptive is the difference between a system that is robust under volatile environments/conditions, and one that is robust in a previously unknown environment.

Applications
The concept has been applied in physics, risk analysis, molecular biology, transportation planning, engineering, aerospace (NASA), megaproject management, and computer science.

In computer science, there is a structured proposal for an "Antifragile Software Manifesto", to react to traditional system designs. The major idea is to develop antifragility by design, building a system which improves from environment's input.