It took me a long time to capture the idea concisely, but finally found way to talk about tradeoffs in a useful way, especially why some folks see tradeoffs everywhere, and others believe tradeoffs are rare: good tradeoffs are multi-dimensional.
Useful tradeoffs are multi-dimensional.
In some pockets of the industry, an axiom of software development is that deploying software quickly is at odds with thoroughly testing that software. One reason that teams believe this is because a fully automated deployment process implies that there’s no opportunity for manual quality assurance. In other pockets of the industry, the axiom is quite different: you can get both fast deployment and manual quality assurance by using feature flags to decouple deployment (shipping the code) and release (enabling new functionality).



