Performance budgets
Another way you can improve the UX of a service is by defining a performance budget. We talked about performance budgets very briefly in Chapter 5, Testing and Releasing. The concept is that for every code change, you measure its effect on system performance. If performance changes enough to take the service out of valid bounds, you need to stop working on features until you modify the application to get performance back to normal levels.
In Chapter 6, Capacity Planning, we said that tying goals to performance is dangerous. We said that this is because making changes and knowing the performance impact is hard. Instead, by measuring performance constantly and seeing how changes made for features affect system-wide performance, your team can make a cost-benefit analysis to determine how much effort is needed to meet your performance goals.
Performance budgets were first introduced to me by Lara Hogan. Lara is a very distinguished engineering manager, the author of Designing...