4 ms·
Short feedback loops make programs antifragile
"antifragility" is a concept popularized by Naseem Taleb to characterize a thing that _likes_ variability in its operating environment. This is distinct from "robust", which denotes a thing that is indifferent to variability.
His thesis being: real world environments are not given to control. Plus, robustness comes at a cost. So why not design a system that somehow improves (on average) every time it makes a mistake. His example of such systems being anything that nature designs.
Short feedback (making a source change and seeing the system changed) loops are a way to make programs antifragile. They, ofcourse, do not guarantee antifragility, but they make it likely. The more a system is being used, the more likely.
In case it is not clear: this works by making it easy for people to use "mistakes" to improve the program. These mistakes could be bugs, or could simply be using the program in unintended way, in which sense they can be seen as features. Or could be using the program in an unexpected environment (say, a new OS or framework).
Interestingly, this works better in an open setting (think public bug trackers, source code available), because ease of change is less of a motivator for programmer who is just being paid to work on the product, as compared to an actual user of the product who would have to work around the problem any which ways.
---
That short feedback loops are good is a well known fact amongst engineers. The contribution of this post is to point out the link with antifragility, and to demonstrate that there is at least one way in which that programs could benefit from bugs/unintended-uses/unexpected-environments.