Software development is an activity that’s fraught with complexity, ambiguity, and therefore risk. Many organizations attempt to mitigate that risk through stringent processes, but there is a better way.
In nature, there are three types of systems.
- **Fragile** systems that break under stress, like a teacup.
- **Resilient** systems that resist stress, like a rock.
- **Antifragile** systems that become stronger when they are stressed, like your muscles when you exercise.
Most organizations attempt to build resilience, but do so in a way that nearly guarantees fragility. Designing for “antifragility” is a much better goal.
In this talk, you will learn about the concepts of antifragility, the concepts of teams (as opposed to working groups) and how we can apply antifragile concepts to make our teams less fragile:
- Why mass standardization and strict process control does not result in robustness.
- Long-lived teams may be a major cause of fragility.
- The proper role of an agile coach.
- Different teams in the same organization should look, act, and operate differently.
- The best way to stay stable and predictable is to embrace volatility and chaos.
- The unintended side-effects of intervening to fix the mistakes of a team.
- How to strengthen your team.