Chapter 5. Designing Antifragile Systems
Antifragility is beyond resilience or robustness. The resilient resists shocks and stays the same; the antifragile gets better.
Nassim Nicholas Taleb
Thinking in systems is vital in a world where services need to be designed seamlessly across many devices, and where organizations are becoming increasingly networked. Reasoning about all of the interacting elements in systems of people, systems of software, and systems of services, and making choices that optimize for system-level goals is undeniably a necessity for individuals working in high-performing organizations. Systems must continually sense and respond to changing market conditions and new opportunities—they must be inherently antifragile.
In this chapter, you’ll see how leading enterprises take a systems perspective to optimizing the alignment of organizational and technical boundaries. You’ll see how to apply concepts like the Theory of Constraints to enhance your models and determine the most useful. You’ll see the synergies between the domain-driven design approaches presented in Chapter 4 and the systems approaches presented here. Conclusively, you’ll see how both perspectives are vital in a holistic design process optimized for continuous adaptation. Then in Chapter 6, you’ll see advanced technical patterns for building antifragility into your software architecture, enabling full slices of autonomy right through your business.