Part V. Scaling the System
In the final part of this book, we’ll examine how to prepare your system to scale (whether expanding or shrinking). It’s not easy to know what and when to consider system changes. While experience can inform your approach in different environments, relying solely on this experience increases your risk of bias-informed planning. Eventually, you are going to do the wrong thing. Instead of trying to attain perfection and always do the right thing, build the guardrails in your system that support you when you make an incorrect prediction so that your system can adapt sustainably to the humans who are part of the system.
The landscape of user expectations has changed, with visible places of customer (dis)satisfaction. And to maintain the trust of your users (and potential users) so that you have the opportunity to grow your systems, you need the following:
-
Capacity planning
-
Resilient on-call practices
-
Robust incident response to issues when you discover them (or worse, when your users find them)
-
Leadership that empowers and fosters learning