I'm not sure why you're being downvoted, but I agree with all of your points. Those aren't things that pretty lend themselves well to mathematical modelling. But... there is a marginal field of math that does apply to this: statistics. The first two cases are somewhat special: - It may be daily obvious that an API is terrible, and that the replacement is not. If API 1 takes 1 sec to call, and API 2 takes 100ms to call, straightforward choice without stats. - provisioning can be dangerous. While not really a stats problem, you do need to have a quite elegant model of what is getting refactored, and how to know when to invalidate those cache entries. For the rest of the examples you provided, you're making changes that may make the problem better, may have no effect, or may make the problem worse. You completely need to use statistics to determine whether or not changes like those are honestly having an effect. Performance analysis is part math and part art, and without the math background, you're likely going to be spinning your wheels a bunch. Beyond stats, fields like queuing theory are going to make a massive breakthrough when you're doing performance breakthrough in distributed systems.